Mapping a multi-rate synchronous language to a many-core processor

This paper describes an end-to-end framework for the design and the implementation of real-time systems on a many-core architecture. The system, described in the multi-rate synchronous language Prelude, is translated into a set of communicating periodic tasks. We present a first heuristic to compute a partitioning of this task set that takes into account the specifics of the underlying platform, the Intel Single-chip Cloud Computer (SCC). In particular, the heuristic considers the communication between tasks. Furthermore, we provide a schedulability analysis that is used to validate the partitioning. We successfully apply the heuristic to several realistic use cases to evaluate the effectiveness of the proposed framework. For executing the task set, we have developed a run-time environment based on a bare-metal library that allows partitioned non-preemptive earliest deadline first (EDF) scheduling and manages the communication between tasks via the message passing mechanisms provided by the Intel SCC. The evaluation shows that the run-time overheads introduced by the framework are reasonably low.

[1]  Yves Sorel,et al.  Non-preemptive multiprocessor scheduling of strict periodic systems with precedence constraints , 2004 .

[2]  Andrew Chi-Chih Yao,et al.  Resource Constrained Scheduling as Generalized Bin Packing , 1976, J. Comb. Theory A.

[3]  Julien Forget,et al.  A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints. (Un Langage Synchrone pour les Systèmes Embarqués Critiques Soumis à des Contraintes Temps Réel Multiples) , 2009 .

[4]  Thomas Carle,et al.  From Dataflow Specification to Multiprocessor Partitioned Time-triggered Real-time Implementation , 2015, Leibniz Trans. Embed. Syst..

[5]  Frédéric Boniol,et al.  Multiprocessor schedulability analyser , 2011, SAC '11.

[6]  Sanjoy K. Baruah,et al.  Semantics-preserving implementation of multirate mixed-criticality synchronous programs , 2012, RTNS '12.

[7]  Nathan Fisher,et al.  The Partitioned Multiprocessor Scheduling of Non-preemptive Sporadic Task Systems ∗ , 2006 .

[8]  Jan Reineke,et al.  Embedded systems: Many cores — Many problems , 2012, 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12).

[9]  Sanjoy K. Baruah,et al.  The Partitioned, Static-Priority Scheduling of Sporadic Real-Time Tasks with Constrained Deadlines on Multiprocessor Platforms , 2005, OPODIS.

[10]  Hermann Kopetz,et al.  Sparse time versus dense time in distributed real-time systems , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[11]  Haibo Zeng,et al.  Schedulability Analysis of Periodic Tasks Implementing Synchronous Finite State Machines , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[12]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[13]  Luca Benini,et al.  Robust non-preemptive hard real-time scheduling for clustered multicore platforms , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[14]  Rolf Ernst,et al.  Scheduling analysis of real-time systems with precise modeling of cache related preemption delay , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[15]  Yves Sorel,et al.  A rapid heuristic for scheduling non-preemptive dependent periodic tasks onto multiprocessor , 2007, ISCA PDCS.

[16]  James H. Anderson,et al.  On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study , 2008, 2008 Real-Time Systems Symposium.

[17]  Yifan Wu,et al.  Partitioning Real-Time Applications Over Multicore Reservations , 2011, IEEE Transactions on Industrial Informatics.

[18]  Eric Verhulst,et al.  Transparent Programming of Many/Multi Cores with OpenComRTOS: Comparing Intel 48-core SCC and TI 8-core TMS320C6678 , 2012, MARC Symposium.

[19]  Dennis Brylow,et al.  BareMichael: A Minimalistic Bare-metal Framework for the Intel SCC , 2012, MARC Symposium.