Scaling Concurrent Queues by Using HTM to Profit from Failed Atomic Operations
Queues are fundamental concurrent data structures, but despite years of research, even the state-of-the-art queues have poor scalability. This poor scalability occurs because of contended atomic read-modify-write (RMW) operations.
This paper makes a first step towards designing a {\em scalable} linearizable queue. We leverage hardware transactional memory (HTM) to design TxCAS, a scalable compare-and-set (CAS) primitive—despite HTM being considered to be effective mainly in uncontended scenarios.
Leveraging TxCAS’s scalability requires a queue design that does not blindly retry failed CASs. We thus apply TxCAS to the {\em baskets queue}, which steers enqueuers whose CAS fails into dedicated {\em basket} data structures. Coupled with a new, scalable basket algorithm, we obtain SBQ, the scalable baskets queue. At high concurrency levels, SBQ outperforms the fastest queue today by up to $1.6\times$.
Mon 24 FebDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40 | |||
14:00 25mTalk | Scaling Concurrent Queues by Using HTM to Profit from Failed Atomic Operations Main Conference | ||
14:25 25mTalk | A Wait-Free Universal Construct for Large Objects Main Conference | ||
14:50 25mTalk | Fast Concurrent Data Sketches Main Conference Arik Rinberg Technion, Alexander Spiegelman VMware Research, Edward Bortnikov Yahoo Research, Eshcar Hillel Yahoo Research, Oath, Idit Keidar Technion - Israel institute of technology, Hadar Serviansky Weizmann, Lee Rhodes Verizon Media | ||
15:15 25mTalk | Universal Wait-Free Memory Reclamation Main Conference |