ACM Home Page
Please provide us with feedback. Feedback
Autolocker: synchronization inference for atomic sections
Full text PdfPdf (189 KB)
Source Annual Symposium on Principles of Programming Languages archive
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, USA
Pages: 346 - 358  
Year of Publication: 2006
ISBN:1-59593-027-2
Also published in ...
Authors
Bill McCloskey  UC Berkeley
Feng Zhou  UC Berkeley
David Gay  Intel Research
Eric Brewer  UC Berkeley and Intel Research
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 124,   Citation Count: 18
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/1111037.1111068
What is a DOI?

ABSTRACT

The movement to multi-core processors increases the need for simpler, more robust parallel programming models. Atomic sections have been widely recognized for their ease of use. They are simpler and safer to use than manual locking and they increase modularity. But existing proposals have several practical problems, including high overhead and poor interaction with I/O. We present pessimistic atomic sections, a fresh approach that retains many of the advantages of optimistic atomic sections as seen in "transactional memory" without sacrificing performance or compatibility. Pessimistic atomic sections employ the locking mechanisms familiar to programmers while relieving them of most burdens of lock-based programming, including deadlocks. Significantly, pessimistic atomic sections separate correctness from performance: they allow programmers to extract more parallelism via finer-grained locking without fear of introducing bugs. We believe this property is crucial for exploiting multi-core processor designs.We describe a tool, Autolocker, that automatically converts pessimistic atomic sections into standard lock-based code. Autolocker relies extensively on program analysis to determine a correct locking policy free of deadlocks and race conditions. We evaluate the expressiveness of Autolocker by modifying a 50,000 line high-performance web server to use atomic sections while retaining the original locking policy. We analyze Autolocker's performance using microbenchmarks, where Autolocker outperforms software transactional memory by more than a factor of 3.


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
 
4
M. Christiaens and K. de Bosschere. TRaDE: A topological approach to on-the-fly race detection in java programs. In Proc. of the Java Virtual Machine Research and Technology Symposium, April 2001.
 
5
Robert Ennals. Software transactional memory should not be obstruction-free. http://www.cambridge.intel-research.net/~rennals/faststm.html.
6
7
 
8
Cormac Flanagan and Stephen N. Freund. Type Inference Against Races. In SAS'04, pages 116--132, 2004.
 
9
Cormac Flanagan and Stephen N. Freund. Automatic Synchronization Correction. In Synchronization and Concurrency in Object-Oriented Languages (SCOOL), 2005.
10
11
 
12
Keir Fraser. Practical lock freedom. PhD thesis, Cambridge University Computer Laboratory, 2003. Also available as Technical Report UCAM-CL-TR-579.
 
13
Keir Fraser and Tim Harris. Concurrent programming without locks. http://www.cl.cam.ac.uk/Research/SRG/netos/lock-free.
 
14
J. N. Gray, R. A. Lorie, G. R. Putzolu, and I. L. Traiger. Granularity of locks and degrees of consistency in a shared data base. Technical report, IBM Research Laboratory, 1975. Report RJ 1654.
 
15
Tim Harris. Exceptions and side-effects in atomic blocks. In Proceedings of the 2004 Workshop on Concurrency and Synchronization in Java programs, pages 46--53, Jul 2004. Proceedings published as Memorial University of Newfoundland CS Technical Report 2004-01.
16
17
18
19
20
21
22
23
 
24
Kevin E. Moore, Mark D. Hill, and David A. Wood. Thread-level transactional memory. Technical report, University of Wisconsin, Mar 2005. CS-TR-2005-1524.
 
25
26
27
28
 
29
30
31
32
33
 
34
Y. Yu, T. L. Rodeheffer, and W. Chen. RaceTrack: Efficient detection of data race conditions via adaptive tracking. Technical report, Microsoft Research, 2005. MSR-TR-2005-54.

CITED BY  18

Collaborative Colleagues:
Bill McCloskey: colleagues
Feng Zhou: colleagues
David Gay: colleagues
Eric Brewer: colleagues