,
Raffaele Della Corte,
Antonio Eliso,
Antonio Pecchia
Creative Commons Attribution 3.0 Unported license
This paper presents the notion of real-time containers, or rt-cases, conceived as the convergence of container-based virtualization technologies, such as Docker, and hard real-time operating systems. The idea is to allow critical containers, characterized by stringent timeliness and reliability requirements, to cohabit with traditional non real-time containers on the same hardware. The approach allows to keep the advantages of real-time virtualization, largely adopted in the industry, while reducing its inherent scalability limitation when to be applied to large-scale mixed-criticality systems or severely constrained hardware environments. The paper provides a reference architecture scheme for implementing the real-time container concept on top of a Linux kernel patched with a hard real-time co-kernel, and it discusses a possible solution, based on execution time monitoring, to achieve temporal separation of fixed-priority hard real-time periodic tasks running within containers with different criticality levels. The solution has been implemented using Docker over a Linux kernel patched with RTAI. Experimental results on real machinery show how the implemented solution is able to achieve temporal separation on a variety of random task sets, despite the presence of faulty tasks within a container that systematically exceed their worst case execution time.
@InProceedings{cinque_et_al:LIPIcs.ECRTS.2019.5,
author = {Cinque, Marcello and Della Corte, Raffaele and Eliso, Antonio and Pecchia, Antonio},
title = {{RT-CASEs: Container-Based Virtualization for Temporally Separated Mixed-Criticality Task Sets}},
booktitle = {31st Euromicro Conference on Real-Time Systems (ECRTS 2019)},
pages = {5:1--5:22},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-110-8},
ISSN = {1868-8969},
year = {2019},
volume = {133},
editor = {Quinton, Sophie},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECRTS.2019.5},
URN = {urn:nbn:de:0030-drops-107426},
doi = {10.4230/LIPIcs.ECRTS.2019.5},
annote = {Keywords: Containers, mixed-criticality, temporal separation, monitoring}
}