Scheduling and Task Allocation

After a computational job is designed and realized as a set of tasks, an optimal assignment of these tasks to the processing elements in a given architecture needs to be determined. This problem is called the scheduling problem and known to be one of the most challenging problems in parallel and dis...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Advanced Computer Architecture and Parallel Processing s. 235 - 265
Hlavní autori: El‐Rewini, Hesham, Abd‐El‐Barr, Mostafa
Médium: Kapitola
Jazyk:English
Vydavateľské údaje: Hoboken, NJ, USA John Wiley & Sons, Inc 17.12.2004
Edícia:Wiley Series on Parallel and Distributed Computing
Predmet:
ISBN:9780471467403, 0471467405
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:After a computational job is designed and realized as a set of tasks, an optimal assignment of these tasks to the processing elements in a given architecture needs to be determined. This problem is called the scheduling problem and known to be one of the most challenging problems in parallel and distributed computing. The goal of scheduling is to determine an assignment of tasks to processing elements in order to optimize certain performance indexes. Performance and efficiency are two characteristics used to evaluate a scheduling system. We should evaluate a scheduling system based on the quality of the produced task assignment (schedule) and the efficiency of the scheduling algorithm (scheduler). The produced schedule is judged based on the performance criterion to be optimized, while the scheduling algorithm is evaluated based on its time complexity. For example, if we try to optimize the completion time of a program, the less the completion time, the better the schedule will be. Also, if two scheduling algorithms produce task assignments that have the same quality, the less complex algorithm is clearly the better. The scheduling problem in known to be computationally intractable in many cases. Fast optimal algorithms can only be obtained when some restrictions are imposed on the models representing the program and the distributed system. Solving the general problem in a reasonable amount of time requires the use of heuristic algorithms. These heuristics do not guarantee optimal solutions to the problem, but they attempt to find near optimal solutions. This chapter addresses the scheduling problem in many of its variations. We survey a number of solutions to this important problem. We cover program and system models, optimal algorithms, heuristic algorithms, scheduling versus allocation techniques, and homogeneous versus heterogeneous environments.
ISBN:9780471467403
0471467405
DOI:10.1002/0471478385.ch10