Talks and Poster Presentations (with Proceedings-Entry):
"Wait-free Hyperobjects for Task-parallel Programming Systems";
Talk: IEEE 27th International Symposium on Parallel and Distributed Processing (IPDPS 2013),
Boston, Massachusetts, USA;
- 2013-05-24; in: "Proceedings of the IEEE 27th International Symposium on Parallel and Distributed Processing (IPDPS 2013)",
IEEE Computer Society,
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.
hyperobjects, wait-free, reduce, reference counting, finish, task parallelism
"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
Project Head Jesper Larsson Träff:
Performance Portability and Programmability for Heterogeneous Many-core Architectures
Created from the Publication Database of the Vienna University of Technology.