Parallel Programming of General-Purpose Programs Using Task-Based Programming Models

Research output: Chapter in Book/Report/Conference proceedingConference contribution

80 Downloads (Pure)

Abstract

The prevalence of multicore processors is bound to drive most kinds of software development towards parallel programming. To limit the difficulty and overhead of parallel software design and maintenance, it is crucial that parallel programming models allow an easy-to-understand, concise and dense representation of parallelism. Parallel programming models such as Cilk++ and Intel TBBs attempt to offer a better, higher-level abstraction for parallel programming than threads and locking synchronization. It is not straightforward, however, to express all patterns of parallelism in these models. Pipelines are an important parallel construct, although difficult to express in Cilk and TBBs in a straightfor- ward way, not without a verbose restructuring of the code. In this paper we demonstrate that pipeline parallelism can be easily and concisely expressed in a Cilk-like language, which we extend with input, output and input/output dependency types on procedure arguments, enforced at runtime by the scheduler. We evaluate our implementation on real applications and show that our Cilk-like scheduler, extended to track and enforce these dependencies has performance comparable to Cilk++.
Original languageEnglish
Title of host publication3rd USENIX Workshop on Hot Topics on Parallelism
Place of PublicationBerkeley, CA, USA
PublisherUSENIX
Number of pages6
Publication statusPublished - May 2011

Fingerprint Dive into the research topics of 'Parallel Programming of General-Purpose Programs Using Task-Based Programming Models'. Together they form a unique fingerprint.

  • Activities

    • 2 Invited talk

    The Swan Approach to Task Dataflow-Style Execution

    Hans Vandierendonck (Speaker)

    28 Sep 2012

    Activity: Talk or presentation typesInvited talk

    Parallel Programming with a Task Dataflow Specification

    Hans Vandierendonck (Speaker)

    04 Oct 2012

    Activity: Talk or presentation typesInvited talk

    Cite this

    Vandierendonck, H., Pratikakis, P., & Nikolopoulos, D. (2011). Parallel Programming of General-Purpose Programs Using Task-Based Programming Models. In 3rd USENIX Workshop on Hot Topics on Parallelism USENIX.