Faster Lock-Free Atomic Shared Pointers

被引:0
|
作者
Schaefer, Jorg P. [1 ]
机构
[1] German Aero Space Ctr, Inst Transportat Syst, Berlin, Germany
来源
关键词
Concurrency; Algorithm; Atomic shared pointers; Lock-free; Real-time implementation;
D O I
10.1007/978-3-031-62277-9_2
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
CPU's don't increase in speed anymore, as Moore's Law has claimed for so long. Although, "the free lunch is over" (Herb Sutter), parallel algorithms can gain more throughput and reduce latency, which is crucial to complex real-time applications like audio and video processing, robotics, or real-time sensor data processing in embedded hardware. Parallel algorithms, however, come with the price of concurrency and synchronization. For example, the priority-inversion is a problem, where low-priority threads can block high-priority threads due to locking data structures used by both threads. Lock-free data structures, on the other hand, use atomic CPU instructions to avoid these problems. They, however, are hard to implement and even harder to prove correct. Atomic shared pointers have been proposed as a (part of a) solution to making lock-free algorithms easier to write and verify. Since they are a fundamental tool in the toolbox of parallel algorithms, their run-time performance has a huge trailing impact. So far, there is just a hand full of existing implementations to atomic shared pointers. This work contributes an improved implementation to atomic shared pointers, a formal proof of its correctness, and an extensive performance evaluation in comparison to other implementations showing that it outperforms others in most use-cases.
引用
收藏
页码:18 / 38
页数:21
相关论文
共 50 条
  • [1] Hazard pointers: Safe memory reclamation for lock-free objects
    Michael, MM
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2004, 15 (06) : 491 - 504
  • [2] CAS-based lock-free algorithm for shared deques
    Michael, MM
    EURO-PAR 2003 PARALLEL PROCESSING, PROCEEDINGS, 2003, 2790 : 651 - 660
  • [3] Real-time computing with lock-free shared objects
    Anderson, JH
    Ramamurthy, S
    Jeffay, K
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1997, 15 (02): : 134 - 165
  • [4] Lock-free queues
    Marginean, Petru
    DR DOBBS JOURNAL, 2008, 33 (07): : 43 - 47
  • [5] Lock-free reference counting
    David L. Detlefs
    Paul A. Martin
    Mark Moir
    Guy L. Steele Jr.
    Distributed Computing, 2002, 15 : 255 - 271
  • [6] A Lock-free Binary Trie
    Ko, Jeremy
    2024 IEEE 44TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, ICDCS 2024, 2024, : 163 - 174
  • [7] Lock-free collective operations
    Supalov, A
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 2003, 2840 : 276 - 285
  • [8] Lock-free Cuckoo Hashing
    Nhan Nguyen
    Tsigas, Philippas
    2014 IEEE 34TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS 2014), 2014, : 627 - 636
  • [9] Lock-Free Hopscotch Hashing
    Kelly, Robert
    Pearlmutter, Barak A.
    Maguire, Phil
    SYMPOSIUM ON ALGORITHMIC PRINCIPLES OF COMPUTER SYSTEMS, APOCS, 2020, : 45 - 59
  • [10] Mostly lock-free malloc
    Dice, D
    Garthwaite, A
    ACM SIGPLAN NOTICES, 2003, 38 (02) : 269 - 280