• DocumentCode
    625637
  • Title

    Wait-free Hyperobjects for Task-Parallel Programming Systems

  • Author

    Wimmer, Manuel

  • Author_Institution
    Inst. of Inf. Syst., Vienna Univ. of Technol., Vienna, Austria
  • fYear
    2013
  • fDate
    20-24 May 2013
  • Firstpage
    803
  • Lastpage
    812
  • Abstract
    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.
  • Keywords
    C++ language; data structures; parallel languages; parallel programming; resource allocation; synchronisation; task analysis; Cilk++ programming language; associative reducer hyperobject; data sharing; data structure; finisher hyperobject; programming language; reference-counted resource management; synchronization primitives; task-parallel programming systems; wait-free hyperobjects; wait-free manner; Computational modeling; Computer languages; Instruction sets; Object oriented modeling; Programming; Runtime; Synchronization; finish; hyperobjects; reduce; reference counting; task parallelism; wait-free;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on
  • Conference_Location
    Boston, MA
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4673-6066-1
  • Type

    conf

  • DOI
    10.1109/IPDPS.2013.10
  • Filename
    6569863