• DocumentCode
    70437
  • Title

    Integrating Lock-Free and Combining Techniques for a Practical and Scalable FIFO Queue

  • Author

    Changwoo Min ; Young Ik Eom

  • Author_Institution
    Coll. of Inf. & Commun. Eng., Sungkyunkwan Univ., Suwon, South Korea
  • Volume
    26
  • Issue
    7
  • fYear
    2015
  • fDate
    July 1 2015
  • Firstpage
    1910
  • Lastpage
    1922
  • Abstract
    Concurrent FIFO queues can be generally classified into lock-free queues and combining-based queues. Lock-free queues require manual parameter tuning to control the contention level of parallel execution, while combining-based queues encounter a bottleneck of single-threaded sequential combiner executions at a high concurrency level. In this paper, we introduce a different approach using both lock-free techniques and combining techniques synergistically to design a practical and scalable concurrent queue algorithm. As a result, we have achieved high scalability without any parameter tuning: on an 80-thread average throughput in our experimental results, our queue algorithm outperforms the most widely used Michael and Scott queue by 14.3 times, the best-performing combining-based queue by 1.6 times, and the best performing x86-dependent lock-free queue by 1.7 percent. In addition, we designed our algorithm in such a way that the life cycle of a node is the same as that of its element. This has huge advantages over prior work: efficient implementation is possible without dedicated memory management schemes, which are supported only in some languages, may cause a performance bottleneck, or are patented. Moreover, the synchronized life cycle between an element and its node enables application developers to further optimize memory management.
  • Keywords
    concurrency control; storage management; combining queues; combining techniques; concurrent FIFO queue algorithm; first-in first-out queue; lock-free queues; lock-free techniques; memory management; parallel execution; single-threaded sequential combiner executions; Concurrent computing; Instruction sets; Memory management; Message systems; Scalability; Synchronization; Tuning; Concurrent queue; combining-based queue; compare-and-swap; lock-free queue; memory reclamation; swap;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2014.2333007
  • Filename
    6844158