A List Scheduling Heuristic with New Node Priorities and Critical Child Technique for Task Scheduling with Communication Contention
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.
KeywordsDirect Acyclic Graph Task Schedule Bottom Level Schedule Length Schedule Result
- 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.Eker J, Janneck JW (2003) CAL Language Report. Tech. Rep. ERL Technical Memo UCB/ERL M03/48, University of California at Berkeley Google Scholar
- 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: http://www-rocq.inria.fr/syndex/pub/codes99/codes99.pdf
- 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
- 19.Sriram S, Bhattacharyya SS (2000) Embedded multiprocessors – scheduling and synchronization. Dekker, New York Google Scholar