Synchronizing Operations on Multiple Objects

Parallel programming on distributed memory systems is one of the most challenging research areas in parallel computing today. Objectbased parallel programming languages are an important class of languages for such systems. Shared objects allow the programmer to deal with data partitioning, communication, and synchronization in a highlevel manner. Synchronizing operations on a single object is well. understood. Dealing with synchronization on multiple objects distributed over the available processors, however, is still an open issue. In this paper, we will present an abstraction, called weavers, that is used to synchronize operations on multiple objects, and show how weavers are applied in a runtime support system for atomic functions on multiple objects.

[1]  Henri E. Bal,et al.  Using the Cowichan problems to assess the usability of Orca , 1996, IEEE Parallel Distributed Technol. Syst. Appl..

[2]  P. Keleher,et al.  Lazy release consistency for distributed shared memory , 1996 .

[3]  Miguel Castro,et al.  Efficient and flexible object sharing , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[4]  Henri E. Bal,et al.  Experience with a Portability Layer for Implementing Parallel Prgroamming Systems , 1996, PDPTA.

[5]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[6]  Nancy A. Lynch,et al.  Implementing sequentially consistent shared objects using broadcast and point-to-point communication , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[7]  Koen Langendoen,et al.  Portability in the Orca Shared Object System , 1997 .

[8]  Kourosh Gharachorloo,et al.  Shasta: a low overhead, software-only approach for supporting fine-grain shared memory , 1996, ASPLOS VII.

[9]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[10]  Monica S. Lam,et al.  Jade: a high-level, machine-independent language for parallel programming , 1993, Computer.

[11]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[12]  H.E. Bal,et al.  Optimizing atomic functions using compile-time information , 1995, Programming Models for Massively Parallel Computers.

[13]  Kirk L. Johnson,et al.  CRL: high-performance all-software distributed shared memory , 1995, SOSP.

[14]  Willy Zwaenepoel,et al.  Techniques for reducing consistency-related communication in distributed shared-memory systems , 1995, TOCS.

[15]  Henri E. Bal Programming distributed systems , 1990 .

[16]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[17]  William W. Collier,et al.  Reasoning about parallel architectures , 1992 .