Loop scheduling
Appearance
This article needs additional citations for verification. (February 2008) |
In parallel computing, loop scheduling is the problem of assigning proper iterations of parallelizable loops among n processors to achieve load balancing and maintain data locality with minimum dispatch overhead.
Typical loop scheduling methods are:
- static even scheduling: evenly divide loop iteration space into n chunks and assign each chunk to a processor
- dynamic scheduling: a chunk of loop iteration is dispatched at runtime by an idle processor. When the chunk size is 1 iteration, it is also called self-scheduling.
- guided scheduling: similar to dynamic scheduling, but the chunk sizes per dispatch keep shrinking until reaching a preset value.
References
[edit]- Thomas Rauber; Gudula Rünger (13 June 2013). Parallel Programming: for Multicore and Cluster Systems. Springer Science & Business Media. ISBN 978-3-642-37801-0.