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 条
  • [21] A Lock-Free Priority Queue Design Based on Multi-Dimensional Linked Lists
    Zhang, Deli
    Dechev, Damian
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2016, 27 (03) : 613 - 626
  • [22] Lock-free reference counting
    David L. Detlefs
    Paul A. Martin
    Mark Moir
    Guy L. Steele Jr.
    Distributed Computing, 2002, 15 : 255 - 271
  • [23] FastForward for Efficient Pipeline Parallelism A Cache-Optimized Concurrent Lock-Free Queue
    Giacomoni, John
    Moseley, Tipp
    Vachharajani, Manish
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 43 - 52
  • [24] A Lock-free Binary Trie
    Ko, Jeremy
    2024 IEEE 44TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, ICDCS 2024, 2024, : 163 - 174
  • [25] Lock-free collective operations
    Supalov, A
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 2003, 2840 : 276 - 285
  • [26] Lock-free Cuckoo Hashing
    Nhan Nguyen
    Tsigas, Philippas
    2014 IEEE 34TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS 2014), 2014, : 627 - 636
  • [27] Lock-Free Hopscotch Hashing
    Kelly, Robert
    Pearlmutter, Barak A.
    Maguire, Phil
    SYMPOSIUM ON ALGORITHMIC PRINCIPLES OF COMPUTER SYSTEMS, APOCS, 2020, : 45 - 59
  • [28] Mostly lock-free malloc
    Dice, D
    Garthwaite, A
    ACM SIGPLAN NOTICES, 2003, 38 (02) : 269 - 280
  • [29] Lock-free Transactional Vector
    Lamar, Kenneth
    Peterson, Christina
    Dechev, Damian
    PROCEEDINGS OF THE ELEVENTH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES, PMAM 2020, 2020, : 51 - 60
  • [30] Lock-free reference counting
    Detlefs, DL
    Martin, PA
    Moir, M
    Steele, GL
    DISTRIBUTED COMPUTING, 2002, 15 (04) : 255 - 271