Adaptive Granularity Control in Task Parallel Programs Using Multiversioning

  • Peter Thoman
  • Herbert Jordan
  • Thomas Fahringer
Conference paper

DOI: 10.1007/978-3-642-40047-6_19

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8097)
Cite this paper as:
Thoman P., Jordan H., Fahringer T. (2013) Adaptive Granularity Control in Task Parallel Programs Using Multiversioning. In: Wolf F., Mohr B., an Mey D. (eds) Euro-Par 2013 Parallel Processing. Euro-Par 2013. Lecture Notes in Computer Science, vol 8097. Springer, Berlin, Heidelberg

Abstract

Task parallelism is a programming technique that has been shown to be applicable in a wide variety of problem domains. A central parameter that needs to be controlled to ensure efficient execution of task-parallel programs is the granularity of tasks. When they are too coarse-grained, scalability and load balance suffer, while very fine-grained tasks introduce execution overheads.

We present a combined compiler and runtime approach that enables automatic granularity control. Starting from recursive, task parallel programs, our compiler generates multiple versions of each task, increasing granularity by task unrolling and subsequent removal of superfluous synchronization primitives. A runtime system then selects among these task versions of varying granularity by tracking task demand.

Benchmarking on a set of task parallel programs using a work-stealing scheduler demonstrates that our approach is generally effective. For fine-grained tasks, we can achieve reductions in execution time exceeding a factor of 6, compared to state-of-the-art implementations.

Keywords

Compiler Runtime System Parallel Computing Task Parallelism Multiversioning Recursion 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Peter Thoman
    • 1
  • Herbert Jordan
    • 1
  • Thomas Fahringer
    • 1
  1. 1.Institute of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations