Wait-free queues with multiple enqueuers and dequeuers

Alex Kogan, Erez Petrank

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

Abstract

The queue data structure is fundamental and ubiquitous. Lockfree versions of the queue are well known. However, an important open question is whether practical wait-free queues exist. Until now, only versions with limited concurrency were proposed. In this paper we provide a design for a practical wait-free queue. Our construction is based on the highly efficient lock-free queue of Michael and Scott. To achieve wait-freedom, we employ a prioritybased helping scheme in which faster threads help the slower peers to complete their pending operations. We have implemented our scheme on multicore machines and present performance measurements comparing our implementation with that of Michael and Scott in several system configurations.

Original languageEnglish
Title of host publicationPPoPP'11 - Proceedings of the 2011 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Pages223-233
Number of pages11
DOIs
StatePublished - 2011
Event16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP'11 - San Antonio, TX, United States
Duration: 12 Feb 201116 Feb 2011

Publication series

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

Conference

Conference16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP'11
Country/TerritoryUnited States
CitySan Antonio, TX
Period12/02/1116/02/11

Keywords

  • Concurrent queues
  • Wait-free algorithms

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Wait-free queues with multiple enqueuers and dequeuers'. Together they form a unique fingerprint.

Cite this