Cluster Computing

, Volume 3, Issue 2, pp 113–124 | Cite as

Link contention-constrained scheduling and mapping of tasks and messages to a network of heterogeneous processors

  • Yu-Kwong Kwok
  • Ishfaq Ahmad


In this paper, we consider the problem of scheduling and mapping precedence-constrained tasks to a network of heterogeneous processors. In such systems, processors are usually physically distributed, implying that the communication cost is considerably higher than in tightly coupled multiprocessors. Therefore, scheduling and mapping algorithms for such systems must schedule the tasks as well as the communication traffic by treating both the processors and communication links as equally important resources. We propose an algorithm that achieves these objectives and adapts its task scheduling and mapping decisions according to the given network topology. Just like tasks, messages are also scheduled and mapped to suitable links during the minimization of the finish times of tasks. Heterogeneity of processors is exploited by scheduling critical tasks to the fastest processors. Our experimental study has demonstrated that the proposed algorithm is efficient and robust, and yields consistent performance over a wide range of scheduling parameters.


Schedule Algorithm Regular Graph Serial Order Task Graph Execution Cost 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    I. Ahmad and Y.-K. Kwok, On exploiting task duplication in parallel program scheduling, IEEE Transactions on Parallel and Distributed Systems 9(9) (September 1998) 872–892.CrossRefGoogle Scholar
  2. [2]
    I. Ahmad, Y.-K. Kwok, M.-Y. Wu and W. Shu, CASCH: A software tool for automatic parallelization and scheduling of programs on message-passing multiprocessors, IEEE Concurrency (2000) to appear.Google Scholar
  3. [3]
    M. Cosnard and M. Loi, Automatic task graphs generation techniques, Parallel Processing Letters 5(4) (December 1995) 527–538.CrossRefGoogle Scholar
  4. [4]
    M. Cosnard, M. Marrakchi, Y. Robert and D. Trystam, Parallel Gaussian elimination on an MIMD computer, Parallel Computing 6 (1988) 275–296.zbMATHMathSciNetCrossRefGoogle Scholar
  5. [5]
    H. El-Rewini, T.G. Lewis and H.H. Ali, Task Scheduling in Parallel and Distributed Systems (Prentice-Hall, Englewood Cliffs, NJ, 1994).Google Scholar
  6. [6]
    T. Fahringer, Estimating and optimizing performance for parallel programs, IEEE Computer 28(11) (November 1995) 47–56.Google Scholar
  7. [7]
    R.F. Freund and H.J. Siegel, Heterogeneous processing, IEEE Computer 26(6) (June 1993) 13–17.Google Scholar
  8. [8]
    M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness (Freeman, 1979).Google Scholar
  9. [9]
    A. Ghafoor and J. Yang, A distributed heterogeneous supercomputing management system, IEEE Computer 26(6) (June 1993) 78–86.Google Scholar
  10. [10]
    K. Hwang, Z. Xu and M. Arakawa, Benchmark evaluation of the IBM SP2 for parallel signal processing, IEEE Transactions on Parallel and Distributed Systems 7(5) (May 1996) 522–536.CrossRefGoogle Scholar
  11. [11]
    M.A. Iverson, F. Ozguner and L.C. Potter, Statistical prediction of task execution times through analytic benchmarking for scheduling in a heterogeneous environment, in: Proceedings of Eighth Heterogeneous Computing Workshop (HCW'99) (1999) pp. 99-111.Google Scholar
  12. [12]
    D. Kim and B.G. Yi, A two-pass scheduling algorithm for parallel programs, Parallel Computing 20 (1994) 869–885.zbMATHMathSciNetCrossRefGoogle Scholar
  13. [13]
    Y.-K. Kwok and I. Ahmad, Dynamic critical path scheduling: An effective technique for allocating tasks graphs to multiprocessors, IEEE Transactions on Parallel and Distributed Systems 7(5) (May 1996) 506–521.CrossRefGoogle Scholar
  14. [14]
    Y.-K. Kwok and I. Ahmad, Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm, Journal of Parallel and Distributed Computing 47(1) (November 1997) 58–77.CrossRefGoogle Scholar
  15. [15]
    Y.-K. Kwok and I. Ahmad, FASTEST: A practical low-complexity algorithm for compile-time assignment of parallel programs to multiprocessors, IEEE Transactions on Parallel and Distributed Systems 10(2) (February 1999) 147–159.CrossRefGoogle Scholar
  16. [16]
    Y.-K. Kwok and I. Ahmad, Benchmarking and comparison of the task graph scheduling algorithms, Journal of Parallel and Distributed Computing 59(3) (December 1999) 381–422.zbMATHCrossRefGoogle Scholar
  17. [17]
    Y.-K. Kwok and I. Ahmad, Static scheduling algorithms for allocating directed task graphs to multiprocessors, ACM Computing Surveys 31(4) (December 1999).Google Scholar
  18. [18]
    M.G. Norman and P. Thanisch, Models of machines and computation for mapping in multicomputers, ACM Computing Surveys 25(3) (September 1993) 263–302.CrossRefGoogle Scholar
  19. [19]
    M.A. Palis, J.-C. Liou and D.S.L. Wei, Task clustering and scheduling for distributed memory parallel architectures, IEEE Transactions on Parallel and Distributed Systems 7(1) (January 1996) 46–55.CrossRefGoogle Scholar
  20. [20]
    V. Sarkar, Partitioning and Scheduling Parallel Programs for Multiprocessors (MIT Press, Cambridge, MA, 1989).Google Scholar
  21. [21]
    B. Shirazi, M. Wang and G. Pathak, Analysis and evaluation of heuristic methods for static scheduling, Journal of Parallel and Distributed Computing 10(3) (November 1990) 222–232.CrossRefGoogle Scholar
  22. [22]
    H.J. Siegel, H.G. Dietz and J.K. Antonio, Software support for heterogeneous computing, ACM Computing Surveys 28(1) (March 1996) 237–239.CrossRefGoogle Scholar
  23. [23]
    G.C. Sih and E.A. Lee, A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures, IEEE Transactions on Parallel and Distributed Systems 4(2) (February 1993) 75–87.CrossRefGoogle Scholar
  24. [24]
    M.-Y. Wu and D.D. Gajski, Hypertool: A programming aid for message-passing systems, IEEE Transactions on Parallel and Distributed Systems 1(3) (July 1990) 330–343.CrossRefGoogle Scholar
  25. [25]
    T. Yang and A. Gerasoulis, List scheduling with and without communication delays, Parallel Computing 19 (1993) 1321–1344.zbMATHCrossRefGoogle Scholar
  26. [26]
    J. Yang, A. Khokhar, S. Sheikh and A. Ghafoor, Estimating execution time for parallel tasks in heterogeneous processing (HP) environment, in: Proceedings of the Fourth Heterogeneous Computing Workshop (HCW'94) (1994) pp. 23-28.Google Scholar
  27. [27]
    A.Y. Zomaya, M. Clements and S. Olariu, A framework for reinforcement-based scheduling in parallel processor systems, IEEE Transactions on Parallel and Distributed Systems 9(3) (March 1998) 249–260.CrossRefGoogle Scholar

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Yu-Kwong Kwok
    • 1
  • Ishfaq Ahmad
    • 2
  1. 1.Department of Electrical and Electronic EngineeringThe University of Hong KongHong Kong
  2. 2.Department of Computer ScienceThe Hong Kong University of Science and TechnologyHong Kong

Personalised recommendations