ACM Home Page
Please provide us with feedback. Feedback
Eliminating synchronization-related atomic operations with biased locking and bulk rebiasing
Full text PdfPdf (384 KB)
Source ACM SIGPLAN Notices archive
Volume 41 ,  Issue 10  (October 2006) table of contents
Proceedings of the 2006 OOPSLA Conference
SESSION: Concurrency table of contents
Pages: 263 - 272  
Year of Publication: 2006
ISSN:0362-1340
Also published in ...
Authors
Kenneth Russell  Sun Microsystems, Inc.
David Detlefs  MIT
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 91,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1167515.1167496
What is a DOI?

ABSTRACT

The Java™ programming language contains built-in synchronization primitives for use in constructing multithreaded programs. Efficient implementation of these synchronization primitives is necessary in order to achieve high performance.Recent research [9, 12, 10, 3, 7] has focused on the run-time elimination of the atomic operations required to implement object monitor synchronization primitives. This paper describes a novel technique called store-free biased locking which eliminates all synchronization-related atomic operations on uncontended object monitors. The technique supports the bulk transfer of object ownership from one thread to another, and the selective disabling of the optimization where unprofitable, using epoch-based bulk rebiasing and revocation. It has been implemented in the production version of the Java HotSpot™VM and has yielded significant performance improvements on a range of benchmarks and applications. The technique is applicable to any virtual machine-based programming language implementation with mostly block-structured locking primitives.


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
2
 
3
Bacon, D. F. and Fink, S. Method and apparatus to provide concurrency control over objects without atomic operations on non-shared objects. U.S. Patent Number 6,772,153, issued August 3, 2004. Assignee: International Business Machines Corporation.
 
4
Bak, L. and Lindholm, T. G. Method and apparatus for concurrent thread synchronization. U.S. Patent Number 6,167,424, issued December 26, 2000. Assignee: Sun Microsystems, Inc.
 
5
Dice, D. Implementing fast Java monitors with relaxed locks. In proceedings of the Java Virtual Machine Research and Technology Symposium (JVM '01), April 2001, pp. 79--90.
 
6
Dice, D. Personal communication.
 
7
Gomes, B. A., Bak, L., and Stoutamire, D. P. Method and apparatus for speculatively locking objects in an object-based system. U.S. Patent Number 6,487,652, issued November 26, 2002. Assignee: Sun Microsystems, Inc.
 
8
9
 
10
Kawachiya, K. Ph.D thesis, Graduate School of Media and Governance at Keio University, 2005.
 
11
 
12
Onodera, T., Kawachiya, K., and Koseki, K. Lock reservation for Java reconsidered. In proceedings of ECOOP '04, June 2004, pp. 559--583.
 
13
Paleczny, M., Vick, C., and Click, C. The Java HotSpot™server compiler. In proceedings of the Java Virtual Machine Research and Technology Symposium (JVM '01), April 2001.
14
 
15
Schmidt, R. W. System and method for facilitating safepoint synchronization in a multithreaded computer system. U.S. Patent Number 6,523,059, issued February 18, 2003. Assignee: Sun Microsystems, Inc.
 
16
Stoodley, M. Accelerating Java synchronization in Just-In-Time compiler-generated code. 3rd Workshop on Compiler-Driven Performance, October 2004. linebreak http://www.cs.ualberta.ca/~amaral/cascon/CDP04/
17


Collaborative Colleagues:
Kenneth Russell: colleagues
David Detlefs: colleagues