DeepAI AI Chat
Log In Sign Up

Task Bench: A Parameterized Benchmark for Evaluating Parallel Runtime Performance

by   Elliott Slaughter, et al.

We present Task Bench, a parameterized benchmark designed to explore the performance of parallel and distributed programming systems under a variety of application scenarios. Task Bench lowers the barrier to benchmarking multiple programming systems by making the implementation for a given system orthogonal to the benchmarks themselves: every benchmark constructed with Task Bench runs on every Task Bench implementation. Furthermore, Task Bench's parameterization enables a wide variety of benchmark scenarios that distill the key characteristics of larger applications. We conduct a comprehensive study with implementations of Task Bench in 15 programming systems on up to 256 Haswell nodes of the Cori supercomputer. We introduce a novel metric, minimum effective task granularity to study the baseline runtime overhead of each system. We show that when running at scale, 100 μs is the smallest granularity that even the most efficient systems can reliably support with current technologies. We also study each system's scalability, ability to hide communication and mitigate load imbalance.


page 1

page 2

page 3

page 4


Quantifying Overheads in Charm++ and HPX using Task Bench

Asynchronous Many-Task (AMT) runtime systems take advantage of multi-cor...

Advanced Synchronization Techniques for Task-based Runtime Systems

Task-based programming models like OmpSs-2 and OpenMP provide a flexible...

Distributed Work Stealing in a Task-Based Dataflow Runtime

The task-based dataflow programming model has emerged as an alternative ...

The OpenMP Cluster Programming Model

Despite the various research initiatives and proposed programming models...

Accelerating Task-based Iterative Applications

Task-based programming models have risen in popularity as an alternative...

Asynchronous Runtime with Distributed Manager for Task-based Programming Models

Parallel task-based programming models, like OpenMP, allow application d...

Runtime vs Scheduler: Analyzing Dask's Overheads

Dask is a distributed task framework which is commonly used by data scie...