Volume 27, Issue 5 pp. 1273-1291
Research Article

Pipeline pattern in an object-oriented, task-parallel environment

Jonathan Chow

Jonathan Chow

Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland 1142, New Zealand

Search for more papers by this author
Nasser Giacaman

Nasser Giacaman

Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland 1142, New Zealand

Search for more papers by this author
Oliver Sinnen

Corresponding Author

Oliver Sinnen

Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland 1142, New Zealand

Correspondence to: Oliver Sinnen, Department of Electrical and Computer Engineering, University of Auckland, Private Bag 92019, Auckland 1142, New Zealand.

E-mail: [email protected]

Search for more papers by this author
First published: 27 May 2014
Citations: 1

Summary

Task parallelism is an approach to parallel programming that has recently gained traction because of its compatibility with the predominant object-oriented languages and its low overhead compared to threading approaches. Parallel Task is an Open Source task-parallel compiler and runtime system for object-oriented languages, in particular Java. It is very flexible and expressive, demonstrated by the fact that it can be directly employed to implement most parallel computing patterns. The only notable exception has been the pipeline pattern where many data items are streamed through a number of processing stages. This is not surprising, as task parallelism is generally not compatible with the pipeline pattern. In this paper, we investigate how the pipeline pattern can be elegantly and efficiently implemented in a task-parallel environment. To do so, we extend Parallel Task with the concept of implicit futures to allow creating pipelines in an intuitive and object-oriented manner. Our experimental evaluation uses the extended Parallel Task to implement pipelines of different lengths and characteristics and compares with manual implementations. The evaluation demonstrates very good performance and scalability of the proposed task-parallel pipeline approach. Copyright © 2014 John Wiley & Sons, Ltd.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.