• 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