Title
Task-parallel Runtime System Optimization Using Static Compiler Analysis.
Abstract
Achieving high performance in task-parallel runtime systems, especially with high degrees of parallelism and fine-grained tasks, requires tuning a large variety of behavioral parameters according to program characteristics. In the current state of the art, this tuning is generally performed in one of two ways: either by a group of experts who derive a single setup which achieves good -- but not optimal -- performance across a wide variety of use cases, or by monitoring a system's behavior at runtime and responding to it. The former approach invariably fails to achieve optimal performance for programs with highly distinct execution patterns, while the latter induces some overhead and cannot affect parameters which need to be fixed at compile time. In order to mitigate these drawbacks, we propose a set of novel static compiler analyses specifically designed to determine program features which affect the optimal settings for a task-parallel execution environment. These features include the parallel structure of task spawning, the granularity of individual tasks, and an estimate of the stack size required per task. Based on the result of these analyses, various runtime system parameters are then tuned at compile time. We have implemented this approach in the Insieme compiler and runtime system, and evaluated its effectiveness on a set of 12 task parallel benchmarks running with 1 to 64 hardware threads. Across this entire space of use cases, our implementation achieves a geometric mean performance improvement of 39%.
Year
DOI
Venue
2017
10.1145/3075564.3075574
Conf. Computing Frontiers
Field
DocType
Citations 
Profile-guided optimization,Computer science,Compile time,Parallel computing,Memory ordering,Real-time computing,Runtime verification,Thread (computing),Compiler,Runtime system,Performance improvement
Conference
2
PageRank 
References 
Authors
0.36
14
3
Name
Order
Citations
PageRank
Peter Thoman17913.20
Peter Zangerl231.76
Thomas Fahringer32847254.09