dc.contributor.author |
Chow, J |
en |
dc.contributor.author |
Giacaman, Nasser |
en |
dc.contributor.author |
Sinnen, Oliver |
en |
dc.date.accessioned |
2016-09-05T03:00:05Z |
en |
dc.date.issued |
2015-04-10 |
en |
dc.identifier.citation |
Concurrency and Computation: Practice and Experience, 2015, 27 (5), pp. 1273 - 1291 |
en |
dc.identifier.issn |
1532-0626 |
en |
dc.identifier.uri |
http://hdl.handle.net/2292/30217 |
en |
dc.description.abstract |
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. |
en |
dc.description.uri |
http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1532-0634 |
en |
dc.publisher |
Wiley |
en |
dc.relation.ispartofseries |
Concurrency and Computation: Practice and Experience |
en |
dc.rights |
Items in ResearchSpace are protected by copyright, with all rights reserved, unless otherwise indicated. Previously published items are made available in accordance with the copyright policy of the publisher. Details obtained from http://www.sherpa.ac.uk/romeo/issn/1532-0626/ |
en |
dc.rights.uri |
https://researchspace.auckland.ac.nz/docs/uoa-docs/rights.htm |
en |
dc.title |
Pipeline pattern in an object-oriented, task-parallel environment |
en |
dc.type |
Journal Article |
en |
dc.identifier.doi |
10.1002/cpe.3305 |
en |
pubs.issue |
5 |
en |
pubs.begin-page |
1273 |
en |
pubs.volume |
27 |
en |
dc.description.version |
AM - Accepted Manuscript |
en |
dc.rights.holder |
Copyright: Wiley |
en |
pubs.author-url |
http://onlinelibrary.wiley.com/doi/10.1002/cpe.3305/full |
en |
pubs.end-page |
1291 |
en |
pubs.publication-status |
Published |
en |
dc.rights.accessrights |
http://purl.org/eprint/accessRights/OpenAccess |
en |
pubs.subtype |
Article |
en |
pubs.elements-id |
479626 |
en |
pubs.org-id |
Engineering |
en |
pubs.org-id |
Department of Electrical, Computer and Software Engineering |
en |
dc.identifier.eissn |
1532-0634 |
en |
pubs.record-created-at-source-date |
2016-09-05 |
en |