Synonyms
Definition
Scheduling algorithms aim at defining when operations of a program are to be executed. Such an ordering, called a schedule, has to make sure that the dependences between the operations are met. Scheduling for parallelism consists in looking for a schedule that allows a program to be efficiently executed on a parallel architecture. This efficiency may be evaluated in term of total execution time, utilization of the processors, power consumption, or any combination of this kind of criteria. Scheduling is often combined with mapping, which consists in assigning an operation to a resource of an architecture.
Discussion
Introduction
Scheduling is an essential design step to execute an algorithm on a parallel architecture. Usually, the algorithm is specified by means of a program from which dependences between statements or operations (also called tasks) can be isolated: an operation A depends on another operation B if the evaluation of B must precede...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Bibliography
Benoit A, Robert Y (Oct 2008) Complexity results for throughput and latency optimization of replicated and data-parallel workflows. Algorithmica 57(4):689–724
Darte A, Robert Y, Vivien F (2000) Scheduling and automatic parallelization. Birkhäuser, Boston
El-Rewini H, Lewis TG, Ali HH (1994) Task scheduling in parallel and distributed systems. Prentice Hall, Englewood Cliffs, New Jersey
Feautrier P (February 1991) Dataflow analysis of array and scalar references. Int J Parallel Program 20(1):23–53
Feautrier P (Oct 1992) Some efficient solutions to the affine scheduling problem, Part I, one dimensional time. Int J Parallel Program 21(5):313–347
Feautrier P (December 1992) Some efficient solutions to the affine scheduling problem, Part II, multidimensional time. Int J Parallel Program 21(6):389–420
Hanen C, Munier A (1995) Cyclic Scheduling on parallel processors: An overview. In: Chrétienne P, Coffman EG Jr, Lenstra K, Lia Z (eds) Scheduling theory and its applications. John Wiley & Sons
Karp RM, Miller RE, Winograd S (July 1967) The organization of computations for uniform recurrence equations. J Assoc Comput Machin 14(3):563–590
Lam MS (1988) Software pipelining: an effective scheduling technique for VLIW Machines. In: SIGPLAN’88 conference on programming language, design and implementation, Atlanta, GA. ACM Press, pp 318–328
Lamport L (Feb 1974) The parallel execution of DO loops. Commun ACM 17(2):83–93
Mauras C, Quinton P, Rajopadhye S, Saouter Y (September 1990) Scheduling affine parameterized recurrences by means of variable dependent timing functions. In: Kung SY, Schwartzlander EE, Fortes JAB, Przytula KW (eds) Application Specific Array Processors, Princeton University, IEEE Computer Society Press, pp 100–110
Zima H, Chapman B (1989) Supercompilers for Parallel and Vector Computers. ACM Press, New York
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Quinton, P. (2011). Scheduling Algorithms. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_66
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_66
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering