Issue No.01 - January (1997 vol.8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.569656
<p><b>Abstract</b>—Using runtime information of load distributions and processor affinity, we propose an adaptive scheduling algorithm and its variations from different control mechanisms. The proposed algorithm applies different degrees of aggressiveness to adjust loop scheduling granularities, aiming at improving the execution performance of parallel loops by making scheduling decisions that match the real workload distributions at runtime. We experimentally compared the performance of our algorithm and its variations with several existing scheduling algorithms on two parallel machines: the KSR-1 and the Convex Exemplar. The kernel application programs we used for performance evaluation were carefully selected for different classes of parallel loops. Our results show that using runtime information to adaptively adjust scheduling granularity is an effective way to handle loops with a wide range of load distributions when no prior knowledge of the execution can be used. The overhead caused by collecting runtime information is insignificant in comparison with the performance improvement. Our experiments show that the adaptive algorithm and its five variations outperformed the existing scheduling algorithms.</p>
Adaptive scheduling algorithms, dynamic information, load balancing, parallel loops, processor affinity, shared-memory systems.
Yong Yan, Canming Jin, Xiaodong Zhang, "Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems", IEEE Transactions on Parallel & Distributed Systems, vol.8, no. 1, pp. 70-81, January 1997, doi:10.1109/71.569656