An effective approach to schedule time reduction on multi-core embedded systems

Abstract In today’s computing world, the shift towards deploying multiple processors to generate more computing power is the trend to replace single core architectures. Although multiple processing cores have the potential to enhance the computing power, it is only as effective as the tools to parallelize the applications utilizing the system. In the area of embedded systems, multiprocessor-system-on-chip (MPSoCs) adopts the idea of adding more cores to a single chip. Thanks to advances in VLSI and architecture designs, multiple processing cores, complex communication interconnections, different memory hierarchies, along with set of inputs/outputs constitute an MPSoC. An MPSoC solves the problems of increasingly complex embedded applications that need to be run fast enough without prohibitive power consumption. MPSoCs often hosts multiple embedded applications. The MPSoC is supposed to effectively execute the applications concurrently using the system under set of constraints. Constraints can be speed through deadlines or power consumption. Often researchers consider a simpler version of this scenario where one application is utilizing the system at a time. This is an over simplification of the problem that might limit its applicability in real life scenarios. In this article, we present a holistic approach to resource partitioning and task scheduling under memory awareness of multiple embedded applications on an MPSoC with the objective of reduced schedule times. Results on different benchmark combinations show that our approaches effectively reduced the schedule computation times.

[1]  Mahmut T. Kandemir,et al.  Dynamic partitioning of processing and memory resources in embedded MPSoC architectures , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[2]  Minming Li,et al.  Joint task assignment and cache partitioning with cache locking for WCET minimization on MPSoC , 2011, J. Parallel Distributed Comput..

[3]  Jason Cong,et al.  MC-Sim: an efficient simulation tool for MPSoC designs , 2008, ICCAD 2008.

[4]  F. Catthoor,et al.  Task concurrency analysis and exploration of visual texture decoder on a heterogeneous platform , 2003, 2003 IEEE Workshop on Signal Processing Systems (IEEE Cat. No.03TH8682).

[5]  Marco Caccamo,et al.  Memory-centric scheduling for multicore hard real-time systems , 2012, Real-Time Systems.

[6]  Mihaela van der Schaar,et al.  Online Energy-Efficient Task-Graph Scheduling for Multicore Platforms , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Luca Benini,et al.  Polynomial-time algorithm for on-chip scratchpad memory partitioning , 2003, CASES '03.

[8]  Nacer-Eddine Zergainoh,et al.  Scheduling with accurate communication delay model and scheduler implementation for multiprocessor system-on-chip , 2007, Des. Autom. Embed. Syst..

[9]  Alexandra Fedorova,et al.  Contention-Aware Scheduling on Multicore Systems , 2010, TOCS.

[10]  Chao Wang,et al.  A Dependency Aware Task Partitioning and Scheduling Algorithm for Hardware-Software Codesign on MPSoCs , 2012, ICA3PP.

[11]  Vinay G. Vaidya,et al.  Dynamic scheduler for multi-core systems , 2010, 2010 2nd International Conference on Software Technology and Engineering.

[12]  Tulika Mitra,et al.  Integrated scratchpad memory optimization and task scheduling for MPSoC architectures , 2006, CASES '06.

[13]  Shiann-Rong Kuang,et al.  Partitioning and Pipelined Scheduling of Embedded System Using Integer Linear Programming , 2005, 11th International Conference on Parallel and Distributed Systems (ICPADS'05).

[14]  Nikil D. Dutt,et al.  On-chip vs. off-chip memory: the data partitioning problem in embedded processor-based systems , 2000, TODE.

[15]  Mahmut T. Kandemir,et al.  An integer linear programming based approach to simultaneous memory space partitioning and data allocation for chip multiprocessors , 2006, IEEE Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures (ISVLSI'06).

[16]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[17]  Srivaths Ravi,et al.  Synthesis of application-specific heterogeneous multiprocessor architectures using extensible processors , 2005, 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design.

[18]  Sanjoy K. Baruah,et al.  Guest editorial—RTNS 2010 , 2011, Real-Time Systems.

[19]  Mohammed Hassan,et al.  Efficient partitioning technique on multiple cores based on optimal scheduling and mapping algorithm , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[20]  Jason Cong,et al.  Energy-efficient scheduling on heterogeneous multi-core architectures , 2012, ISLPED '12.

[21]  Ishfaq Ahmad,et al.  Benchmarking and Comparison of the Task Graph Scheduling Algorithms , 1999, J. Parallel Distributed Comput..

[22]  Marco Caccamo,et al.  Memory-Aware Scheduling of Multicore Task Sets for Real-Time Systems , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[23]  Hyunchul Shin,et al.  Effective Task Scheduling for Embedded Systems Using Iterative Cluster Slack Optimization , 2013 .

[24]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[25]  Li Wang,et al.  Power Efficiency for Hardware/Software Partitioning with Time and Area Constraints on MPSoC , 2013, International Journal of Parallel Programming.

[26]  José Duato,et al.  Power‐aware scheduling with effective task migration for real‐time multicore embedded systems , 2013, Concurr. Comput. Pract. Exp..

[27]  Peter Marwedel,et al.  Assigning program and data objects to scratchpad for energy reduction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[28]  J. Ramanujam,et al.  An Effective Solution to Task Scheduling and Memory Partitioning for Multiprocessor System-on-Chip , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[29]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[30]  Tei-Wei Kuo,et al.  User-centric energy-efficient scheduling on multi-core mobile devices , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).