Using transactional memory to avoid blocking in OpenMP synchronization directives: Don’t wait, speculate!
2015 (English)In: 11th International Workshop on OpenMP, IWOMP 2015, Springer, 2015, 149-161 p.Conference paper (Refereed)Text
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.
Place, publisher, year, edition, pages
Springer, 2015. 149-161 p.
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9342
Locks (fasteners), Storage allocation (computer), Critical sections, Hardware transactional memory, OpenMP applications, Transactional memory, Application programming interfaces (API)
IdentifiersURN: urn:nbn:se:kth:diva-181537DOI: 10.1007/978-3-319-24595-9_11ISI: 000374709400011ScopusID: 2-s2.0-84951845181ISBN: 9783319245942OAI: oai:DiVA.org:kth-181537DiVA: diva2:900222
11th International Workshop on OpenMP, IWOMP 2015; Aachen; Germany
QC 201602032016-02-032016-02-022016-06-10Bibliographically approved