Contention-Aware Scheduling with Task Duplication

  • Oliver Sinnen
  • Andrea To
  • Manpreet Kaur
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5798)


Scheduling a task graph onto several processors is a trade-off between maximising concurrency and minimising interprocessor communication. A technique to reduce or avoid interprocessor communication is task duplication. Certain tasks are duplicated on several processors to produce the data locally and avoid the communication among processors. Most algorithms using task duplication are for the classic model, which allows concurrent communication and ignores contention for communication resources. The recently proposed, more realistic contention model introduces contention awareness into task scheduling by assigning the edges of the task graph to the links of the communication network. It is intuitive that scheduling under such a model benefits even more from task duplication. This paper proposes a contention-aware task duplication scheduling algorithm, after investigating how to use task duplication in the contention model. An extensive experimental evaluation demonstrates the significant improvements to the speedup of the produced schedules.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beaumont, O., Boudet, V., Robert, Y.: A realistic model and an efficient heuristic for scheduling with heterogeneous processors. In: HCW 2002, the 11th Heterogeneous Computing Workshop. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  2. 2.
    Darbha, S., Agrawal, D.P.: Optimal scheduling algorithm for distributed-memory machines. IEEE Transactions on Parallel and Distributed Systems 9(1), 87–95 (1998)CrossRefGoogle Scholar
  3. 3.
    Gerasoulis, A., Yang, T.: A comparison of clustering heuristics for scheduling DAGs on multiprocessors. Journal of Parallel and Distributed Computing 16(4), 276–291 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Hagras, T., Janeček, J.: A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Computing 31(7), 653–670 (2005)CrossRefGoogle Scholar
  5. 5.
    Kalinowski, T., Kort, I., Trystram, D.: List scheduling of general task graphs under LogP. Parallel Computing 26, 1109–1128 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Kasahara, H., Narita, S.: Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Transactions on Computers 33, 1023–1029 (1984)CrossRefGoogle Scholar
  7. 7.
    Kruatrachue, B., Lewis, T.G.: Grain size determination for parallel processing. IEEE Software 5(1), 23–32 (1988)Google Scholar
  8. 8.
    Liou, J.-C., Palis, M.A.: A new heuristic for scheduling parallel programs on multiprocessor. In: 1998 International Conference on Parallel Architectures and Compilation Techniques, October 1998, pp. 358–365 (1998)Google Scholar
  9. 9.
    Sandnes, F.E., Megson, G.M.: An evolutionary approach to static taskgraph scheduling with task duplication for minimised interprocessor traffic. In: Proc. Int. Conf. on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2001), Taipei, Taiwan, July 2001, pp. 101–108. Tamkang University Press (2001)Google Scholar
  10. 10.
    Sarkar, V.: Partitionning and Scheduling Parallel Programs for Execution on Multiprocessors. MIT Press, Cambridge (1989)Google Scholar
  11. 11.
    Sih, G.C., Lee, E.A.: A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Transactions,on Parallel and Distributed Systems 4(2), 175–186 (1993)CrossRefGoogle Scholar
  12. 12.
    Sinnen, O.: Task Scheduling for Parallel Systems. Wiley, Chichester (2007)CrossRefGoogle Scholar
  13. 13.
    Sinnen, O., Sousa, L.: List scheduling: Extension for contention awareness and evaluation of node priorities for heterogeneous cluster architectures. Parallel Computing 30(1), 81–101 (2004)CrossRefGoogle Scholar
  14. 14.
    Sinnen, O., Sousa, L.: On task scheduling accuracy: Evaluation methodology and results. The Journal of Supercomputing 27(2), 177–194 (2004)zbMATHCrossRefGoogle Scholar
  15. 15.
    Sinnen, O., Sousa, L.: Communication contention in task scheduling. IEEE Transactions,on Parallel and Distributed Systems 16(6), 503–515 (2005)CrossRefGoogle Scholar
  16. 16.
    Tam, A., Wang, C.L.: Contention-aware communication schedule for high speed communication  6(4), 339–353 (2003)Google Scholar
  17. 17.
    Wu, M.Y., Gajski, D.D.: Hypertool: A programming aid for message-passing systems. IEEE Transactions on Parallel and Distributed Systems 1(3), 330–343 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Oliver Sinnen
    • 1
  • Andrea To
    • 1
  • Manpreet Kaur
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of AucklandAucklandNew Zealand

Personalised recommendations