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 条
  • [21] A Wait-Free Hash Map
    Pierre Laborde
    Steven Feldman
    Damian Dechev
    [J]. International Journal of Parallel Programming, 2017, 45 : 421 - 448
  • [22] Wait-free clock synchronization
    Dolev, S
    Welch, JL
    [J]. ALGORITHMICA, 1997, 18 (04) : 486 - 511
  • [23] An Efficient Wait-Free Vector
    Feldman, Steven
    Valera-Leon, Carlos
    Dechev, Damian
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2016, 27 (03) : 654 - 667
  • [24] A Wait-Free Hash Map
    Laborde, Pierre
    Feldman, Steven
    Dechev, Damian
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2017, 45 (03) : 421 - 448
  • [25] Extending the wait-free hierarchy to multi-threaded systems
    Perrin, Matthieu
    Mostefaoui, Achour
    Bonin, Gregoire
    Courtillat-Piazza, Ludmila
    [J]. DISTRIBUTED COMPUTING, 2022, 35 (04) : 375 - 398
  • [26] Extending the wait-free hierarchy to multi-threaded systems
    Matthieu Perrin
    Achour Mostéfaoui
    Grégoire Bonin
    Ludmila Courtillat-Piazza
    [J]. Distributed Computing, 2022, 35 : 375 - 398
  • [27] Brief Announcement: Wait-free Programming for General Purpose Computations on Graphics Processors
    Ha, Phuong H.
    Tsigas, Philippas
    Anshus, Otto J.
    [J]. PODC'08: PROCEEDINGS OF THE 27TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2008, : 452 - 452
  • [28] Locality and checkability in wait-free computing
    Fraigniaud, Pierre
    Rajsbaum, Sergio
    Travers, Corentin
    [J]. DISTRIBUTED COMPUTING, 2013, 26 (04) : 223 - 242
  • [29] WAIT-FREE TEST-AND-SET
    AFEK, Y
    GAFNI, E
    TROMP, J
    VITANYI, PMB
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 647 : 85 - 94
  • [30] Computable obstructions to wait-free computability
    John Havlicek
    [J]. Distributed Computing, 2000, 13 : 59 - 83