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 条
[41]   Kicking the Tires of Software Transactional Memory: Why the Going Gets Tough [J].
Yoo, Richard M. ;
Ni, Yang ;
Welc, Adam ;
Saha, Bratin ;
Adl-Tabatabai, Ali-Reza ;
Lee, Hsien-Hsin S. .
SPAA'08: PROCEEDINGS OF THE TWENTIETH ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2008, :265-+
[42]   A Protein Structure Prediction Program Architecture Based on a Software Transactional Memory [J].
Kordic, Branislav ;
Popovic, Marko ;
Popovic, Miroslav ;
Goldstein, Moshe ;
Amitay, Moshe ;
Dayan, David .
PROCEEDINGS OF THE 6TH CONFERENCE ON THE ENGINEERING OF COMPUTER BASED SYSTEMS (ECBS 2019), 2020,
[43]   Can Software Transactional Memory Make Concurrent Programs Simple and Safe? [J].
Malde, Ketil .
BIOINFORMATICS 2013: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON BIOINFORMATICS MODELS, METHODS AND ALGORITHMS, 2013, :223-228
[44]   D2STM: Dependable Distributed Software Transactional Memory [J].
Couceiro, Maria ;
Romano, Paolo ;
Carvalho, Nuno ;
Rodrigues, Luis .
IEEE 15TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, 2009, :307-313
[45]   On the impact of mode transition on phased transactional memory performance [J].
Morales, Catalina Munoz ;
Honorio, Bruno ;
de Carvalho, Joao P. L. ;
Baldassin, Alexandro ;
Araujo, Guido .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2023, 173 :126-139
[46]   Improving performance of transactional memory through machine learning [J].
Xiao, Yang ;
Jeyakumaran, Thireshan ;
Atoofian, Ehsan ;
Jannesari, Ali .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2018, 30 (10)
[47]   Energy Consumption and Scalability Evaluation for Software Transactional Memory on a Real Computing Environment [J].
Rico, Timoteo M. ;
Pilla, Mauricio L. ;
Du Bois, Andre R. ;
Duarte, Rodrigo M. .
2015 INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING WORKSHOP (SBAC-PADW), 2015, :7-12
[48]   Design and implementation of a fully transparent partial abort support for software transactional memory [J].
Pellegrini, Alessandro ;
Di Sanzo, Pierangelo ;
Piccione, Andrea ;
Quaglia, Francesco .
SOFTWARE-PRACTICE & EXPERIENCE, 2022, 52 (11) :2456-2475
[49]   Efficient support for in-place metadata in Java']Java software transactional memory [J].
Dias, Ricardo J. ;
Vale, Tiago M. ;
Lourenco, Joao M. .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2013, 25 (17) :2394-2411
[50]   Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics [J].
Zhang, Minjia ;
Huang, Jipeng ;
Cao, Man ;
Bond, Michael D. .
ACM SIGPLAN NOTICES, 2015, 50 (08) :97-108