Techniques for reducing consistency-related communication in distributed shared-memory systems
- 1 August 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 13 (3) , 205-243
- https://doi.org/10.1145/210126.210127
Abstract
Distributed shared memory (DSM) is an abstraction of shared memory on a distributed-memory machine. Hardware DSM systems support this abstraction at the architecture level; software DSM systems support the abstraction within the runtime system. One of the key problems in building an efficient software DSM system is to reduce the amount of communication needed to keep the distributed memories consistent. In this article we present four techniques for doing so: software release consistency; multiple consistency protocols; write-shared protocols; and an update-with-timeout mechanism. These techniques have been implemented in the Munin DSM system. We compare the performance of seven Munin application programs: first to their performance when implemented using message passing, and then to their performance when running on a conventional software DSM system that does not embody the preceding techniques. On a 16-processor cluster of workstations, Munin's performance is within 5% of message passing for four out of the seven applications. For the other three, performance is within 29 to 33%. Detailed analysis of two of these three applications indicates that the addition of a function-shipping capability would bring their performance to within 7% of the message-passing performance. Compared to a conventional DSM system, Munin achieves performance improvements ranging from a few to several hundred percent, depending on the application.Keywords
This publication has 12 references indexed in Scilit:
- Limits to low-latency communication on high-speed networksACM Transactions on Computer Systems, 1993
- Hiding shared memory reference latency on the Galactica Net distributed shared memory architectureJournal of Parallel and Distributed Computing, 1992
- Orca: a language for parallel programming of distributed systemsIEEE Transactions on Software Engineering, 1992
- Implementation and performance of MuninPublished by Association for Computing Machinery (ACM) ,1991
- APRILPublished by Association for Computing Machinery (ACM) ,1990
- Mirage: a coherent distributed shared memory designPublished by Association for Computing Machinery (ACM) ,1989
- Memory coherence in shared virtual memory systemsACM Transactions on Computer Systems, 1989
- The V distributed systemCommunications of the ACM, 1988
- Fine-grained mobility in the Emerald systemACM Transactions on Computer Systems, 1988
- Cache coherence protocols: evaluation using a multiprocessor simulation modelACM Transactions on Computer Systems, 1986