The subject of my thesis is the Realtime Preemption patch for Linux and its effects on maximum latency in regards to network applications, specifically DAL: “A Locality-Optimizing Distributed Shared Memory System” developed at Ericsson’s Research Center in Budapest. The patch aims to turn the otherwise soft real-time Linux operating system into a hard real-time one with guarantees on its maximum latencies. This property could prove useful in network applications that favour (or require) low latency over throughput while retaining the flexibility gained from being backed by a modern operating system. Such use-cases can come from cloud robotics, IoT systems, and virtualized network functions.
In the first half of the thesis I summarize a lot of the mainline Linux mechanics that bear relevance when fine-tuning for real-time performance, I also go into some detail about the changes the RT patch makes to these. After that I describe the testing environment and the tools used for benchmarking (cyclictest, ftrace, etc.).
After a general evaluation of the system’s real-time properties under various configurations I move on to tuning the system with the network application as the new benchmark. I manage to improve the application’s worst-case latencies significantly through a combination of the RT kernel and CPU isolation.
At the end I take a brief look at whether the real-time qualities of the system are transferred to its Docker containers.