Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

A comparative critical analysis of modern task-parallel runtimes.

Technical Report ·
DOI:https://doi.org/10.2172/1088054· OSTI ID:1088054

The rise in node-level parallelism has increased interest in task-based parallel runtimes for a wide array of application areas. Applications have a wide variety of task spawning patterns which frequently change during the course of application execution, based on the algorithm or solver kernel in use. Task scheduling and load balance regimes, however, are often highly optimized for specific patterns. This paper uses four basic task spawning patterns to quantify the impact of specific scheduling policy decisions on execution time. We compare the behavior of six publicly available tasking runtimes: Intel Cilk, Intel Threading Building Blocks (TBB), Intel OpenMP, GCC OpenMP, Qthreads, and High Performance ParalleX (HPX). With the exception of Qthreads, the runtimes prove to have schedulers that are highly sensitive to application structure. No runtime is able to provide the best performance in all cases, and those that do provide the best performance in some cases, unfortunately, provide extremely poor performance when application structure does not match the schedulers assumptions.

Research Organization:
Sandia National Lab. (SNL-NM), Albuquerque, NM (United States); Micron Technology, Inc.,, Boise, ID
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA)
DOE Contract Number:
AC04-94AL85000
OSTI ID:
1088054
Report Number(s):
SAND2012-10594; 393344
Country of Publication:
United States
Language:
English