Linking run-time resource management of embedded multi-core platforms with automated design-time exploration

Nowadays, owing to unpredictable changes of the environment and workload variation, optimally running multiple applications in terms of quality, performance and power consumption on embedded multi-core platforms is a huge challenge. A lightweight run-time manager, linked with an automated design-time exploration and incorporated in the host processor of the platform, is required to dynamically and efficiently configure the applications according to the available platform resources (e.g. processing elements, memories, communication bandwidth), for minimising the cost (e.g. power consumption), while satisfying the constraints (e.g. deadlines). This study presents a flow linking a design-time design space explorer, coupled with platform simulators at two abstraction levels, with a fast and lightweight priority-based heuristic integrated in the run-time manager to select near-optimal application configurations. To illustrate its feasibility and the very low complexity of the run-time selection, the proposed flow is used to manage the processors and clock frequencies of a multiple-stream MPEG4 encoder chip dedicated to automotive cognitive safety applications.

[1]  Bjorn De Sutter,et al.  Implementation of a Coarse-Grained Reconfigurable Media Processor for AVC Decoder , 2008, J. Signal Process. Syst..

[2]  M. M. Bassiri,et al.  Mitigating reconfiguration overhead in on-line task scheduling for reconfigurable computing systems , 2010, 2010 2nd International Conference on Computer Engineering and Technology.

[3]  Vittorio Zaccaria,et al.  A design space exploration methodology supporting run-time resource management for multi-processor Systems-on-chip , 2009, 2009 IEEE 7th Symposium on Application Specific Processors.

[4]  Jian Li,et al.  Dynamic power-performance adaptation of parallel computation on chip multiprocessors , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[5]  Vincent De Sapio,et al.  Combining Virtualization, resource characterization, and Resource management to enable efficient high performance compute platforms through intelligent dynamic resource allocation , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[6]  Niraj K. Jha,et al.  Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[7]  Tak Wah Lam,et al.  Non-migratory online deadline scheduling on multiprocessors , 2004, SODA '04.

[8]  Henk Corporaal,et al.  System-scenario-based design of dynamic embedded systems , 2009, TODE.

[9]  Viktor K. Prasanna,et al.  Power-aware resource allocation for independent tasks in heterogeneous real-time systems , 2002, Ninth International Conference on Parallel and Distributed Systems, 2002. Proceedings..

[10]  Erik Brockmeyer,et al.  Exploring parallelizations of applications for MPSoC platforms using MPA , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Iain E. G. Richardson,et al.  H.264 and MPEG-4 Video Compression: Video Coding for Next-Generation Multimedia , 2003 .

[12]  Francky Catthoor,et al.  Scenario Based Mapping of Dynamic Applications on MPSoC: A 3D Graphics Case Study , 2009, SAMOS.

[13]  Luca Benini,et al.  Application-specific power-aware workload allocation for voltage scalable MPSoC platforms , 2005, 2005 International Conference on Computer Design.

[14]  Luca Benini,et al.  A survey of design techniques for system-level dynamic power management , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[15]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[16]  Jian Li,et al.  Power-Performance Implications of Thread-level Parallelism on Chip Multiprocessors , 2005, IEEE International Symposium on Performance Analysis of Systems and Software, 2005. ISPASS 2005..

[17]  H. Corporaal,et al.  Design-Time Application Exploration for MP-SoC Customized Run-Time Management , 2005, 2005 International Symposium on System-on-Chip.

[18]  Théodore Marescaux,et al.  Centralized run-time resource management in a network-on-chip containing reconfigurable hardware tiles , 2005, Design, Automation and Test in Europe.

[19]  D. Chen,et al.  Task scheduling and voltage selection for energy minimization , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[20]  Rudy Lauwereins,et al.  Energy-Aware Runtime Scheduling for Embedded-Multiprocessor SOCs , 2001, IEEE Des. Test Comput..

[21]  Diederik Verkest,et al.  Low cost task migration initiation in a heterogeneous MP-SoC , 2005, Design, Automation and Test in Europe.

[22]  Sander Stuijk,et al.  A parameterized compositional multi-dimensional multiple-choice knapsack heuristic for CMP run-time management , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[23]  Sharad Malik,et al.  Flexible and formal modeling of microprocessors with application to retargetable simulation , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[24]  Theodore P. Baker,et al.  An analysis of EDF schedulability on a multiprocessor , 2005, IEEE Transactions on Parallel and Distributed Systems.

[25]  Rudy Lauwereins,et al.  Cost-efficient mapping of dynamic concurrent tasks in embedded real-time multimedia systems , 2005 .

[26]  Margaret Martonosi,et al.  An Analysis of Efficient Multi-Core Global Power Management Policies: Maximizing Performance for a Given Power Budget , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[27]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[28]  Minyi Guo,et al.  Process migration for MPI applications based on coordinated checkpoint , 2005, 11th International Conference on Parallel and Distributed Systems (ICPADS'05).

[29]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[30]  Tei-Wei Kuo,et al.  Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems , 2007, 2007 Asia and South Pacific Design Automation Conference.

[31]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[32]  Chantal Ykman-Couvreur Exploration framework for Run-time Resource Management of embedded multi-core platforms , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[33]  A. Sinha,et al.  JouleTrack-a Web based tool for software energy profiling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[34]  Paul Marchal,et al.  Matador: An Exploration Environment for System-Design , 2002, J. Circuits Syst. Comput..

[35]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[36]  Marco Caccamo,et al.  Adaptive Allocation of Software and Hardware Real-Time Tasks for FPGA-based Embedded Systems , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[37]  H. Corporaal,et al.  Fast Multi-Dimension Multi-Choice Knapsack Heuristic for MP-SoC Run-Time Management , 2006, 2006 International Symposium on System-on-Chip.

[38]  Sang Hyuk Son,et al.  Assigning Real-Time Tasks to Homogeneous Multiprocessor Systems , 1994 .

[39]  Rudy Lauwereins,et al.  Run-time support for heterogeneous multitasking on reconfigurable SoCs , 2004, Integr..

[40]  Francky Catthoor,et al.  Pareto based run-time manager for overlapped resource sharing , 2009 .

[41]  Rainer Leupers,et al.  Multiprocessor Systems on Chip , 2011 .

[42]  Dongkun Shin,et al.  Power-aware scheduling of conditional task graphs in real-time multiprocessor systems , 2003, Proceedings of the 2003 International Symposium on Low Power Electronics and Design, 2003. ISLPED '03..

[43]  Carl Staelin,et al.  lmbench: Portable Tools for Performance Analysis , 1996, USENIX Annual Technical Conference.

[44]  Rami G. Melhem,et al.  Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[45]  Petru Eles,et al.  Energy-efficient mapping and scheduling for DVS enabled distributed embedded systems , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[46]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[47]  Christian Engelmann,et al.  Proactive process-level live migration in HPC environments , 2008, HiPC 2008.

[48]  Gerhard Fohler,et al.  Issues in the static allocation and scheduling of complex periodic tasks , 1993 .

[49]  Francky Catthoor,et al.  Proactive reliability-aware energy management in hard real-time systems - A motivational case study , 2009 .

[50]  Chantal Ykman-Couvreur,et al.  Energy-aware Dynamic Task Scheduling Applied to a Real-time Multimedia Application on an Xscale Board , 2005, J. Low Power Electron..