DocumentCode
625666
Title
Composing Relaxed Transactions
Author
Gramoli, Vincent ; Guerraoui, R. ; Letia, Mihai
Author_Institution
Univ. of Sydney, Sydney, NSW, Australia
fYear
2013
fDate
20-24 May 2013
Firstpage
1171
Lastpage
1182
Abstract
As the classic transactional abstraction is sometimes considered too restrictive in leveraging parallelism, a lot of work has been devoted to devising relaxed transactional models with the goal of improving concurrency. Nevertheless, the quest for improving concurrency has somehow led to neglect one of the most appealing aspects of transactions: software composition, namely, the ability to develop pieces of software independently and compose them into applications that behave correctly in the face of concurrency. Indeed, a closer look at relaxed transactional models reveals that they do jeopardize composition, raising the fundamental question whether it is at all possible to devise such models while preserving composition. This paper shows that the answer is positive. We present outheritance, a necessary and sufficient condition for a (potentially relaxed) transactional memory to support composition. Basically, outheritance requires child transactions to pass their conflict information to their parent transaction, which in turn maintains this information until commit time. Concrete instantiations of this idea have been used before, classic transactions being the most prevalent example, but we believe to be the first to capture this as a general principle as well as to prove that it is, strictly speaking, equivalent to ensuring composition. We illustrate the benefits of outheritance using elastic transactions and show how they can satisfy outheritance and provide composition without hampering concurrency. We leverage this to present a new (transactional) Java package, a composable alternative to the concurrency package of the JDK, and evaluate efficiency through an implementation that speeds up state of the art software transactional memory implementations (TL2, LSA, SwissTM) by almost a factor of 3.
Keywords
Java; concurrency control; parallel processing; software packages; storage management; transaction processing; JDK; LSA; SwissTM; TL2; child transaction; concurrency package; conflict information; elastic transaction; parallelism; parent transaction; relaxed transactional model; software composition; software transactional memory implementation; transactional Java package; transactional abstraction; Concurrent computing; Data structures; Face; History; Semantics; Software; System recovery; multicore processing; scalability; transactional memory;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on
Conference_Location
Boston, MA
ISSN
1530-2075
Print_ISBN
978-1-4673-6066-1
Type
conf
DOI
10.1109/IPDPS.2013.42
Filename
6569894
Link To Document