Wait-free Hyperobjects for Task-parallel Programming Systems

被引:3
|
作者
Wimmer, Martin [1 ]
机构
[1] Vienna Univ Technol, Fac Informat, Inst Informat Syst, Res Grp Parallel Comp, A-1040 Vienna, Austria
关键词
hyperobjects; wait-free; reduce; reference counting; finish; task parallelism;
D O I
10.1109/IPDPS.2013.10
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Hyperobjects are efficient mechanisms to coordinate accesses to shared variables and data-structures in task-parallel programming models, where each thread can operate on its own coordinated local view of the shared data. Synchronization between local views is restricted to occur at well-defined points in the execution, and can be left to the hyperobject implementation. This paper provides a general model for hyperobjects that does not require programming language or runtime support and may therefore be used with any task-parallel programming system. We show that hyperobjects can be efficiently implemented in a wait-free manner, meaning that all concurrent accesses to a hyperobject are guaranteed to complete in a bounded number of steps. The novel finisher hyperobject presented in this paper provides transitive termination detection for task-parallel programs. It can be used to efficiently implement task synchronization primitives like finish. However, finishers can also be used to manage reference-counted resources, e. g. shared pointers and copy-on-write pointers. Finally, we provide a wait-free variant of the associative reducer hyperobject known from the Cilk++ programming language.
引用
收藏
页码:803 / 812
页数:10
相关论文
共 50 条
  • [1] Task-Parallel Programming on NUMA Architectures
    Terboven, Christian
    Schmidl, Dirk
    Cramer, Tim
    Mey, Dieter An
    [J]. EURO-PAR 2012 PARALLEL PROCESSING, 2012, 7484 : 638 - 649
  • [2] Task-Parallel Programming with Constrained Parallelism
    Huang, Tsung-Wei
    Hwang, Leslie
    [J]. 2022 IEEE HIGH PERFORMANCE EXTREME COMPUTING VIRTUAL CONFERENCE (HPEC), 2022,
  • [3] An Efficient Task-Parallel Pipeline Programming Framework
    Chiu, Cheng-Hsiang
    Xiong, Zhicheng
    Guo, Zizheng
    Huang, Tsung-Wei
    Lin, Yibo
    [J]. THE PROCEEDINGS OF INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING IN ASIA-PACIFIC REGION, HPC ASIA 2024, 2024, : 95 - 106
  • [4] A Wait-Free Queue with Wait-Free Memory Reclamation
    Ramalhete, Pedro
    Correia, Andreia
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (08) : 453 - 454
  • [5] A wait-free algorithm for optimistic programming: HOPE realized
    Cowan, C
    Lutfiyya, HL
    [J]. PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, 1996, : 484 - 493
  • [6] Task-parallel versus data-parallel library-based programming in multicore systems
    Andrade, Diego
    Fraguela, Basilio B.
    Brodman, James
    Padua, David
    [J]. PROCEEDINGS OF THE PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, 2009, : 101 - +
  • [7] A Wait-Free Stack
    Goel, Seep
    Aggarwal, Pooja
    Sarangi, Smruti R.
    [J]. DISTRIBUTED COMPUTING AND INTERNET TECHNOLOGY (ICDCIT 2016), 2016, 9581 : 43 - 55
  • [8] Wait-free programming for general purpose computations on graphics processors
    Ha, Phuong Hoai
    Tsigas, Philippas
    Anshus, Otto J.
    [J]. 2008 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-8, 2008, : 1623 - +
  • [9] Wait-Free Programming for General Purpose Computations on Graphics Processors
    Ha, Phuong Hoai
    Tsigas, Philippas
    Anshus, Otto J.
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2017, 66 (08) : 1407 - 1420
  • [10] WAIT-FREE SYNCHRONIZATION
    HERLIHY, M
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1991, 13 (01): : 124 - 149