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

5Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Ostrovsky, O., & Morrison, A. (2020). Scaling concurrent queues by using HTM to profit from failed atomic operations. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP (pp. 89–101). Association for Computing Machinery. https://doi.org/10.1145/3332466.3374511

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free