A List Scheduling Heuristic with New Node Priorities and Critical Child Technique for Task Scheduling with Communication Contention

  • Pengcheng MuEmail author
  • Jean-François Nezan
  • Mickaël Raulet
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 73)


Task scheduling is becoming an important aspect for parallel programming of modern embedded systems. In this chapter, the application to be scheduled is modeled as a Directed Acyclic Graph (DAG), and the architecture targets parallel embedded systems composed of multiple processors interconnected by buses and/or switches. This chapter presents new list scheduling heuristics with communication contention. Furthermore, we define new node priorities (top level and bottom level) to sort nodes, and propose an advanced technique named critical child to select a processor to execute a node. Experimental results show that the proposed method is effective to reduce the schedule length, and the runtime performance is greatly improved in the cases of medium and high communication. Since the communication cost is increasing from medium to high in modern applications like digital communication and video compression, the proposed method is well-adapted for scheduling these applications over parallel embedded systems.


Direct Acyclic Graph Task Schedule Bottom Level Schedule Length Schedule Result 
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.


  1. 1.
    Adam TL, Chandy KM, Dickson JR (1974) A comparison of list schedules for parallel processing systems. Commun ACM 17(12):685–690. zbMATHCrossRefGoogle Scholar
  2. 2.
    Buck JT (1993) Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. thesis, EECS Department. University of California, Berkeley Google Scholar
  3. 3.
    Eker J, Janneck JW (2003) CAL Language Report. Tech. Rep. ERL Technical Memo UCB/ERL M03/48, University of California at Berkeley Google Scholar
  4. 4.
    Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York zbMATHGoogle Scholar
  5. 5.
    Grandpierre T, Lavarenne C, Sorel Y (1999) Optimized rapid prototyping for real-time embedded heterogeneous multiprocessors. In: Proceedings of 7th international workshop on hardware/software co-design, CODES ’99, Rome, Italy. URL:
  6. 6.
    Hwang JJ, Chow YC, Anger FD, Lee CY (1989) Scheduling precedence graphs in systems with interprocessor communication times. SIAM J Comput 18(2):244–257. MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Kasahara H, Narita S (1984) Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans Comput 33(11):1023–1029. CrossRefGoogle Scholar
  8. 8.
    Kwok YK, Ahmad I (1995) Bubble scheduling: a quasi dynamic algorithm for static allocation of tasks to parallel architectures. In: SPDP ’95: proceedings of the 7th IEEE symposium on parallel and distributed processing. IEEE Computer Society, Washington, p 36 CrossRefGoogle Scholar
  9. 9.
    Kwok YK, Ahmad I (1996) Dynamic critical-path scheduling: an effective technique for allocating task graphs onto multiprocessors. IEEE Trans Parallel Distrib Syst 7(5):506–521.  10.1109/71.503776 CrossRefGoogle Scholar
  10. 10.
    Kwok YK, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31(4):406–471. CrossRefGoogle Scholar
  11. 11.
    Lee E, Parks T (1995) Dataflow process networks. Proc IEEE 83(5):773–801.  10.1109/5.381846 CrossRefGoogle Scholar
  12. 12.
    Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245 CrossRefGoogle Scholar
  13. 13.
    Martin G (2006) Overview of the MPSoC design challenge. In: Proceedings of the 43rd annual conference on design automation, San Francisco, CA, USA Google Scholar
  14. 14.
    Sarkar V (1989) Partitioning and scheduling parallel programs for multiprocessors. MIT Press, Cambridge zbMATHGoogle Scholar
  15. 15.
    Sih G, Lee E (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4:175–187.  10.1109/71.207593 CrossRefGoogle Scholar
  16. 16.
    Sinnen O (2007) Task scheduling for parallel systems. Wiley, New York CrossRefGoogle Scholar
  17. 17.
    Sinnen O, Sousa L (2004) List scheduling: extension for contention awareness and evaluation of node priorities for heterogeneous cluster architectures. Parallel Comput 30(1):81–101 CrossRefGoogle Scholar
  18. 18.
    Sinnen O, Sousa L (2005) Communication contention in task scheduling. IEEE Trans Parallel Distrib Syst 16(6):503–515 CrossRefGoogle Scholar
  19. 19.
    Sriram S, Bhattacharyya SS (2000) Embedded multiprocessors – scheduling and synchronization. Dekker, New York Google Scholar
  20. 20.
    Stuijk S, Geilen M, Basten T (2006) SDF3: SDF for free. In: Application of concurrency to system design, 6th international conference, ACSD 2006, proceedings. IEEE Comput Soc, Los Alamitos, pp 276–278.  10.1109/ACSD.2006.23. URL: Google Scholar
  21. 21.
    Tang X, Li K, Padua D (2009) Communication contention in APN list scheduling algorithm. Sci China Ser F 52(1):59–69 MathSciNetzbMATHCrossRefGoogle Scholar
  22. 22.
    Wu MY, Gajski D (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343. URL: CrossRefGoogle Scholar
  23. 23.
    Yang T, Gerasoulis A (1994) DSC: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967.  10.1109/71.308533 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  • Pengcheng Mu
    • 1
    Email author
  • Jean-François Nezan
    • 2
  • Mickaël Raulet
    • 2
  1. 1.Ministry of Education Key Lab for Intelligent Networks and Network Security, School of Electronic and Information EngineeringXi’an Jiaotong UniversityXi’anP.R. China
  2. 2.IETR/Image and Remote Sensing GroupCNRS UMR 6164/INSA RennesRennes CedexFrance

Personalised recommendations