# A Fast Causal Profiler for Task Parallel Programs

**Authors:** Adarsh Yoga, Santosh Nagarakatte

arXiv: 1705.01522 · 2017-07-04

## TL;DR

TASKPROF is a hardware-assisted, fine-grained causal profiler for task parallel programs that helps identify and optimize parallelism bottlenecks efficiently, even before concrete optimizations are known.

## Contribution

The paper introduces TASKPROF, a novel causal profiling tool leveraging hardware counters for minimal perturbation and parallel execution, enabling effective bottleneck identification and optimization guidance.

## Key findings

- Successfully identified bottlenecks in 23 applications.
- Achieved tenfold increase in parallelism in five applications.
- Developers found TASKPROF easy to use for performance analysis.

## Abstract

This paper proposes TASKPROF, a profiler that identifies parallelism bottlenecks in task parallel programs. It leverages the structure of a task parallel execution to perform fine-grained attribution of work to various parts of the program. TASKPROF's use of hardware performance counters to perform fine-grained measurements minimizes perturbation. TASKPROF's profile execution runs in parallel using multi-cores. TASKPROF's causal profile enables users to estimate improvements in parallelism when a region of code is optimized even when concrete optimizations are not yet known. We have used TASKPROF to isolate parallelism bottlenecks in twenty three applications that use the Intel Threading Building Blocks library. We have designed parallelization techniques in five applications to in- crease parallelism by an order of magnitude using TASKPROF. Our user study indicates that developers are able to isolate performance bottlenecks with ease using TASKPROF.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1705.01522/full.md

## Figures

6 figures with captions in the complete paper: https://tomesphere.com/paper/1705.01522/full.md

## References

46 references — full list in the complete paper: https://tomesphere.com/paper/1705.01522/full.md

---
Source: https://tomesphere.com/paper/1705.01522