ACM Home Page
Please provide us with feedback. Feedback
Language support for lightweight transactions
Full text PdfPdf (224 KB)
Source ACM SIGPLAN Notices archive
Volume 38 ,  Issue 11  (November 2003) table of contents
Special Issue: Proceedings of the OOPSLA '03 conference
SESSION: Transactions and persistence table of contents
Pages: 388 - 402  
Year of Publication: 2003
ISSN:0362-1340
Also published in ...
Authors
Tim Harris  University of Cambridge Computer Laboratory, Cambridge, UK
Keir Fraser  University of Cambridge Computer Laboratory, Cambridge, UK
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 193,   Citation Count: 143
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/949343.949340
What is a DOI?

ABSTRACT

Concurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. We argue that these problems can be addressed by moving to a declarative style of concurrency control in which programmers directly indicate the safety properties that they require. In our scheme the programmer demarks sections of code which execute within lightweight software-based transactions that commit atomically and exactly once. These transactions can update shared data, instantiate objects, invoke library features and so on. They can also block, waiting for arbitrary boolean conditions to become true. Transactions which do not access the same shared memory locations can commit concurrently. Furthermore, in general, no performance penalty is incurred for memory accesses outside transactions.We present a detailed design of this proposal along with an implementation and evaluation. We argue that the resulting system (i) is easier for mainstream programmers to use, (ii) prevents lock-based priority-inversion and deadlock problems and (iii) can offer performance advantages.


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
 
5
Brinch Hansen, P. Edison -- a multiprocessor language. Software -- Practice and Experience 11, 4 (Apr. 1981), 325--361.
6
 
7
 
8
Harris, T. L. Design choices for language-based transactions. University of Cambridge Computer Laboratory Tech. Rep., Aug. 2003.
 
9
10
 
11
 
12
13
 
14
Hoare, C. A. R. Towards a theory of parallel programming. In Operating Systems Techniques (1972), vol. 9 of A.P.I.C. Studies in Data Processing, Academic Press, pp. 61--71.
15
 
16
17
18
 
19
Manson, J., and Pugh, W. Semantics of multithreaded Java. Tech. Rep. UCMP-CS-4215, Department of Computer Science, University of Maryland, College Park, Jan. 2002.
20
 
21
 
22
 
23
 
24
Schmid, H. A. On the efficient implementation of conditional critical regions and the construction of monitors. Acta Informatica 6, 3 (Aug. 1976), 227--249.
 
25
26

CITED BY  143