z-logo
open-access-imgOpen Access
A comparative critical analysis of modern task-parallel runtimes.
Author(s) -
Kyle Wheeler,
Dylan Stark,
Richard C. Murphy
Publication year - 2012
Language(s) - English
Resource type - Reports
DOI - 10.2172/1088054
Subject(s) - computer science , parallel computing , scheduling (production processes) , task parallelism , task (project management) , execution time , solver , parallelism (grammar) , programming language , operations management , management , economics
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 scheduler’s assumptions.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom