Transparent support for partial rollback in software transactional memories

  • Authors:
  • Alice Porfirio;Alessandro Pellegrini;Pierangelo Di Sanzo;Francesco Quaglia

  • Affiliations:
  • DIAG, Sapienza, University of Rome, Italy;DIAG, Sapienza, University of Rome, Italy;DIAG, Sapienza, University of Rome, Italy;DIAG, Sapienza, University of Rome, Italy

  • Venue:
  • Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Software Transactional Memory (STM) paradigm has gained momentum thanks to its ability to provide synchronization transparency in concurrent applications. With this paradigm, accesses to data structures that are shared among multiple threads are carried out within transactions, which are properly handled by the STM layer with no intervention by the application code. In this article we propose an enhancement of typical STM architectures which allows supporting partial rollback of active transactions, as opposed to the typical case where a rollback of a transaction entails squashing all the already-performed work. Our partial rollback scheme is still transparent to the application programmer and has been implemented for x86-64 architectures and for the ELF format, thus being largely usable on POSIX-compliant systems hosted on top of off-the-shelf architectures. We integrated it within the TinySTM open-source library and we present experimental results for the STAMP STM benchmark run on top of a 32-core HP ProLiant server.