June 16, 2013
Conference Paper

Steal Tree: Low-Overhead Tracing of Work Stealing Schedulers

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 steal- ing 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.

Revised: February 4, 2016 | Published: June 16, 2013

Citation

Lifflander J., S. Krishnamoorthy, and L. Kale. 2013. Steal Tree: Low-Overhead Tracing of Work Stealing Schedulers. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13), June 16-19, 2013, Seattle, Washington, 507-518. New York, New York:Association for Computing Machinery (ACM). PNNL-SA-93954. doi:10.1145/2491956.2462193