Floating broker: Fast and Predictable Dataflows between VMs

The thesis is an extension to the RTSS 2021 research paper "A Real-Time Virtio-Based Framework for Predictable Inter-VM Communication" [1].

In a heterogeneous multiprocessor-system-on-a-chip (MPSoC) platform, the Jailhouse hypervisor [2] isolates different virtual machines (VMs) using state-of-the-art techniques to mitigate memory interference like cache coloring [3] and MemGuard [4]. A broker-based real-time communication framework then provides predictable data flows between the VMs, without further impacting the VMs by memory interference. For this, the broker is implemented on one of the four Cortex-A53 cores of the Xilinx UltraScale+ ZCU102 platform. The broker receives the metadata on the data to transfer, and in turn initiates regulated DMA transfers.

A first goal of this thesis is to design and implement an alternative prototype to free the broker's original core for other purposes again, e.g. run Linux. For this, the broker logic should be moved to the hypervisor layer and the costs of using the broker should be spread over all cores taking part in communication, hence the name "floating broker". A second goal is to reduce the overall impact of interrupt handling, as the current prototype from [1] has to send IPIs to both sender and receiver of a predictable communication flow. Further goals are to enable zero-copy optimizations in Linux, an evaluation on different platforms, or an improved schedulability analysis. The thesis should evaluate improved design against the existing prototype from [1].

[1] G. Schwäricke et al, "A Real-Time Virtio-Based Framework for Predictable Inter-VM Communication", RTSS 2021, doi.org/10.1109/RTSS52674.2021.00015
[2] github.com/siemens/jailhouse
[3] R. Mancuso et al, "Real-time cache management framework for multi-core architectures" RTAS 2013, doi.org/10.1109/RTAS.2013.6531078
[4] H. Yun et al, "Memory Bandwidth Management for Efficient Performance Isolation in Multi-Core Platforms", IEEE Transactions on Computers, vol. 65, no. 2, pp. 562-576, 2016, doi.org/10.1109/TC.2015.2425889


C, system programming (seL4 or Linux Kernel), Makefile, Bash

Thesis Type

Semesterarbeit | Masterarbeit


Alex Züpke

Gebäude 5501 Raum 2.108

+49 (89) 289 - 55174