A Uniform Transactional Execution Environment for Java

  • Authors:
  • Lukasz Ziarek;Adam Welc;Ali-Reza Adl-Tabatabai;Vijay Menon;Tatiana Shpeisman;Suresh Jagannathan

  • Affiliations:
  • Dept. of Computer Sciences, Purdue University, West Lafayette IN 47907;Programming Systems Lab, Intel Corporation, Santa Clara, CA 95054;Programming Systems Lab, Intel Corporation, Santa Clara, CA 95054;Programming Systems Lab, Intel Corporation, Santa Clara, CA 95054;Programming Systems Lab, Intel Corporation, Santa Clara, CA 95054;Dept. of Computer Sciences, Purdue University, West Lafayette IN 47907

  • Venue:
  • ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transactional memory (TM) has recently emerged as an effective tool for extracting fine-grain parallelism from declarative critical sections. In order to make STM systems practical, significant effort has been made to integrate transactions into existing programming languages. Unfortunately, existing approaches fail to provide a simple implementation that permits lock-based and transaction-based abstractions to coexist seamlessly. Because of the fundamental semantic differences between locks and transactions, legacy applications or libraries written using locks can not be transparently used within atomic regions. To address these shortcomings, we implement a uniform transactional execution environment for Java programs in which transactions can be integrated with more traditional concurrency control constructs. Programmers can run arbitrary programs that utilize traditional mutual-exclusion-based programming techniques, execute new programs written with explicit transactional constructs, and freely combine abstractions that use both coding styles.