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 条
  • [41] Lock-free Contention Adapting Search Trees
    Winblad, Kjell
    Sagonas, Konstantinos
    Jonsson, Bengt
    SPAA'18: PROCEEDINGS OF THE 30TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2018, : 121 - 132
  • [42] An optimistic approach to lock-free FIFO queues
    Ladan-Mozes, Edya
    Shavit, Nir
    DISTRIBUTED COMPUTING, 2008, 20 (05) : 323 - 341
  • [43] Lock-free deques and doubly linked lists
    Sundell, Hakan
    Tsigas, Philippas
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2008, 68 (07) : 1008 - 1020
  • [44] Lock-free parallel algorithms: An experimental study
    Cong, GJ
    Bader, D
    HIGH PERFORMANCE COMPUTING - HIPC 2004, 2004, 3296 : 516 - 527
  • [45] Efficient Lock-free Binary Search Trees
    Chatterjee, Bapi
    Nguyen, Nhan
    Tsigas, Philippas
    PROCEEDINGS OF THE 2014 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'14), 2014, : 322 - 331
  • [46] Lock-free Computation of PageRank in Dynamic Graphs
    Sahu, Subhajit
    Kothapalli, Kishore
    Eedi, Hemalatha
    Peri, Sathya
    2024 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS, IPDPSW 2024, 2024, : 825 - 834
  • [47] Verified Lock-Free Session Channels with Linking
    Somers, Thomas
    Krebbers, Robbert
    Proceedings of the ACM on Programming Languages, 2024, 8 (OOPSLA2)
  • [48] Lock-free Hash Table on Graphics Processors
    Moazeni, Maryam
    Sarrafzadeh, Majid
    2012 SYMPOSIUM ON APPLICATION ACCELERATORS IN HIGH PERFORMANCE COMPUTING (SAAHPC), 2012, : 133 - 136
  • [49] An optimistic approach to lock-free FIFO queues
    Ladan-Mozes, E
    Shavit, N
    DISTRIBUTED COMPUTING, PROCEEDINGS, 2004, 3274 : 117 - 131
  • [50] Scalable lock-free dynamic memory allocation
    Michael, MM
    ACM SIGPLAN NOTICES, 2004, 39 (06) : 35 - 46