Loop scheduling

From Justapedia, unleashing the power of collective wisdom
Jump to navigation Jump to search

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.

See also