Implementation and Evaluation of MemGuard in the Bao Hypervisor - Gomes, Everaldo P.; Aguiar, Gabriel De O.; Gracioli, Giovani (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2024: Anais do XIV Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2024)
The shared resources found in modern multi-core processors, such as the main memory and cache levels, affect the predictability of real-time systems. Memory access regulation, cache partitioning, and the use of static hypervisors are up-to-date techniques to decrease the contention for shared resources in multi-core processors. Among these techniques, Bao hypervisor appears as a lightweight, static partitioning hypervisor designed to provide isolation and minimal interference, making it an ideal platform for implementing memory control mechanisms. However, Bao still does not have support for memory regulation. This paper brings a memory control mechanism based on MemGuard designed and implemented in Bao hypervisor. To validate our design and implementation, we use FreeRTOS as a guest together with three other guests running a stress benchmark and measuring the interference suffered by the FreeRTOS instance. The results have shown that the implemented memory control mechanism can regulate memory accesses while simultaneously creating as little interference as possible on real-time guests.