• DocumentCode
    2846141
  • Title

    Non-Blocking Concurrent FIFO Queues with Single Word Synchronization Primitives

  • Author

    Evequoz, Claude

  • Author_Institution
    Univ. of Appl. Sci. Western Switzerland, Yverdon-les-Bains
  • fYear
    2008
  • fDate
    9-12 Sept. 2008
  • Firstpage
    397
  • Lastpage
    405
  • Abstract
    We present 2 efficient and practical non-blocking implementations of a concurrent array-based FIFO queue that are suitable for both multiprocessor as well as preemptive multithreaded systems. It is well known that concurrent FIFO queues relying on mutual exclusion cause blocking, which have several drawbacks and degrade overall system performance. Link-based non-blocking queue algorithms have a memory management problem whereby a removed node from the queue can neither be freed nor reused because other threads may still be accessing the node. Existing solutions to this problem introduce a fair amount of overhead and, when the number of threads that can access the FIFO queue is moderate to high, are shown to be less efficient compared to array-based algorithms, which inherently do not suffer from this problem. In addition to being independent on advance knowledge of the number of threads that can access the queue, our new algorithms improve on previously proposed algorithms in that they do not require any special instruction other than a load-linked/store-conditional or a compare-and-swap atomic instruction both operating on pointer-wide number of bits. Our new algorithms are thus portable to a broader range of architectures.
  • Keywords
    data structures; queueing theory; compare-and-swap atomic instruction; link-based nonblocking queue algorithms; load-linked/store-conditional instruction; memory management problem; multiprocessor; nonblocking concurrent FIFO queues; preemptive multithreaded systems; single word synchronization; Application software; Computer architecture; Content addressable storage; Counting circuits; Data structures; Degradation; Memory management; Parallel processing; System performance; Yarn; Concurrent queue; compare-and-swap (CAS); load-linked/store-conditional (LL/SC); lock-free;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing, 2008. ICPP '08. 37th International Conference on
  • Conference_Location
    Portland, OR
  • ISSN
    0190-3918
  • Print_ISBN
    978-0-7695-3374-2
  • Electronic_ISBN
    0190-3918
  • Type

    conf

  • DOI
    10.1109/ICPP.2008.82
  • Filename
    4625874