A static scheduling scheme of multicore compiler for loop load imbalance in OpenMP

Benbin Chen, Donghui Guo · 2014

A static scheduling scheme in OpenMP is presented in this paper to solve the loop load imbalance for load decreasing loop. Loop load balance is the key issue to improve the speedup of parallel program. Different from the traditional default static scheduling based on OpenMP specification, which the loop iterations are divided into chunks that are approximately equal in size, and the chunks are assigned to the threads in a round-robin fashion in the order of the thread number, the iterations allocation is modified based on the loop load. Especially, for load decreasing loop, the new static scheduling scheme hopes to calculate the load of each assigned chunks to keep the balance of work in the loop. The heuristic area calculation method could be used to calculate the load of each chunk. As a result, the load balance is improved by the new static scheduling scheme to ensure the parallel efficiency of OpenMP programs.

Read the paper · More papers on PaperTik