MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Software write detection for a distributed shared memory (1994) [102 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Matthew J. Zekauskas, Wayne A. Sawdon, Brian N. Bershad
In Proceedings of the First Symposium on Operating Systems Design and Implementation
http://www.cs.washington.edu/homes/bershad//osdi94midway.ps
Add To MetaCart

Abstract:

Most software-based distributed shared memory (DSM) systems rely on the operating system's virtual memory interface to detect writes to shared data. Strategies based on virtual memory page protection create two problems for a DSM system. First, writes can have high overhead since they are detected with a page fault. As a result, a page must be writtenmany times to amortize the cost of that fault. Second, the size of a virtual memory page is too big to serve as a unit of coherency, inducing false sharing. Mechanisms to handle false sharing can increase runtime overhead and may cause data to be unnecessarily communicated between processors. In this paper, we present a new method for write detection that solves these problems. Our method relies on the compiler and runtime system to detect writes to shared data without invoking the operating system. We measure and compare implementations of a distributed shared memory system using both strategies, virtual memory and compiler /runtime, running a range of applications on a small scale distributed memory multicomputer. We show that the new method has low average write latency and supports fine-grained sharing with low overhead. Further, we show that the dominant cost of write detection with either strategy is due to the mechanism used to handle fine-grain sharing. 1

Citations

1746 Time, clocks, and the ordering of events in a distributed system – Lamport - 1978
847 Memory coherence in shared virtual memory systems – Li, Hudak - 1989
705 SPLASH: Stanford Parallel Applications for Shared Memory – Singh, Weber, et al. - 1992
637 Memory consistency and event ordering in scalable shared-memory multiprocessors – Gharachorloo, Lenoski, et al. - 1990
578 Efficient software-based fault isolation – Wahbe, Lucco, et al. - 1993
530 Implementation and performance of Munin – Carter, Bennett, et al. - 1991
483 Fine-grained mobility in the Emerald system – Jul, Levy, et al. - 1988
477 TreadMarks: Distributed shared memory on standard workstations and operating systems – Keleher, Dwarkadas, et al. - 1994
422 Lazy release consistency for software distributed shared memory – Keleher, Cox, et al. - 1992
360 The Midway distributed shared memory system – Bershad, Zekauskas, et al. - 1993
323 Tempest and Typhoon: User-Level Shared Memory – Reinhardt, Larus, et al. - 1994
251 Mach: A New Kernel Foundation for UNIX Development – Accetta, Baron, et al. - 1986
213 The Amber system: Parallel programming on a network of multiprocessors – Chase, Amador, et al. - 1989
166 Fine-Grain Access Control for Distributed Shared Memory – Schoinas, Falsafi, et al. - 1994
162 Virtual Memory Primitives for User Programs – Appel, Li - 1991
134 The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System – Young, Tevanian, et al. - 1987
121 Adaptive software cache management for distributed shared memory architectures – Bennett, Carter, et al. - 1990
105 A unified formalization of four shared-memory models – Adve, Aggarwal - 1993
97 The design and evaluation of a shared object system for distributed memory machines – Scales, Lam - 1994
95 Memory Consistency Models – Mosberger - 1993
71 Hardware and Software Support for Efficient Exception Handling – Thekkath, Levy - 1994
50 Protection traps and alternatives for memory management of an object-or iented language – Moss - 1993
35 Efficient Data Breakpoints – Wahbe - 1992
29 The Mether system: A distributed shared memory for SunOS 4.0 – Minnich, Farber - 1989
11 Exposed buffering and subdatagram flow control for ATM LANs – Brustoloni - 1994
9 Supporting structured shared virtual memory under Mach – Bryant, Carini, et al. - 1991
3 Lazy Release Consistencyfor Software Distributed SharedMemory – Keleher, Cox, et al. - 1992
1 Orca: A Languange For Parallel Programming of Distributed Systems – Bal, Kaashoek, et al. - 1992