DocumentCode
1681800
Title
Optimization via Reflection on Work Stealing in TBB
Author
Robison, Arch ; Voss, Michael ; Kukanov, Alexey
Author_Institution
Intel Corp., Santa Clara, CA
fYear
2008
Firstpage
1
Lastpage
8
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
Conference_Location
Miami, FL
ISSN
1530-2075
Print_ISBN
978-1-4244-1693-6
Electronic_ISBN
1530-2075
Type
conf
DOI
10.1109/IPDPS.2008.4536188
Filename
4536188
Link To Document