1. Transactional Lock Elision Meets Combining
- Author
-
Alex Kogan and Yossi Lev
- Subjects
010302 applied physics ,Delegate ,Computer science ,Concurrent data structure ,Concurrency ,Transactional memory ,0102 computer and information sciences ,Parallel computing ,Thread (computing) ,Software_PROGRAMMINGTECHNIQUES ,Data structure ,computer.software_genre ,01 natural sciences ,Transactional leadership ,010201 computation theory & mathematics ,0103 physical sciences ,Operating system ,Programmer ,computer - Abstract
Flat combining (FC) and transactional lock elision (TLE) are two techniques that facilitate efficient multi-thread access to a sequentially implemented data structure protected by a lock. FC allows threads to delegate their operations to another (combiner) thread, and benefit from executing multiple operations by that thread under the lock through combining and elimination optimizations tailored to the specific data structure. TLE employs hardware transactional memory (HTM) that allows multiple threads to apply their operations concurrently as long as they do not conflict. This paper explores how these two radically different techniques can complement one another, and introduces the HTM-assisted Combining Framework (HCF). HCF leverages HTM to allow multiple combiners to run concurrently with each other, as well as with other, non-combiner threads. This makes HCF a good fit for data structures and workloads in which some operations may conflict with each other while others may run concurrently without conflicts. HCF achieves all that with changes to the sequential code similar to those required by TLE and FC, and in particular, without requiring the programmer to reason about concurrency.
- Published
- 2017