Skip to main content

Scheduling Algorithms

  • Reference work entry
Encyclopedia of Parallel Computing
  • 400 Accesses

Synonyms

Execution ordering

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...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

  1. Benoit A, Robert Y (Oct 2008) Complexity results for throughput and latency optimization of replicated and data-parallel workflows. Algorithmica 57(4):689–724

    MathSciNet  Google Scholar 

  2. Darte A, Robert Y, Vivien F (2000) Scheduling and automatic parallelization. Birkhäuser, Boston

    MATH  Google Scholar 

  3. El-Rewini H, Lewis TG, Ali HH (1994) Task scheduling in parallel and distributed systems. Prentice Hall, Englewood Cliffs, New Jersey

    Google Scholar 

  4. Feautrier P (February 1991) Dataflow analysis of array and scalar references. Int J Parallel Program 20(1):23–53

    MATH  Google Scholar 

  5. 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

    MATH  MathSciNet  Google Scholar 

  6. Feautrier P (December 1992) Some efficient solutions to the affine scheduling problem, Part II, multidimensional time. Int J Parallel Program 21(6):389–420

    MATH  MathSciNet  Google Scholar 

  7. 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

    Google Scholar 

  8. Karp RM, Miller RE, Winograd S (July 1967) The organization of computations for uniform recurrence equations. J Assoc Comput Machin 14(3):563–590

    MATH  MathSciNet  Google Scholar 

  9. 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

    Google Scholar 

  10. Lamport L (Feb 1974) The parallel execution of DO loops. Commun ACM 17(2):83–93

    MATH  MathSciNet  Google Scholar 

  11. 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

    Google Scholar 

  12. Zima H, Chapman B (1989) Supercompilers for Parallel and Vector Computers. ACM Press, New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics