Computer Science and Information Systems 2008 Volume 5, Issue 2, Pages: 103-117
https://doi.org/10.2298/CSIS0802103D
Full text ( 359 KB)


Developing libraries using software transactional memory

Dias Ricardo (Universidade Nova de Lisboa, CITI - Centre for Informatics and Information Technology, and Departamento de Informática, Portugal)
Lourenço João (Universidade Nova de Lisboa, CITI - Centre for Informatics and Information Technology, and Departamento de Informática, Portugal)
Cunha Gonçalo (Universidade Nova de Lisboa, CITI - Centre for Informatics and Information Technology, and Departamento de Informática, Portugal)

Software transactional memory is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM). This paper discusses how to support revertible operations, such as memory allocation and release, within software libraries that will be used in software memory transactional contexts. The proposal is based in the extension of the transaction life cycle state diagram with new states associated to the execution of user-defined handlers. The proposed approach is evaluated in terms of functionality and performance by way of a use case study and performance tests. Results demonstrate that the proposal and its current implementation are flexible, generic and efficient. .

Keywords: transactions, software transactional memory, compensation actions, revertible operations