Check out the new USENIX Web site. next up previous
Next: Basic Programming Model Up: Software DSM Previous: Software DSM

Lazy Release Consistency

The most frequently used consistency model in software DSM is Lazy Release Consistency (LRC) [19,6], in which the invalidations are propagated at acquire time. Acquire and release are the two explicit synchronization operations required in release consistency model and correspond to lock acquire and lock release respectively. A barrier is a global synchronization operation, implemented as a release followed by an acquire. In LRC, the updates are detected in software by computing diffs between the dirty page and a snapshot of the clean copy of the page.

The protocol that we chose to implement on VIA is HLRC [35]. The HLRC protocol implements a multiple-writer scheme by selecting a home for each page, to which updates are sent. The basic idea is to compute diffs at the end of an interval to detect updates and to transfer the updates as diffs to their homes. As a result, the home copy is up-to-date and can be used to update other non-home copies on demand. This protocol has been shown to have very good scalability: the number of messages necessary to update all copies is linear in the number of nodes and the memory overhead is constant [35]. The home-based protocol has also been shown to suit well with user-level memory-mapped communication because pages can be fetched from homes with no copy and diffs can be applied directly on the home's copy [15].

In software DSM, the explicit synchronization operations (acquire, release and barrier) are implemented using message passing. Each lock has a home through which the current owner of the lock is found. Usually, a distributed queue is used to implement queuing for lock acquires. Barriers can be implemented with a linear number of messages using a barrier manager or hierarchically using a logarithmic number of messages. In release consistent software DSM, invalidations are propagated as a list of write-notices at synchronization time.


next up previous
Next: Basic Programming Model Up: Software DSM Previous: Software DSM
Murali Rangarajan 2000-08-09