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 :
بازگشت