Skip to main content

Synchronizing operations on multiple objects

  • Workshop on Run-Time Systems for Parallel Programming Matthew Haines, University of Wyoming, USA Koen Langendoen, Vrije Universiteit, The Netherlands Greg Benson, University of Califonia at Davis, USA
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1388))

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)

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  Google Scholar 

  2. H. E. Bal. Programming Distributed Systems. Prentice Hall International, Hemel Hempstead, UK, 1991.

    Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Article  Google Scholar 

  7. 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.

    Google Scholar 

  8. W. W. Collier. Reasoning About Parallel Architectures. Prentice-Hall, 1992.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. J. Gray and A. Reuter. Transaction Processing: Techniques and Concepts. Morgan Kaufmann, San Mateo, CA, 1992.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Pete Keleher. Lazy Release Consistency for Distributed Shared Memory. PhD thesis, Rice University, Dec. 1994.

    Google Scholar 

  13. Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, 28(9):690–691, 1979.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

José Rolim

Rights and permissions

Reprints 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

Publish with us

Policies and ethics