Optimizing Task Parallelism with Library-Semantics-Aware Compilation

  • Peter Thoman
  • Stefan Moosbrugger
  • Thomas Fahringer
Conference paper

DOI: 10.1007/978-3-662-48096-0_19

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9233)
Cite this paper as:
Thoman P., Moosbrugger S., Fahringer T. (2015) Optimizing Task Parallelism with Library-Semantics-Aware Compilation. In: Träff J., Hunold S., Versaci F. (eds) Euro-Par 2015: Parallel Processing. Euro-Par 2015. Lecture Notes in Computer Science, vol 9233. Springer, Berlin, Heidelberg

Abstract

With the spread of parallel architectures throughout all areas of computing, task-based parallelism is an increasingly commonly employed programming paradigm, due to its ease of use and potential scalability. Since
, the ISO
language standard library includes support for task parallelism. However, existing research and implementation work in task parallelism relies almost exclusively on runtime systems for achieving performance and scalability. We propose a combined compiler and runtime system approach that is aware of the parallel semantics of the
standard library functions, and therefore capable of statically analyzing and optimizing their implementation, as well as automatically providing scheduling hints to the runtime system.
We have implemented this approach in an existing compiler and demonstrate its effectiveness by carrying out an empirical study across 9 task-parallel benchmarks. On a 32-core system, our method is, on average, 11.7 times faster than the best result for Clang and GCC
library implementations, and 4.1 times faster than an OpenMP baseline.

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Peter Thoman
    • 1
  • Stefan Moosbrugger
    • 1
  • Thomas Fahringer
    • 1
  1. 1.University of InnsbruckInnsbruckAustria

Personalised recommendations