Title :
Dynamic scheduling strategies for shared-memory multiprocessors
Author :
Hamidzadeh, Babak ; Lilja, David J.
Author_Institution :
Dept. of Comput. Sci., Univ. of Sci. & Technol., Kowloon, Hong Kong
Abstract :
Efficiently scheduling parallel tasks on to the processors of a shared-memory multiprocessor is critical to achieving high performance. Given perfect information at compile-time, a static scheduling strategy can produce an assignment of tasks to processors that ideally balances the load among the processors while minimizing the run-time scheduling overhead and the average memory referencing delay. Since perfect information is seldom available, however, dynamic scheduling strategies distribute the task assignment function to the processors by having idle processors allocate work to themselves from a shared queue. While this approach can improve the load balancing compared to static scheduling, the time required to access the shared work queue adds directly to the overall execution time. To overlap the time required to dynamically schedule tasks with the execution of the tasks, we examine a class of self-adjusting dynamic scheduling (SADS) algorithms that centralizes the assignment of tasks to processors. These algorithms dedicate a single processor of the multiprocessor to perform a novel on-line branch-and-bound technique that dynamically computes partial schedules based on the loads of the other processors and the memory locality (affinity) of the tasks and the processors. Our simulation results show that this centralized scheduling outperforms self-scheduling algorithms even when using only a small number of processors
Keywords :
processor scheduling; resource allocation; shared memory systems; average memory referencing delay; branch-and-bound technique; dynamic scheduling strategies; load balancing; memory locality; parallel tasks scheduling; partial schedules; run-time scheduling; self-adjusting dynamic scheduling algorithms; shared-memory multiprocessors; static scheduling strategy; task assignment function; Computer science; Delay effects; Dynamic scheduling; Heuristic algorithms; Load management; Multiprocessing systems; Optimal scheduling; Processor scheduling; Runtime; Scheduling algorithm;
Conference_Titel :
Distributed Computing Systems, 1996., Proceedings of the 16th International Conference on
Print_ISBN :
0-8186-7399-0
DOI :
10.1109/ICDCS.1996.507918