Bridging the gap for hardware transactional memory
Park, Sunjae Young
MetadataShow full item record
Transactional memory (TM) is a promising new tool for shared memory application development. Unlike mutual exclusion locks, TM allows atomic sections to execute concurrently, optimistically predicting the threads will not conflict. Commercial releases of hardware TM (HTM) brings this functionality to the mainstream. However, the commercial implementations work to provide TM functionality with the minimum amount of hardware changes required, unlike research prototypes that can work from a clean slate. As a result, there are significant gaps in performance of the commercial implementations compared to those proposed by the research community. In this thesis, I propose to several ideas that keep with this mindset, but still close the gap in performance. First, I introduce plea bits that can be used to provide enhanced conflict resolution policies, compared to the basic "requester-wins" policy used in commercial HTM implementations. Second, I propose calling a pre-abort handler instead of doing automatic state rollback when encountering abort-causing conditions. Last, I propose to change how speculative writes are handled within the transaction, allowing for lazy conflict detection. Using these techniques, I show that it is possible to support more sophisticated HTM functionality while keeping the required changes minimal.