Title :
Wait-free Hyperobjects for Task-Parallel Programming Systems
Author_Institution :
Inst. of Inf. Syst., Vienna Univ. of Technol., Vienna, Austria
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;
Conference_Titel :
Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on
Conference_Location :
Boston, MA
Print_ISBN :
978-1-4673-6066-1
DOI :
10.1109/IPDPS.2013.10