Creative Commons Attribution 3.0 Unported license
Integrating high performance and real-time demands on multi-processor systems is a challenging task. We present our concept of isolating processes from a general-purpose operating system without deeply invading modifications. This allows executing code on dedicated CPUs with minimum latency and jitter like bare-metal on micro-controllers. The unbounded execution of mixed critical processes on the same system induces performance interference in real-time tasks. We present the implementation of isolated partitions on multi-processor x86 systems running Linux and describe challenges restoring operating system stability. This work also presents our experience with Non-Uniform Memory Access architectures that allow to partition the system in a way that the impact to memory and I/O transfers of other partitions is minimized.
@InProceedings{wassen_et_al:OASIcs.WCET.2015.75,
author = {Wassen, Georg and Lankes, Stefan},
title = {{Bare-Metal Execution of Hard Real-Time Tasks Within a General-Purpose Operating System}},
booktitle = {15th International Workshop on Worst-Case Execution Time Analysis (WCET 2015)},
pages = {75--84},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-939897-95-8},
ISSN = {2190-6807},
year = {2015},
volume = {47},
editor = {Cazorla, Francisco J.},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.WCET.2015.75},
URN = {urn:nbn:de:0030-drops-52584},
doi = {10.4230/OASIcs.WCET.2015.75},
annote = {Keywords: Hard Real-Time System, High-Performance Computing, Non-uniform Memory Access, Bare-Metal Execution}
}