An Optimistic Approach to Lock-Free FIFO Queues

  • Edya Ladan-Mozes
  • Nir Shavit
Conference paper

DOI: 10.1007/978-3-540-30186-8_9

Volume 3274 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Ladan-Mozes E., Shavit N. (2004) An Optimistic Approach to Lock-Free FIFO Queues. In: Guerraoui R. (eds) Distributed Computing. DISC 2004. Lecture Notes in Computer Science, vol 3274. Springer, Berlin, Heidelberg

Abstract

First-in-first-out (FIFO) queues are among the most fundamental and highly studied concurrent data structures. The most effective and practical dynamic-memory concurrent queue implementation in the literature is the lock-free FIFO queue algorithm of Michael and Scott, included in the standard JavaTMConcurrency Package.

This paper presents a new dynamic-memory lock-free FIFO queue algorithm that performs consistently better than the Michael and Scott queue. The key idea behind our new algorithm is a novel way of replacing the singly-linked list of Michael and Scott, whose pointers are inserted using a costly compare-and-swap (CAS) operation, by an “optimistic” doubly-linked list whose pointers are updated using a simple store, yet can be “fixed” if a bad ordering of events causes them to be inconsistent. We believe it is the first example of such an “optimistic” approach being applied to a real world data structure.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Edya Ladan-Mozes
    • 1
  • Nir Shavit
    • 2
  1. 1.Department of Computer ScienceTel-Aviv UniversityIsrael
  2. 2.Sun Microsystems Laboratories and Tel-Aviv University