You are here: Home projects sihle

Software-Improved Hardware Lock Elision

 

With hardware transactional memory (HTM) becoming available in mainstream processors, lock-based critical sections may now initiate a hardware transaction instead of taking the lock, enabling their concurrent execution unless a real data conflict occurs. However, just a few transactional aborts can cause the lock to be acquired non-transactionally resulting in the serialization of all the threads, severely degrading the amount of speedup obtained.

In this project we provide two software extension mechanisms that considerably improve the concurrency and speedup levels attained by lock based programs using HTM-based lock elision.  The first sacrifices opacity to achieve higher levels of concurrency, and the second retains opacity while reaching slightly lower levels of concurrency.

Publications

Software-Improved Hardware Lock Elision.  Yehuda Afek, Amir Levy, and Adam Morrison.  PODC 2014.

Source Code

  • The software-improved HLE source code package contains the implementations of the lock elision methods described and evaluated in the paper, as well as the HLE-adjusted lock implementation described in the appendix.