Effective Task Scheduling for Embedded Systems Using Iterative Cluster Slack Optimization

To solve computationally expensive problems, multiple processor SoCs (MPSoCs) are frequently used. Mapping of applications to MPSoC architectures and scheduling of tasks are key problems in system level design of embedded systems. In this paper, a cluster slack optimization algorithm is described, in which the tasks in a cluster are simultaneously mapped and scheduled for heterogeneous MPSoC architectures. In our approach, the tasks are iteratively clustered and each cluster is optimized by using the branch and bound technique to capitalize on slack distribution. The proposed static task mapping and scheduling method is applied to pipelined data stream processing as well as for batch processing. In pipelined processing, the tradeoff between throughput and memory cost can be exploited by adjusting a weighting parameter. Furthermore, an energy-aware task mapping and scheduling algorithm based on our cluster slack optimization is developed. Experimental results show improvement in latency, throughput and energy.

[1]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[2]  Pierre G. Paulin,et al.  Scheduling and Binding Algorithms for High-Level Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[3]  Viktor K. Prasanna,et al.  Energy-Balanced Task Allocation for Collaborative Processing in Wireless Sensor Networks , 2005, Mob. Networks Appl..

[4]  Petru Eles,et al.  Overhead-conscious voltage selection for dynamic and leakage energy reduction of time-constrained systems , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[5]  Tatsuhiro Tsuchiya,et al.  Genetics-based multiprocessor scheduling using task duplication , 1998, Microprocess. Microsystems.

[6]  Hiroaki Takada,et al.  Practical Energy-Aware Scheduling for Real-Time Multiprocessor Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[7]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[8]  Jong-Hwan Kim,et al.  Quantum-inspired evolutionary algorithm for a class of combinatorial optimization , 2002, IEEE Trans. Evol. Comput..

[9]  Santhosh Kumar Pilakkat,et al.  Task Mapping in Heterogeneous MPSoCs for System Level Design , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[10]  Soonhoi Ha,et al.  Pipelined data parallel task mapping/scheduling technique for MPSoC , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  James C. Browne,et al.  General approach to mapping of parallel computations upon multiprocessor architectures , 1988 .

[12]  Bharadwaj Veeravalli,et al.  Design of Fast and Efficient Energy-Aware Gradient-Based Scheduling Algorithms Heterogeneous Embedded Multiprocessor Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[13]  Kuo-Chi Lin,et al.  An incremental genetic algorithm approach to multiprocessor scheduling , 2004, IEEE Transactions on Parallel and Distributed Systems.

[14]  Krishna R. Pattipati,et al.  Schedule generation and reconfiguration for parallel machines , 1990, IEEE Trans. Robotics Autom..