Abstract
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.
This research is supported by a PIONIER grant from the Netherlands Organization for Scientific Research (N.W.O)
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Thomas E. Anderson, David Culler, David A. Patterson, and the NOW team. A case for NOW (networks of workstations). IEEE Micro, 15(1):54–64, Feb. 1995.
H. E. Bal. Programming Distributed Systems. Prentice Hall International, Hemel Hempstead, UK, 1991.
H. E. Bal, M. F. Kaashoek, and A. S. Tanenbaum. Orca: A language for parallel programming of distributed system. IEEE Transactions on Software Engineering, 18(3):190–205, March 1992.
Henri E. Bal, Raoul Bhoedjang, Rutger Hofman, Ceriel Jacobs, Koen Langendoen, Tim Rühl, and M. Frans Kaashoek. Portability in the Orca shared object system. Submitted for publication, 1997.
Nanette J. Boden, Danny Cohen, Robert E. Felderman, Alan E. Kulawik, Charles L. Seitz, Jakov N. Seizovic, and Wen-King Su. Myrinet: A gigabit-persecond local area network. IEEE Micro, 15(1):29–36, Feb. 1995.
John B. Carter, John K. Bennett, and Willy Zwaenepoel. Techniques for reducing consistency-related communication in distributed shared-memory systems. ACM Transactions on Computer Systems, 13(3):205–243, Aug. 1995.
Miguel Castro, Paulo Guerdes, Manuel Sequeira, and Manuel Costa. Efficient and flexible object sharing. In Proc. 1996 Int. Conf. on Parallel Processing, volume I, pages 128–137, Bloomingdale, IL, Aug. 1996.
W. W. Collier. Reasoning About Parallel Architectures. Prentice-Hall, 1992.
Alan Fekete, M. Frans Kaashoek, and Nancy Lynch. Implementing sequentially consistent shared objects using broadcast and point-to-point communication. In Proc. 15th Int. Conf. on Distributed Computing Systems, pages 439–449, Vancouver, Canada, May 1995.
J. Gray and A. Reuter. Transaction Processing: Techniques and Concepts. Morgan Kaufmann, San Mateo, CA, 1992.
Kirk L. Johnson, M. Frans Kaashoek, and Deborah A. Wallach. CRL: High-performance all-software distributed shared memory. In Proc. 15th ACM Symp. on Operating Systems Principles, pages 213–228, Copper Mountain, CO, Dec. 1995.
Pete Keleher. Lazy Release Consistency for Distributed Shared Memory. PhD thesis, Rice University, Dec. 1994.
Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, 28(9):690–691, 1979.
Martin C. Rinard, Daniel J. Scales, and Monica S. Lam. Jade: A highlevel, machine-independent language for parallel programming. IEEE Computer, 26(6):28–38, June 1993.
Tim Rühl, Henri Bal, Raoul Bhoedjang, Koen Langendoen, and Gregory Benson. Experience with a portability layer for implementing parallel programming systems. In Proc. Int. Conf. on Parallel and Distributed Processing Techniques and Applications, pages 1477–1488, Sunnyvale, CA, Aug. 1996.
Tim Rühl and Henri E. Bal. Optimizing atomic functions using compile-time information. In Proc. 1995 Programming Models for Massively Parallel Computers, pages 68–75, Berlin, Germany, Oct. 1995.
Daniel Scales, Kourosh Gharachorloo, and Chandramohan A. Thekkath. Shasta: A low overhead, software-only approach for supporting fine-grain shared memory. In Proc. 7th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, pages 174–185, Cambridge, MA, Oct. 1996.
Gregory V. Wilson and Henri E. Bal. Using the Cowichan problems to assess the usability of Orca. IEEE Parallel and Distributed Technology, 4(3):36–44, fall 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rühl, T., Bal, H.E. (1998). Synchronizing operations on multiple objects. In: Rolim, J. (eds) Parallel and Distributed Processing. IPPS 1998. Lecture Notes in Computer Science, vol 1388. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-64359-1_684
Download citation
DOI: https://doi.org/10.1007/3-540-64359-1_684
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64359-3
Online ISBN: 978-3-540-69756-5
eBook Packages: Springer Book Archive