• 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