BQ: A Lock-Free Queue with Batching

被引:15
|
作者
Milman, Gal [1 ]
Kogan, Alex [2 ]
Lev, Yossi [2 ]
Luchangco, Victor [2 ]
Petrank, Erez [1 ]
机构
[1] Technion, Haifa, Israel
[2] Oracle Labs, Redwood Shores, CA USA
基金
以色列科学基金会;
关键词
Concurrent Algorithms; Concurrent Data Structures; Lock-Freedom; Linearizability; FIFO Queue;
D O I
10.1145/3210377.3210388
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Concurrent data structures provide fundamental building blocks for concurrent programming. Standard concurrent data structures may be extended by allowing a sequence of operations to be submitted as a batch for later execution. A sequence of such operations can then be executed more efficiently than the standard execution of one operation at a time. In this paper we develop a novel algorithmic extension to the prevalent FIFO queue data structure that exploits such batching scenarios. An implementation in C++ on a multicore demonstrates a significant performance improvement of up to 16x (depending on batch lengths), compared to previous queue implementations.
引用
收藏
页码:99 / 109
页数:11
相关论文
共 50 条
  • [41] Formal Verification of Lock-Free Algorithms
    Schellhorn, Gerhard
    Baeumler, Simon
    NINTH INTERNATIONAL CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN, PROCEEDINGS, 2009, : 13 - 18
  • [42] LFTHREADS A lock-free thread library
    Gidenstam, Anders
    Papatriantafilou, Marina
    PRINCIPLES OF DISTRIBUTED SYSTEMS, PROCEEDINGS, 2007, 4878 : 217 - +
  • [43] Lock-free AntNets and their adaptability evaluations
    Oida, Kazumasa
    Kataoka, Akira
    Electronics and Communications in Japan, Part I: Communications (English translation of Denshi Tsushin Gakkai Ronbunshi), 2001, 84 (02): : 51 - 61
  • [44] A Lock-Free Algorithm for Concurrent Bags
    Sundell, Hakan
    Gidenstam, Anders
    Papatriantafilou, Marina
    Tsigas, Philippas
    SPAA 11: PROCEEDINGS OF THE TWENTY-THIRD ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2011, : 335 - 344
  • [45] Efficient Lock-Free Durable Sets
    Zuriel, Yoav
    Friedman, Michal
    Sheffi, Gali
    Cohen, Nachshon
    Petrank, Erez
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):
  • [46] Scalable Lock-Free Vector with Combining
    Walulya, Ivan
    Tsigas, Philippas
    2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2017, : 917 - 926
  • [47] Lock-free code: A false sense of security - Writing correct lock-free code is harder than it looks
    Sutter, Herb
    DR DOBBS JOURNAL, 2008, 33 (09): : 68 - 70
  • [48] Lock-free parallel garbage collection
    Cao, H
    Groote, JF
    Hesselink, WH
    PARALLEL AND DISTRIBUTED PROCESSING AND APPLICATIONS, 2005, 3758 : 263 - 274
  • [49] Lock-free dynamically resizable Arrays
    Dechev, Damian
    Pirkelbauer, Peter
    Stroustrup, Bjarne
    PRINCIPLES OF DISTRIBUTED SYSTEMS, PROCEEDINGS, 2006, 4305 : 142 - 156
  • [50] A scalable lock-free stack algorithm
    Hendler, Danny
    Shavit, Nir
    Yerushalmi, Lena
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2010, 70 (01) : 1 - 12