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.
Preview
Unable to display preview. Download preview PDF.
References
W.E. Snaman Jr., D.W. Thiel: The VAX/VMS Distributed Lock Manager. Digital Technical Journal, September 1987.
A. Bhide, S. Shepler: A highly available lock manager for HA-NFS. Proc. Summer 1992 Usenix Conf., Usenix Association, Berkeley, pp. 177–184, 1992.
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.
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.
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.
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.
G.D. Parrington, S.K. Shrivastava, S.M. Wheaten The design and implementation of Arjuna. Computing Systems 8(3):255–308, 1995.
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.
S. Omohundro: The sather programming language. Dr. Dobb's Journal 18(11):42–48, 1993.
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.
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.
J. Gosling, B. Joy, G.L. Steele; The Java Language Specification. Addison-Wesley, Reading, Mass., 1996.
C.A.R. Hoare: Monitors: an operating system structuring concept. Comm. of the ACM 17(11):549–557,1974.
C.-C. Lim: A Parallel, Object-Oriented System for Realizing Reusable and Efficient Data Abstractions. Ph.D. thesis, University of California at Berkeley, 1993.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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