Y-Invalidate: A New Protocol for Implementing Weak Consistency in DSM Systems

  • Authors:
  • Yosi Ben-Asher;Dimitry Podvolny

  • Affiliations:
  • Computer Science Department, Haifa University, Haifa, Israel. yosi@cs.haifa.ac.il;Computer Science Department, Haifa University, Haifa, Israel

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this work we propose and implement a new variant of the well-known write invalidate protocol called “Y-invalidate.” Whereas the former protocol required that every copy of a page be invalidated every time that page is updated, our variant invalidates a copy of a page at process A only at the next synchronization point which is relevant to A and or if the copy was modified by the owner's process after the page was copied to A. We thus avoid invalidating copies of pages that were modified but never read after modification, and avoid, of course, the associated overhead. Y-Invalidate is basically a weak-consistency protocol. Its main advantage is that it implements weak consistency without the need to “merge” copies of a page that were updated in different machines. To the best of our knowledge, this is the first variant of weak consistency protocols which does not “merge” multiple copies of pages. Unlike other variants of weak consistency, Y-invalidate supports implicit synchronization points in the program by invalidating copies of shared memory pages that are referenced by while-loops. In this way, Y-invalidate approximates strict consistency. The Y-invalidate protocol was implemented in the ParC system, which is a powerful parallel extension of the C language. The ParC compiler was modified to detect some of the implicit synchronization points in the source code. Experimental results show significant improvement compared to both the traditional write-invalidate protocol and weak consistency.