Steal Tree: Low-Overhead Tracing of Work Stealing Schedulers
Programming Language Design and Implementation (PLDI) 2013
Publication Type: Paper
Repository URL:
Abstract
Work stealing is a popular approach to scheduling task-parallel
programs. The flexibility inherent in work stealing when dealing with
load imbalance results in seemingly irregular computation structures,
complicating the study of its runtime behavior.
In this paper, we present an approach to efficiently trace
async-finish parallel programs scheduled using work stealing. We
identify key properties that allow us to trace the execution of tasks
with low time and space overheads. We also study the usefulness of the
proposed schemes in supporting algorithms for data-race detection and
retentive stealing presented in the literature. We demonstrate that
the perturbation due to tracing is within the variation in the
execution time with 99\% confidence and the traces are concise,
amounting to a few tens of kilobytes per thread in most cases. We also
demonstrate that the traces enable significant reductions in the cost
of detecting data races and result in low, stable space overheads in
supporting retentive stealing for async-finish programs.
People
Research Areas