Lease/Release: Architectural Support for Scaling Contended Data Structures
High memory contention is generally agreed to be a worst-case scenario for concurrent data structures. There has been a significant amount of research effort spent investigating designs which minimize contention, and several programming techniques have been proposed to mitigate its effects. However, there are currently few architectural mechanisms to allow scaling contended data structures at high thread counts.
In this paper, we investigate hardware support for scalable contended data structures. We propose Lease/Release, a simple addition to standard directory-based MSI cache coherence protocols, allowing participants to lease memory, at the granularity of cache lines, by delaying coherence messages for a short, bounded period of time. Our analysis shows that Lease/Release can significantly reduce the overheads of contention for both non-blocking (lock-free) and lock-based data structure implementations, while ensuring that no deadlocks are introduced. We validate Lease/Release empirically on the Graphite multiprocessor simulator, on a range of data structures, including queue, stack, and priority queue implementations, as well as on transactional applications. Results show that Lease/Release consistently improves both throughput and energy usage, by up to 5x, both for lock-free and lock-based data structure designs.
Tue 15 MarDisplayed time zone: Belfast change
10:00 - 11:15 | |||
10:00 25mTalk | Adding Approximate Counters Main conference Link to publication DOI | ||
10:25 25mTalk | A Wait-Free Queue as Fast as Fetch-and-Add Main conference Link to publication DOI | ||
10:50 25mTalk | Lease/Release: Architectural Support for Scaling Contended Data Structures Main conference Syed Kamran Haider University of Connecticut, William Hasenplaugh MIT, Dan Alistarh Microsoft Research Link to publication DOI |