Transactional lock elision (TLE) is a well-known technique that exploits hardware transactional memory (HTM) to introduce concurrency into lock-based software. It achieves that by attempting to execute a critical section protected by a lock in an atomic hardware transaction, reverting to the lock if these attempts fail. One significant drawback of TLE is that it disables hardware speculation once there is a thread running under lock. In this paper we present two algorithms that rely on existing compiler support for transactional programs and allow threads to speculate concurrently on HTM along with a thread holding the lock. We demonstrate the benefit of our algorithms over TLE and other related approaches with an in-depth analysis of a number of benchmarks and a wide range of workloads, including an AVL tree-based micro-benchmark and ccTSA, a real sequence assembler application.
Tue 15 MarDisplayed time zone: Belfast change
11:35 - 12:50 | |||
11:35 25mTalk | Optimistic Concurrency with OPTIK Main conference Link to publication DOI | ||
12:00 25mTalk | Refined Transactional Lock Elision Main conference Link to publication DOI | ||
12:25 25mTalk | Drinking from Both Glasses: Combining Pessimistic and Optimistic Tracking of Cross-Thread Dependences Main conference Man Cao Ohio State University, USA, Minjia Zhang Ohio State University, USA, Aritra Sengupta Ohio State University, Michael D. Bond Ohio State University Link to publication DOI |