Reducing Rollbacks of Transactional Memory Using Ordered Shared Locks

  • Authors:
  • Ken Mizuno;Takuya Nakaike;Toshio Nakatani

  • Affiliations:
  • Tokyo Research Laboratory, IBM Japan, Ltd.,;Tokyo Research Laboratory, IBM Japan, Ltd.,;Tokyo Research Laboratory, IBM Japan, Ltd.,

  • Venue:
  • Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transactional Memory (TM) is a concurrency control mechanism that aims to simplify concurrent programming with reasonable scalability. Programmers can simply specify the code regions that access the shared data, and then a TM system executes them as transactions. However, programmers often need to modify the application logic to achieve high scalability on TM. If there is any variable that is frequently updated in many transactions, the program does not scale well on TM. We propose an approach that uses ordered shared locks in TM systems to improve the scalability of such programs. The ordered shared locks allow multiple transactions to update a shared variable concurrently without causing rollbacks or blocking until other transactions finish. Our approach improves the scalability of TM by applying the ordered shared locks to variables that are frequently updated in many transactions, while being accessed only once in each transaction. We implemented our approach on a software TM (STM) system for Java. In our experiments, it improved the performance of an hsqldb benchmark by 157% on 8 threads and by 45% on 16 threads compared to the original STM system.