LFTHREADS A lock-free thread library

被引:0
|
作者
Gidenstam, Anders [1 ]
Papatriantafilou, Marina [2 ]
机构
[1] Max Planck Inst Informat, D-66123 Saarbrucken, Germany
[2] Chalmers Univ Technol, Comp Sci & Engn, SE-41296 Gothenburg, Sweden
关键词
lock-free; multithreading; multiprocessors; multicores; synchronization; shared memory;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
LFTHREADS is a thread library entirely based on lock-free methods, i.e. no spin-locks or similar synchronization mechanisms are employed in the implementation of the multithreading. Since lock-freedom is highly desirable in multiprocessors/multicores due to its advantages in parallelism, fault-tolerance, convoy-avoidance and more, there is an increased demand in lock-free methods in parallel applications, hence also in multiprocessor/multicore system services. This is why a lock-free multithreading library is important. To the best of our knowledge LFTHREADS is the first thread library that provides a lock-free implementation of blocking synchronization primitives for application threads. Lock-free implementation of objects with blocking semantics may sound like a contradicting goal. However, such objects have benefits: e.g. library operations that block and unblock threads on the same synchronization object can make progress in parallel while maintaining the desired thread-level semantics and without having to wait for any "slow" operations among them. Besides, as no spin-locks or similar synchronization mechanisms are employed, processors are always able to do useful work. As a consequence, applications, too, can enjoy enhanced parallelism and fault-tolerance. The synchronization in LFTHREADS is achieved by a new method, which we call responsibility hand-off (RHO), that does not need any special kernel support.
引用
收藏
页码:217 / +
页数:4
相关论文
共 50 条
  • [21] 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
  • [22] 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):
  • [23] Scalable Lock-Free Vector with Combining
    Walulya, Ivan
    Tsigas, Philippas
    2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2017, : 917 - 926
  • [24] 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
  • [25] 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)
  • [26] Lock-free parallel garbage collection
    Cao, H
    Groote, JF
    Hesselink, WH
    PARALLEL AND DISTRIBUTED PROCESSING AND APPLICATIONS, 2005, 3758 : 263 - 274
  • [27] Lock-free dynamically resizable Arrays
    Dechev, Damian
    Pirkelbauer, Peter
    Stroustrup, Bjarne
    PRINCIPLES OF DISTRIBUTED SYSTEMS, PROCEEDINGS, 2006, 4305 : 142 - 156
  • [28] A scalable lock-free stack algorithm
    Hendler, Danny
    Shavit, Nir
    Yerushalmi, Lena
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2010, 70 (01) : 1 - 12
  • [29] Allocating memory in a lock-free manner
    Gidenstam, A
    Papatriantafilou, M
    Tsigas, P
    ALGORITHMS - ESA 2005, 2005, 3669 : 329 - 342
  • [30] lfbench: a lock-free microbenchmark suite
    Nagabhiru, Mahita
    Byrd, Greg
    2023 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, ISPASS, 2023, : 322 - 324