| An efficient meta-lock for implementing ubiquitous synchronization |
| Full text |
Pdf
(2.00 MB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
Denver, Colorado, United States
Pages: 207 - 222
Year of Publication: 1999
ISBN:1-58113-238-7
Also published in ...
|
|
Authors
|
|
Ole Agesen
|
Sun Microsystems Laboratories, One Network Drive, Burlington, MA
|
|
David Detlefs
|
Sun Microsystems Laboratories, One Network Drive, Burlington, MA
|
|
Alex Garthwaite
|
Sun Microsystems Laboratories, One Network Drive, Burlington, MA
|
|
Ross Knippel
|
Sun Microsystems, 901 San Antonio Road, Palo Alto, CA
|
|
Y. S. Ramakrishna
|
Sun Microsystems, 901 San Antonio Road, Palo Alto, CA
|
|
Derek White
|
Sun Microsystems Laboratories, One Network Drive, Burlington, MA
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 38, Citation Count: 24
|
|
|
ABSTRACT
Programs written in concurrent object-oriented languages, especially ones that employ thread-safe reusable class libraries, can execute synchronization operations (lock, notify, etc.) at an amazing rate. Unless implemented with utmost care, synchronization can become a performance bottleneck. Furthermore, in languages where every object may have its own monitor, per-object space overhead must be minimized. To address these concerns, we have developed a meta-lock to mediate access to synchronization data. The meta-lock is fast (lock + unlock executes in 11 SPARC™ architecture instructions), compact (uses only two bits of space), robust under contention (no busy-waiting), and flexible (supports a variety of higher-level synchronization operations). We have validated the meta-lock with an implementation of the synchronization operations in a high-performance product-quality Java™ virtual machine and report performance data for several large programs.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Ole Agesen , David Detlefs , Alex Garthwaite , Ross Knippel , Y.S. Ramakrishna , Derek White, An Efficient Meta-lock for Implementing Ubiquitous Synchronization, Sun Microsystems, Inc., Mountain View, CA, 1999
|
| |
2
|
|
| |
3
|
|
 |
4
|
David F. Bacon , Ravi Konuru , Chet Murthy , Mauricio Serrano, Thin locks: featherweight synchronization for Java, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.258-268, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
5
|
Lars Bak , John Duimovich , Jesse Fang , Scott Meyer , David Ungar, The new crop of Java virtual machines (panel), Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.179-182, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
6
|
Andrew Birrell. An Introduction to Programming with Threads. Digital Systems Research Center report no. 35, 1989.
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
 |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
William N. Joy. System and method for space efficient object locking using global and local locks. US Patent #5,761,670.
|
| |
16
|
William N. Joy and Guy L. Steele. System and method for space and time efficient object locking. US Patent #5,862,376.
|
| |
17
|
William N. Joy and Arthur Van Hoff. System and method for space efficient object locking using a data subarray and pointers. US Patent #5,701,470.
|
| |
18
|
|
| |
19
|
Andreas Krall and Mark Probst. Monitors and Exceptions: How to implement Java efficiently. In ACM 1998 Workshop on Java for High-Performance Computing, p. 15-24, Palo Alto, California, March 1998.
|
 |
20
|
|
| |
21
|
Xavier Leroy. The LinuxThreads library, http://pauillac.inria.fr/~xleroy/linuxthreads/index.html, 1997.
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
Gilles Muller, B~bara Moura, Fabrice Bellard, and Charles Consel. Harissa: A Flexible and Efficient Java Environment Mixing Bytecode and Compiled Code. in Proc. of the 3rd Conference on Object-Oriented Technologies and Systems (COOTS), p. 1-20, Berkeley, California, June 1997.
|
| |
26
|
John Neffinger. Which Java VM scales best? Java- World, August 1998. http://www'javaw~rld'c~m/javaworld/jw-08-1998/jw-08-volanomark.html. See also www.volano.com.
|
| |
27
|
Todd A. Proebsting , Gregg Townsend , Patrick Bridges , John H. Hartman , Tim Newsham , Scott A. Watterson, Toba: Java For Applications: A Way Ahead of Time (WAT) Compiler, University of Arizona, Tucson, AZ, 1997
|
 |
28
|
Ali-Reza Adl-Tabatabai , Michał Cierniak , Guei-Yuan Lueh , Vishesh M. Parikh , James M. Stichnoth, Fast, effective code generation in a just-in-time Java compiler, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.280-290, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
29
|
SPECjvm98 Benchmarks. August 19, 1998 release. http ://w w w. spec. org/os g/j vm98.
|
| |
30
|
Sun Microsystems, Inc. Java 2 on-line documentation: http:l/java.sun.com/products/jdk/1.21docs/api/ index.html.
|
| |
31
|
Hong Zhang, Sheng Liang, and Lars Bak. Personal communication of draft paper: An Efficient Monitor Scheme for the JavaTM Virtual Machine.
|
CITED BY 24
|
|
|
|
|
Ramesh Radhakrishnan , N. Vijaykrishnan , Lizy Kurian John , Anand Sivasubramaniam , Juan Rubio , Jyotsna Sabarinathan, Java Runtime Systems: Characterization and Architectural Implications, IEEE Transactions on Computers, v.50 n.2, p.131-146, February 2001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thomas Kotzmann , Christian Wimmer , Hanspeter Mössenböck , Thomas Rodriguez , Kenneth Russell , David Cox, Design of the Java HotSpot™ client compiler for Java 6, ACM Transactions on Architecture and Code Optimization (TACO), v.5 n.1, p.1-32, May 2008
|
|