Using Transactional Memory to Avoid Blocking in OpenMP Synchronization Directives Don't Wait, Speculate!

被引:5
作者
Bonnichsen, Lars [1 ]
Podobas, Artur [2 ]
机构
[1] Tech Univ Denmark, DK-2800 Lyngby, Denmark
[2] KTH Royal Inst Technol, Stockholm, Sweden
来源
OPENMP: HETEROGENOUS EXECUTION AND DATA MOVEMENTS, IWOMP 2015 | 2015年 / 9342卷
关键词
D O I
10.1007/978-3-319-24595-9_11
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
OpenMP applications with abundant parallelism are often characterized by their high-performance. Unfortunately, OpenMP applications with a lot of synchronization or serialization-points perform poorly because of blocking, i.e. the threads have to wait for each other. In this paper, we present methods based on hardware transactional memory (HTM) for executing OpenMP barrier, critical, and taskwait directives without blocking. Although HTM is still relatively new in the Intel and IBM architectures, we experimentally show a 73% performance improvement over traditional locking approaches, and 23% better than other HTM approaches on critical sections. Speculation over barriers can decrease execution time by up-to 41 %. We expect that future systems with HTM support and more cores will have a greater benefit from our approach as they are more likely to block.
引用
收藏
页码:149 / 161
页数:13
相关论文
共 21 条
[1]   Software-Improved Hardware Lock Elision [J].
Afek, Yehuda ;
Levy, Amir ;
Morrison, Adam .
PROCEEDINGS OF THE 2014 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'14), 2014, :212-221
[2]  
Anderson T. E., 1990, IEEE Transactions on Parallel and Distributed Systems, V1, P6, DOI 10.1109/71.80120
[3]  
[Anonymous], 2014, PROGR INT T SYNCHR E
[4]   A User-guided locking API for the OpenMP* application program interface [J].
Bae, Hansang ;
Cownie, James ;
Klemm, Michael ;
Terboven, Christian .
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8766 :173-186
[5]  
Baek W., 2007, P 16 INT C PAR ARCH, P376
[6]  
Balart Jairo, 2004, P EUR WORKSH OPENMP, V8
[7]  
Brown T, 2014, ACM SIGPLAN NOTICES, V49, P329, DOI [10.1145/2692916.2555267, 10.1145/2555243.2555267]
[8]  
Cain HaroldW., 2013, Proceedings of the 40th Annual International Symposium on Computer Architecture, ISCA'13, P225, DOI DOI 10.1145/2485922.2485942
[9]  
Dice Dave, 2009, TECHNICAL REPORT
[10]  
Drachsler D, 2014, ACM SIGPLAN NOTICES, V49, P343, DOI [10.1145/2692916.2555269, 10.1145/2555243.2555269]