RT-Shyper:基于Rust语言的隔离性、实时性增强的嵌入式虚拟机监控器——隔离性部分

RT-Shyper:基于Rust语言的隔离性、实时性增强的嵌入式虚拟机监控器——隔离性部分

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

RT-Shyper是一个基于Rust语言的嵌入式虚拟机监控器,提供隔离性和实时性增强。通过着色的末级缓存隔离机制和虚拟机内存带宽控制系统,提高内存隔离性。实验测试结果表明,RT-Shyper能够提高虚拟机之间的内存隔离性。

🔎

延伸解读

隔离性挑战:共享资源引发性能干扰

硬件虚拟化扩展的两阶段地址翻译仅隔离了地址空间,但多核间共享的末级缓存和内存带宽仍会导致虚拟机间性能干扰。RT-Shyper针对此问题,设计了缓存着色和内存带宽控制两种机制,无需特殊硬件支持且几乎无运行时开销,旨在提升内存隔离性。

缓存着色:无开销提升内存隔离性

RT-Shyper基于着色思想,为不同虚拟机和监控器分配不同的缓存组,消除CPU侧缓存干扰。实验表明,单虚拟机下着色不带来额外开销;双虚拟机竞争时,着色使内存拷贝性能从单虚拟机的91.3%提升至95.9%,顺序读从94.5%提升至98.3%,顺序写从99.4%提升至99.9%,有效提高了内存隔离性。

内存带宽控制:保障实时虚拟机性能

RT-Shyper为每个vCPU设置访存预算,通过PMU监控访存次数,在预算耗尽时限制内存访问。实验显示,当非实时虚拟机VM0内存带宽增加时,实时虚拟机VM1的内存带宽下降、延迟增加,呈负相关;VM0无限制时,VM1性能仅为单虚拟机的62.6%。该机制能一定程度上保障实时虚拟机的内存资源。

❓

Q&A

RT-Shyper的主要功能是什么?

RT-Shyper主要功能是增强嵌入式虚拟机的隔离性和实时性。

RT-Shyper如何提高内存隔离性?

RT-Shyper通过着色的末级缓存隔离机制和虚拟机内存带宽控制系统来提高内存隔离性。

什么是着色的末级缓存隔离机制?

着色的末级缓存隔离机制是通过分配不同的缓存组消除CPU侧的缓存干扰,从而提高虚拟机的内存隔离性。

虚拟机内存带宽控制系统的作用是什么?

虚拟机内存带宽控制系统为每个vCPU设置访存预算,限制内存访问以减少竞争,从而保障实时虚拟机的内存资源。

RT-Shyper的实验测试结果如何?

实验测试表明,应用缓存着色后,虚拟机的内存性能有所提升,尤其在多虚拟机竞争情况下。

RT-Shyper的项目地址在哪里?

RT-Shyper的项目地址是https://github.com/shyper-org/rtshyper。

🏷️

标签

➡️

继续阅读