Memguard: A Memory Bandwidth Management in Mixed Criticality Virtualized Systems Memguard KVM Scheduling

Nicolas Dagieu, Alexander Spyridakis, Daniel Raho
Memory bandwidth in standard computing architec-tures using DRAM (Dynamic Random Access Memory) is one of the most critical parts of the system, mainly responsible for performance degradation in memory bandwidth demanding computations. Memguard is a kernel module designed to solve this issue, created with the goal to schedule memory bandwidth at the CPU (Central Processing Unit) core level and enabling bandwidth regulation functionalities. In this paper we propose a new implementation of
more » ... mentation of Memguard that can also be utilized in mixed-criticality virtualized computing environments. This involves the regulation of memory bandwidth at the guest level and forwarding memory bandwidth needs to the host, where the requests are enforced. Introduced changes include modifications to the CFS (Completely Faire Scheduler) Linux scheduler to work with the modified Memguard kernel module. The original kernel module and the proposed implementation have been tested on an ARMv8 platform to demonstrate the performance and viability of such extensions on future embedded systems. A specific benchmark suite was used to stay as close as possible to common scenarios, measuring the memory bandwidth and the performance gain when scheduling at this level is introduced.