Toward High Performance Nonblocking Software Transactional Memory

被引:14
作者
Marathe, Virendra J. [1 ]
Moir, Mark [1 ]
机构
[1] Univ Rochester, Rochester, NY 14627 USA
来源
PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING | 2008年
关键词
software transactional memory; nonblocking;
D O I
10.1145/1345206.1345240
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Substantial advances in STM performance in recent years have mostly focused on blocking systems. We describe our work integrating the most important techniques and optimizations emerging from the recent work on blocking STMs into several variants of a nonblocking STM. In particular, our design is based on the philosophy of keeping the common, contention free execution path as simple (consequently fast) as possible, while resorting to the more expensive data displacement and metadata management only in situations where transactions have problems making forward progress. We employ novel ownership "stealing" and metadata management techniques in our nonblocking STM to enable several recent blocking STM optimizations such as timestamp-based validation and ownership release via store instructions, all leading to a more streamlined and efficient fast path. We present an undo log (eager versioning) variant of our STM, as well as two redo log (lazy versioning) variants, the latter of which are based on the two ownership acquisition techniques (namely eager and lazy) for writes made by transactions. Experimental results show that our efforts have improved the performance of nonblocking STMs up to the level of being competitive with the state-of-the-art blocking STMs such as TL2.
引用
收藏
页码:227 / 236
页数:10
相关论文
共 50 条
[21]   Scheduling Transactions in Replicated Distributed Software Transactional Memory [J].
Kim, Junwhan ;
Ravindran, Binoy .
PROCEEDINGS OF THE 2013 13TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID 2013), 2013, :227-234
[22]   Thread and Data Mapping in Software Transactional Memory: an Overview [J].
Pasqualin, Douglas Pereira ;
Diener, Matthias ;
Du Bois, Andre Rauber ;
Pilla, Mauricio Lima .
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2025, 53 (03)
[23]   LiTM: A Lightweight Deterministic Software Transactional Memory System [J].
Xia, Yu ;
Yu, Xiangyao ;
Moses, William ;
Shun, Julian ;
Devadas, Srinivas .
PROCEEDINGS OF THE TENTH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES (PMAM 2019), 2019, :1-10
[24]   Weighted adaptive concurrency control for software transactional memory [J].
Ansari, Mohammad .
JOURNAL OF SUPERCOMPUTING, 2014, 68 (03) :1027-1047
[25]   ProPS: A Progressively Pessimistic Scheduler for Software Transactional Memory [J].
Rito, Hugo ;
Cachopo, Joao .
EURO-PAR 2014 PARALLEL PROCESSING, 2014, 8632 :150-161
[26]   An Approach to Formal Verification of Python']Python Software Transactional Memory [J].
Kordic, Branislav ;
Popovic, Miroslav ;
Ghilezan, Silvia ;
Basicevic, Ilija .
PROCEEDINGS OF THE FIFTH EUROPEAN CONFERENCE ON THE ENGINEERING OF COMPUTER-BASED SYSTEMS (ECBS 2017), 2017,
[27]   Sharing-Aware Data Mapping in Software Transactional Memory [J].
Pasqualin, Douglas Pereira ;
Diener, Matthias ;
Du Bois, Andre Rauber ;
Pilla, Mauricio Lima .
EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2021, 2022, 13227 :481-492
[28]   AN EVOLUTIONARY COMPUTATIONAL SYSTEM ARCHITECTURE BASED ON A SOFTWARE TRANSACTIONAL MEMORY [J].
Kordic, Branisla, V ;
Popovic, Marko ;
Popovic, Mirosla, V ;
Goldstein, Moshe ;
Amitay, Moshe ;
Da Yan, David ;
Fredj, Erick .
REVUE ROUMAINE DES SCIENCES TECHNIQUES-SERIE ELECTROTECHNIQUE ET ENERGETIQUE, 2021, 66 (01) :47-52
[29]   A Parallel Implementation for Cellular Potts Model with Software Transactional Memory [J].
Tomeu, A. J. ;
Gamez, A. ;
Salguero, A. G. .
PRACTICAL APPLICATIONS OF COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, 2020, 1005 :53-60
[30]   Context-oriented Software Transactional Memory in Common Lisp [J].
Costanza, Pascal ;
Herzeel, Charlotte ;
D'Hondt, Theo .
ACM SIGPLAN NOTICES, 2009, 44 (12) :59-68