Transparent Support for Partial Rollback in Software Transactional Memories

Alice Porfirio, Alessandro Pellegrini, Pierangelo Di Sanzo, and Francesco Quaglia

Published in: Proceedings of the International Euro-Par 2013 Conference
pdf Download PDF

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.

BibTeX Entry:

author = {Porfirio, Alice and Pellegrini, Alessandro and Di Sanzo, Pierangelo and Quaglia, Francesco},
booktitle = {Proceedings of the International Euro-Par 2013 Conference},
title = {Transparent Support for Partial Rollback in Software Transactional Memories},
year = {2013},
month = aug,
pages = {583–-594},
publisher = {LNCS, Springer-Verlag},
series = {Euro-Par},
doi = {10.1007/978-3-642-40047-6_59},
location = {Aachen, Germany}