Prompt Application-Transparent Transaction Revalidation in Software Transactional Memory

Simone Economo, Emiliano Silvestri, Pierangelo Di Sanzo, Alessandro Pellegrini, and Francesco Quaglia


Published in: Proceedings of the 16th IEEE International Symposium on Network Computing and Applications
pdf Download PDF

Abstract:
Software Transactional Memory (STM) allows encapsulating shared-data accesses within transactions, executed with atomicity and isolation guarantees. The assessment of the consistency of a running transaction is performed by the STM layer at specific points of its execution, such as when a read or write access to a shared object occurs, or upon a commit attempt. However, performance and energy efficiency issues may arise when no shared-data read/write operation occurs for a while along a thread running a transaction. In this scenario, the STM layer may not regain control for a considerable amount of time, thus not being able to early detect if such transaction has become inconsistent in the meantime. To tackle this problem we present an STM architecture that, thanks to a lightweight operating system support, is able to perform a fine-grain periodic (hence prompt) revalidation of running transactions. Our proposal targets Linux and x86 systems and has been integrated with the open source TinySTM package. Experimental results with a port of the TPC-C benchmark to STM environments show the effectiveness of our solution.

BibTeX Entry:

@inproceedings{Eco17,
author = {Economo, Simone and Silvestri, Emiliano and Di Sanzo, Pierangelo and Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {Proceedings of the 16th IEEE International Symposium on Network Computing and Applications},
title = {Prompt Application-Transparent Transaction Revalidation in Software Transactional Memory},
year = {2017},
month = oct,
pages = {114--119},
publisher = {IEEE Computer Society},
series = {NCA},
doi = {10.1109/NCA.2017.8171349},
location = {Cambridge, MA, USA}
}