Dynamic Load Balancing using Work-Stealing
Book chapter, 2011
In this chapter, we present a methodology for efficient load balancing of computational problems that
can be easily decomposed into multiple tasks, but where it is hard to predict the computation cost of
each task, and where new tasks are created dynamically during runtime. We present this methodology
and its exploitation and feasibility in the context of graphics processors. Work-stealing allows an idle
core to acquire tasks from a core that is overloaded, causing the total work to be distributed evenly
among cores, while minimizing the communication costs, as tasks are only redistributed when required.
This will often lead to higher throughput than using static partitioning.