Loop scheduling

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

* 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. https://books.google.com/books?id=UbpAAAAAQBAJ&q="Loop+scheduling".

## See also

* OpenMP
* Automatic parallelization
* Loop nest optimization

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Loop scheduling. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Loop_scheduling&oldid=185241"