Exploiting Temporal and Spatial Constraints on Distributed Shared Objects

Gigabit network technologies have made it possible to combine workstations into a distributed, massively-parallel computer system. Middleware, such as distributed shared objects (DSO), attempts to improve programmability of such systems, by providing globally accessible 'object' abstractions. Researchers have developed consistency protocols for replicated 'memory' objects. These protocols are well suited to scientific applications but less suited to multimedia or groupware applications. We address the state sharing needs of complex distributed applications with: high-frequency symmetric accesses to shared objects; unpredictable and limited locality of accesses; dynamically changing sharing behavior; and potential data races. We show that a DSO system exploiting application-level temporal and spatial constraints on shared objects can outperform shared object protocols which do not exploit application-level constraints. We compare our S(emantic) DSO against entry consistency using a sample application having the four properties mentioned above.

[1]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[2]  Michael L. Scott,et al.  Distributed Shared Memory for New Generation Networks , 1995 .

[3]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[4]  Sang Hyuk Son,et al.  Synchronization of temporal constructs in distributed multimedia systems with controlled accuracy , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[5]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[6]  Marc Shapiro,et al.  Structure and Encapsulation in Distributed Systems: The Proxy Principle , 1986, ICDCS.

[7]  Karsten Schwan,et al.  Distributed shared abstractions (DSA) on large-scale multiprocessors , 1993 .

[8]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[9]  Karsten Schwan,et al.  Design and Analysis of a Parallel Molecular Dynamics Application , 1996, J. Parallel Distributed Comput..

[10]  K. Schwan,et al.  Ada dynamic load control mechanisms for distributed embedded battle management systems , 1993, [1993] Proceedings of the IEEE Workshop on Real-Time Applications.

[11]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[12]  Michael N. Nelson,et al.  An overview of the Spring system , 1994, Proceedings of COMPCON '94.

[13]  Mark D. Hill,et al.  A Unified Formalization of Four Shared-Memory Models , 1993, IEEE Trans. Parallel Distributed Syst..

[14]  Karsten Schwan,et al.  From interactive applications to distributed laboratories , 1998, IEEE Concurr..

[15]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[16]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[17]  Raghu V. Hudli,et al.  CORBA fundamentals and programming , 1996 .

[18]  Karsten Schwan,et al.  Indigo: user-level support for building distributed shared abstractions , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[19]  Sudhakar Yalamanchili,et al.  Adaptive resource allocation for embedded parallel applications , 1996, Proceedings of 3rd International Conference on High Performance Computing (HiPC).

[20]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

[21]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.

[22]  Harry Berryman,et al.  Distributed Memory Compiler Design for Sparse Problems , 1995, IEEE Trans. Computers.

[23]  Rajendra Yavatkar MCP: a protocol for coordination and temporal synchronization in multimedia collaborative applications , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[24]  Michael L. Scott,et al.  False sharing and its effect on shared memory performance , 1993 .

[25]  Mustaque Ahamad,et al.  Slow memory: weakening consistency to enhance concurrency in distributed shared memories , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[26]  Raphael A. Finkel,et al.  Extending The Dimensions of Consistency: Spatial Consistency and Sequential Segments , 1994 .

[27]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[28]  Russell Carter NAS Kernels on the Connection Machine RND-90-005 , 1990 .

[29]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

[30]  Alan L. Cox,et al.  TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems , 1994, USENIX Winter.