Skip to main content

Efficient extensible synchronization in Sather

  • Conference paper
  • First Online:
Scientific Computing in Object-Oriented Parallel Environments (ISCOPE 1997)

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

  • 113 Accesses

Abstract

Sather, a parallel object-oriented programming language developed at ICSI, offers advanced thread synchronization constructs separating locking mechanism and policies. While a lock management system provides a general locking mechanism, synchronization objects define and implement different extensible policies. Commonly used synchronization objects such as mutual exclusion and reader/writer locks are provided by the standard Sather library. Synchronization objects with more complex semantics can be defined by the user. The conjunctive and disjunctive acquisition of collections of locks and the deadlock detection are distinct features of Sather supported by the locking mechanism. This paper introduces the Sather synchronization constructs and presents the design and implementation of a lock management runtime system. We argue that a clean, object-oriented design allows us to support sophisticated synchronization policies while preserving efficiency on distributed computing platforms. The system is fully implemented and runs on several platforms including a network of symmetric multiprocessors connected by a fast, user-level, low latency communications network.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. W.E. Snaman Jr., D.W. Thiel: The VAX/VMS Distributed Lock Manager. Digital Technical Journal, September 1987.

    Google Scholar 

  2. A. Bhide, S. Shepler: A highly available lock manager for HA-NFS. Proc. Summer 1992 Usenix Conf., Usenix Association, Berkeley, pp. 177–184, 1992.

    Google Scholar 

  3. L. Daynes, O. Gruber, P Valduriez: Locking in OODBMS clients supporting nested transactions. Proc. 11th Intl. Conf. on Data Engineering, IEEE Computer Society Press, Los Alamitos, pp. 316–323, 1995.

    Google Scholar 

  4. M. Aldred, I. Gertner, S. McKellar: A Distributed Lock Manager on fault-tolerant MPP. Proc. 28th Hawaii Intl. Conf. on System Sciences, Vol. 1, IEEE Computer Society Press, Los Alamitos, pp. 134–136, 1995.

    Google Scholar 

  5. T. Stiemerling, T Wilkinson, A. Saulsbury: Implementing DVSM on the TOPSY Multicomputer. Symposium on Experiences with Distributed and Multiprocessor Systems, Newport Beach, 1992, Usenix Assoc., Berkeley, pp. 263–278, 1992.

    Google Scholar 

  6. G. Hermannsson, L. Wittie: Fast Locks in Distributed Shared Memory Systems. Proceedings of the 27th Hawaii Intl. Conf. on System Sciences, Vol. 1, IEEE Comp. Soc. Press, Los Alamitos, pp. 574–583, 1994.

    Google Scholar 

  7. G.D. Parrington, S.K. Shrivastava, S.M. Wheaten The design and implementation of Arjuna. Computing Systems 8(3):255–308, 1995.

    Google Scholar 

  8. B.N. Bershad, E.D. Lazovska, and H.M. Henry: Presto: A System for Object-Oriented Parallel Programming. Software-Practice and Experience 18(8):713–732,1988.

    Google Scholar 

  9. S. Omohundro: The sather programming language. Dr. Dobb's Journal 18(11):42–48, 1993.

    Google Scholar 

  10. C. Szyperski. S. Omohundro, S. Murer: Engineering a programming language: The type and class system of Sather. J. Gutknecht (Ed.), Programming Languages and System Architectures, Springer-Verlag, pp. 208–227, 1993.

    Google Scholar 

  11. C.A.R. Hoare: Towards a theory of parallel programming. Operating Systems Techniques, C.A.R. Hoare, R.H. Perrot (Eds.), Academic Press, London, pp. 61–71, 1972.

    Google Scholar 

  12. J. Gosling, B. Joy, G.L. Steele; The Java Language Specification. Addison-Wesley, Reading, Mass., 1996.

    MATH  Google Scholar 

  13. C.A.R. Hoare: Monitors: an operating system structuring concept. Comm. of the ACM 17(11):549–557,1974.

    Article  MATH  Google Scholar 

  14. C.-C. Lim: A Parallel, Object-Oriented System for Realizing Reusable and Efficient Data Abstractions. Ph.D. thesis, University of California at Berkeley, 1993.

    Google Scholar 

  15. C. Heiner: Parallel Optimizations: Advanced Constructs and Compiler Optimizations for a Parallel, Object-Oriented, Shared Memory Language Running on a Distributed System. Ph.D. thesis, University of Fribourg, Switzerland, 1997.

    Google Scholar 

  16. The Institute of Electrical and Electronics Engineers. Portable Operating System Interface (POSIX)-Part 1: Amendment 2: Threads Extensions [C Language]. POSIX P1003.4a/D7. April, 1993.

    Google Scholar 

  17. T. Johnson: A Performance Comparison of Fast Distributed Mutual Exclusion Algorithms. Proceedings of the 9th International Parallel Processing Symposium, IEEE Computer Society Press, Los Alamitos, California, 1995.

    Google Scholar 

  18. T.E. Anderson: The performance of spin lock alternatives for shared multiprocessors. IEEE Transaction on Parallel and Distributed Systems 1(1):6–16, January 1990.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yutaka Ishikawa Rodney R. Oldehoeft John V. W. Reynders Marydell Tholburn

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag

About this paper

Cite this paper

Quittek, J.W., Weissman, B. (1997). Efficient extensible synchronization in Sather. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-63827-X_45

Download citation

  • DOI: https://doi.org/10.1007/3-540-63827-X_45

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63827-8

  • Online ISBN: 978-3-540-69656-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics