A Novel N-Retry Transactional Memory Model For Multi-Thread Programming

Kun Lu,Changhao Yan,Hai Zhou,Dian Zhou,Xuan Zeng
DOI: https://doi.org/10.1109/ISPA/IUCC.2017.00124
2017-01-01
Abstract:Transaction memory (TM) is a programming friendly technology for thread synchronization in parallel programming paradigm. Transaction memory maintains Atomicity, Consistency, Isolation and Durability (ACID) characters of transactions. When data conflicts in multi-thread paradigm, the transaction has to be aborted, rolled back, and executed again and again until the transaction commits successfully. Although such infinitely retrying strategy of TM has only one exit and the programming flow of applications is very simple, its parallel efficiency is not high enough. In this paper, we proposed a new transaction memory model for parallel programming. When the transaction aborts N times for the reason of data conflict, we will append this transaction to the tail of task queue. We implement this N-retry TM model in software and hardware transaction memory platform. The experimental results show that the proposed TM model can reduce 40% of transaction aborts, and improve the parallel performance 25% on software TM platform and 11% on hardware TM platform.
What problem does this paper attempt to address?