Impact of Version Management on Transactional Memories' Performance
Felipe L. Teixeira, Mauricio Lima Pilla, André Rauber Du Bois, Daniel Mossé · 2015
Software Transactional Memory (STM) is a synchronization method proposed as an alternative to lock-based synchronization. It provides a higher-level of abstraction that is easier to program, and that enables software composition. Transactions are defined by programmers, but the runtime system is responsible for detecting conflicts and avoiding race conditions. One of the design axis in STMs is how version management is implemented in order to secure atomicity. There are two type of version management: Eager Versioning and Lazy Versioning. In this work, we evaluate the version management options implemented in Tiny STM through an orthogonal analysis and performance evaluation.