Title :
Optimization via Reflection on Work Stealing in TBB
Author :
Robison, Arch ; Voss, Michael ; Kukanov, Alexey
Author_Institution :
Intel Corp., Santa Clara, CA
Abstract :
Intelreg Threading Building Blocks (Intelreg TBB) is a C++ library for parallel programming. Its templates for generic parallel loops are built upon nested parallelism and a work-stealing scheduler. This paper discusses optimizations where the high-level algorithm inspects or biases stealing. Two optimizations are discussed in detail. The first dynamically optimizes grain size based on observed stealing. The second improves prior work that exploits cache locality by biased stealing. This paper shows that in a task stealing environment, deferring task spawning can improve performance in some contexts. Performance results for simple kernels are presented.
Keywords :
C++ language; multi-threading; scheduling; shared memory systems; software libraries; C++ library; Intel; Threading Building Blocks; parallel programming; task stealing; work stealing; work-stealing scheduler; Delay; Gold; Grain size; Inspection; Kernel; Libraries; Parallel programming; Reflection; Scheduling; Tree data structures;
Conference_Titel :
Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
Conference_Location :
Miami, FL
Print_ISBN :
978-1-4244-1693-6
Electronic_ISBN :
1530-2075
DOI :
10.1109/IPDPS.2008.4536188