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

Show simple item record

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


Files in this item

Find Full text

This item appears in the following Collection(s)

Show simple item record

Share

Search ResearchSpace


Browse

Statistics