Real time computing

Real-time computing concerns reactive systems, most often embedded, that must satisfy time constraints. Typically, other constraints have to be added, such as the coexistence of tasks of different criticality, and the embeddability of the system in terms of computational power, memory usage, or energy consumption. Our work seeks solutions to satisfy these constraints in a predictable and robust way, targeting implementations on modern multicore and/or heterogeneous microprocessors.


We are interested in the robustness and predictability of real-time systems.

Robustness uses temporal fault tolerance methods to detect failure risks and activate reconfiguration mechanisms [1].

Predictability is affected by access to shared hardware resources such as caches. We are exploring cache allocation policies in different contexts (single or multiple cores, static or dynamic allocation, via hardware or software mechanisms...) [2,3]. For multiple levels of criticality, requiring isolation between critical and non-critical tasks, the use of container-based virtualization techniques is a promising avenue [4].

Heterogeneous hardware architectures, in which processing units are dedicated to the execution of certain tasks, require new scheduling strategies [5]: heterogeneity must be taken into account, as well as interference at the boundary between different units.

Finally, for many applications, the analysis should not be limited to task granularity: it may be relevant to reason about task chains, both to evaluate worst-case latency [6] and to define fault-tolerance policies [1].

Références

[1] Daniel Loche, Alexis Génèrès, Michaël Lauer, Jean-Charles Fabre, "Run-time Monitoring and Control for Temporal Fault Prevention in Mixed-criticality Systems", Proc. 17th European Dependable Computing Conference (EDCC 2021), pp. 53-60, 2021.

[2] Binqi Sun, Tomasz Kloda, Sergio Arribas García, Giovani Gracioli, Marco Caccamo, "Minimizing Cache Usage for Real-time Systems”, 31st International Conference on Real-Time Networks and Systems (RTNS 2023), pp. 200-211, 2023.

[3] Alexis Génèrès, Michaël Lauer, Jean-Charles Fabre, “An experimental approach for evaluating cache allocation policies in multicore for real-time mixed-criticality systems", Proc. 19th European Dependable Computing Conference (EDCC 2024), pp. 115-122, 2024.

[4] Tomasz Kloda, Giovani Gracioli, Rohan Tabish, Reza Mirosanlou, Renato Mancuso, Rodolfo Pellizzoni, Marco Caccamo, "Lazy Load Scheduling for Mixed-criticality Applications in Heterogeneous MPSoCs", ACM Transactions on Embedded Computing Systems, vol. 22, no. 3, 2023.

[5] Binqi Sun, Tomasz Kloda, Jiyang Chen, Cen Lu, Marco Caccamo, "Schedulability Analysis of Non-preemptive Sporadic Gang Tasks on Hardware Accelerators", Proc. 29th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2023), pp. 147-160, 2023.

[6] Tomasz Kloda, Jiyang Chen, Antoine Bertout, Lui Sha, Marco Caccamo, "Latency analysis of self-suspending task chains", Proc. European Conference in Design, Automation & Test (DATE 2022), pp. 1299-1304, 2022.