Multi-core architectures and mission-critical systems

Multi-core architectures introduce a lack of predictability in execution times. Nevertheless, their introduction in mission-critical systems will become essential to meet the growing need for embedded computing power. Our work aims to offer solutions to this problem.


The safe execution of mission-critical software on multi-core hardware architectures poses many challenges, due to the variability of access times to shared resources (memory), or the placement constraints of the various tasks to be executed.

In real-time systems, the calculation of worst-case execution times is a prerequisite for schedulability analysis and the deployment of time-constrained scheduling.However, by definition, a worst-case execution time is pessimistic and, in the case of multi-core architectures, the sharing of memory resources results in very high worst-case execution times. To avoid over-provisioning resulting from pessimistic computations, we are developing an approach combining off-line analysis with a run-time monitoring system.Our approach enables more optimistic joint execution of real-time and non-critical tasks: our system executes many tasks in parallel, monitors execution and, in the event of excessive interference, stops low-criticality tasks before it's too late, to ensure that critical tasks meet their deadlines[1]. This work provides a proven[2] and effective solution to an essential problem for the deployment of future systems, and is being pursued as part of a CIFRE collaboration with Renault for integration in automotive embedded systems.



[1] Kritikakou A., Marty T., Roy M.., DYNASCORE: DYNAmic Software COntroller to increase REsource utilization in mixed-critical systems, ACM Transactions on Design Automation of Electronic Systems,  23(2), 2018

[2] Kritikakou A., Baldellon O., Pagetti C., Rochange C., Roy M., Run-time Control to Increase Task Parallelism in Mixed-Critical Systems, 26th Euromicro Conference on Real-Time Systems (ECRTS14), 2014