Scaling concurrent queues by using HTM to profit from failed atomic operations

Or Ostrovsky, Adam Morrison

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Scopus citations

Abstract

Queues are fundamental concurrent data structures, but despite years of research, even the state-of-the-art queues scale poorly. This poor scalability occurs because of contended atomic read-modify-write (RMW) operations. This paper makes a first step towards designing a scalable linearizable queue. We leverage hardware transactional memory (HTM) to design TxCAS, a scalable compare-and-set (CAS) primitive—despite HTM being targeted mainly at uncontended scenarios. Leveraging TxCAS’s scalability requires a queue design that does not blindly retry failed CASs. We thus apply TxCAS to the baskets queue, which steers enqueuers whose CAS fails into dedicated 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 1.6× on a producer-only workload.

Original languageEnglish
Title of host publicationPPoPP 2020 - Proceedings of the 2020 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
PublisherAssociation for Computing Machinery
Pages89-101
Number of pages13
ISBN (Electronic)9781450368186
DOIs
StatePublished - 19 Feb 2020
Event25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2020 - San Diego, United States
Duration: 22 Feb 202026 Feb 2020

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2020
Country/TerritoryUnited States
CitySan Diego
Period22/02/2026/02/20

Funding

FundersFunder number
Blavatnik Family Foundation
Israel Science Foundation2005/17

    Fingerprint

    Dive into the research topics of 'Scaling concurrent queues by using HTM to profit from failed atomic operations'. Together they form a unique fingerprint.

    Cite this