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.
Porfirio, A., Pellegrini, A., Di Sanzo, P., Quaglia, F. (2013). Transparent Support for Partial Rollback in Software Transactional Memories. In Euro-Par 2013: Parallel Processing (pp.583-594). HEIDELBERGER PLATZ 3, D-14197 BERLIN, GERMANY : SPRINGER-VERLAG BERLIN [10.1007/978-3-642-40047-6_59].
Transparent Support for Partial Rollback in Software Transactional Memories
Pellegrini, Alessandro;Quaglia, Francesco
2013-08-01
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.File | Dimensione | Formato | |
---|---|---|---|
Por13.pdf
solo utenti autorizzati
Tipologia:
Documento in Pre-print
Licenza:
Copyright dell'editore
Dimensione
160.26 kB
Formato
Adobe PDF
|
160.26 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.