SC19 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Poster 109: A Runtime Approach for Dynamic Load Balancing of OpenMP Parallel Loops in LLVM

Authors: Jonas H. Müller Korndörfer (University of Basel, Switzerland), Florina M. Ciorba (University of Basel, Switzerland), Akan Yilmaz (University of Basel, Switzerland), Christian Iwainsky (Technical University Darmstadt), Johannes Doerfert (Argonne National Laboratory), Hal Finkel (Argonne National Laboratory), Vivek Kale (Brookhaven National Laboratory), Michael Klemm (Intel Corporation)

Abstract: Load imbalance is the major source of performance degradation in computationally-intensive applications that frequently consist of parallel loops. Efficient scheduling can improve the performance of such programs. OpenMP is the de-facto standard for parallel programming on shared-memory systems. The current OpenMP specification provides only three choices for loop scheduling which are insufficient in scenarios with irregular loops, system-induced interference, or both. Therefore, this work augments the LLVM OpenMP runtime library implementation with eleven ready to use scheduling techniques. We tested existing and added scheduling strategies on several applications from NAS, SPEC OMP 2012, and CORAL2 benchmark suites. Experiments show that implemented scheduling techniques outperform others in certain application and system configurations. We measured performance gains of up to 6% compared to the fastest standard scheduling technique. This work aims to be a convincing step toward beyond-standard scheduling options in OpenMP for the benefit of evolving applications executing on multicore architectures.

Best Poster Finalist (BP): no

Poster: PDF
Poster summary: PDF

Back to Poster Archive Listing