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.
2017, 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA), Pages 157-162
Prompt Application-Transparent Transaction Revalidation in Software Transactional Memory (04b Atto di convegno in volume)
Economo Simone, Silvestri Emiliano, DI SANZO Pierangelo, Pellegrini Alessandro, Quaglia Francesco
ISBN: 978-153861465-5; 978-1-5386-1464-8