Connecting mission-critical real-time devices to IP networks adds a source of unpredictability to industrial systems, potentially making them unsafe. With our research, we detect, analyze, and mitigate network-generated interrupt floods from the perspective of embedded systems.
Embedded systems have been used to control physical environments for decades. Usually, such use cases require low latencies between commands and actions as well as a high predictability of the expected worst-case delay. To achieve this on small, low-powered microcontrollers, Real-Time Operating Systems are used to manage the different tasks on these machines as deterministically as possible. However, with the advent of the Internet of Things (IoT) in industrial applications, the same embedded systems are now equipped with networking capabilities, possibly endangering critical real-time systems through an open gate to interrupts.
In our work, we analyze the impact network-generated interrupts have on embedded real-time systems. We furthermore develop approaches to mitigate real-time breaking effects of network processing on microcontrollers from inside the device.
Among our approaches to solve the real-time issue are mitigation algorithms that detect network overloads and control the incoming packet flow from within the operating system. Since these only allow to react to high network loads and are not able to distinguish between different packet priorities, another approach is the adaptation of the network interface controller generating interrupts for incoming packets. By expanding its receive queue structure and making it adaptivley configurable, IP flows can be filtered and prioritized before notifications are sent to the real-time operating system. This way, critical tasks can be guaranteed to receive packets within their deadlines while unrelated packet loads can be preempted before generating any workload. The following figure shows an example design of such a network interface controller.
If you have any questions or are interested in collaborating with us on this topic, please get in touch with Ilja!