Architecture Exploration of Real-Time Systems Based on Multi-objective Optimization

This article deals with real-time embedded system design and verification. Real-time embedded systems are frequently designed according to multi-tasking architectures that have timing constraints to meet. The design of real-time embedded systems expressed as a set of tasks raises a major challenge since designers have to decide how functions of the system must be assigned to tasks. Assigning each function to a different task will result in a high number of tasks, and then in higher preemption overhead. In contrast, mapping many functions on a limited number of tasks leads to a less flexible design which is more expensive to change when the functions of the system evolve. This article presents a method based on an optimization technique to investigate the assignment of functions to tasks. We propose a multi-objective evolution strategy formulation which both minimizes the number of preemptions and maximizes task laxities. Our method allows designers to explore the search space of all possible function to task assignments and to find good tradeoffs between the two optimization objectives among schedulable solutions. After explaining our mapping approach, we present a set of experiments which demonstrates its effectiveness for different system sizes.

[1]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[2]  Jean-Philippe Babau,et al.  DPMP: A Software Pattern for Real-Time Tasks Merge , 2013, ECMFA.

[3]  G. Rota The Number of Partitions of a Set , 1964 .

[4]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[5]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[6]  Alex Alves Freitas,et al.  A Survey of Evolutionary Algorithms for Clustering , 2009, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[7]  Lothar Thiele,et al.  A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers , 2006 .

[8]  Frédéric Boniol,et al.  Multi-task Implementation of Multi-periodic Synchronous Programs , 2011, Discret. Event Dyn. Syst..

[9]  Sanghamitra Bandyopadhyay,et al.  Some Single- and Multiobjective Optimization Techniques , 2013 .

[10]  Laurent Nana,et al.  Cheddar: a flexible real time scheduling framework , 2004, SIGAda.

[11]  Frédéric Boniol,et al.  A Framework for Distributing Real-Time Functions , 2008, FORMATS.

[12]  Sasikumar Punnekkat,et al.  Reducing the Number of Preemptions in Real-Time Systems Scheduling by CPU Frequency Scaling , 2010 .

[13]  David W. Corne,et al.  Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy , 2000, Evolutionary Computation.

[14]  Krithi Ramamritham,et al.  Allocation and Scheduling of Precedence-Related Periodic Tasks , 1995, IEEE Trans. Parallel Distributed Syst..

[15]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[16]  Carlos M. Fonseca,et al.  An Improved Dimension-Sweep Algorithm for the Hypervolume Indicator , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[17]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[18]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[19]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[20]  Sébastien Gérard,et al.  Optimum: a MARTE-based methodology for schedulability analysis at early design stages , 2011, SOEN.

[21]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

[22]  Jing-Chiou Liou,et al.  Task Clustering and Scheduling for Distributed Memory Parallel Architectures , 1996, IEEE Trans. Parallel Distributed Syst..

[23]  Julien Forget,et al.  Minimizing a real-time task set through Task Clustering , 2014, RTNS.

[24]  Giuseppe Lipari,et al.  From functional blocks to the synthesis of the architectural model in embedded real-time applications , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[25]  Mark Klein,et al.  A practitioner's handbook for real-time analysis - guide to rate monotonic analysis for real-time systems , 1993, The Kluwer international series in engineering and computer science.

[26]  Guodong Li,et al.  Task clustering and scheduling to multiprocessors with duplication , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[27]  Laurent Lemarchand,et al.  A two-step optimization technique for functions placement, partitioning, and priority assignment in distributed systems , 2013, LCTES '13.

[28]  Jürgen Teich,et al.  Temporal task clustering for online placement on reconfigurable hardware , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[29]  Jérôme Hugues,et al.  Building Parallel, Embedded, and Real-Time Applications with Ada , 2011 .