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 条
  • [21] Formal Verification of Lock-Free Algorithms
    Schellhorn, Gerhard
    Baeumler, Simon
    NINTH INTERNATIONAL CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN, PROCEEDINGS, 2009, : 13 - 18
  • [22] LFTHREADS A lock-free thread library
    Gidenstam, Anders
    Papatriantafilou, Marina
    PRINCIPLES OF DISTRIBUTED SYSTEMS, PROCEEDINGS, 2007, 4878 : 217 - +
  • [23] 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
  • [24] 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
  • [25] 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):
  • [26] Scalable Lock-Free Vector with Combining
    Walulya, Ivan
    Tsigas, Philippas
    2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2017, : 917 - 926
  • [27] 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
  • [28] BQ: A Lock-Free Queue with Batching
    Milman-Sela, Gal
    Kogan, Alex
    Lev, Yossi
    Luchangco, Victor
    Petrank, Erez
    ACM TRANSACTIONS ON PARALLEL COMPUTING, 2022, 9 (01)
  • [29] Lock-free parallel garbage collection
    Cao, H
    Groote, JF
    Hesselink, WH
    PARALLEL AND DISTRIBUTED PROCESSING AND APPLICATIONS, 2005, 3758 : 263 - 274
  • [30] Lock-free dynamically resizable Arrays
    Dechev, Damian
    Pirkelbauer, Peter
    Stroustrup, Bjarne
    PRINCIPLES OF DISTRIBUTED SYSTEMS, PROCEEDINGS, 2006, 4305 : 142 - 156