《夏创林-rtt-技术分享会终稿.pptx》由会员分享,可在线阅读,更多相关《夏创林-rtt-技术分享会终稿.pptx(26页珍藏版)》请在三个皮匠报告上搜索。
1、RT-VisorRT-Visor:适用于嵌入式系统的虚拟化解决方案夏创林操作系统与嵌入式爱好者目录01技术背景03实机演示02设计与实现04性能测试技术背景011Christopher,S.(1959).Time Sharing in Large Fast Computers.Proceedings of the International Conference on Information processing,UNESCO.2.19,pp.336-341.UNESCO.Retrieved February 1,2014.虚拟化技术始于上个世纪六十年代1,这并不是一项新技术,为什么仍被提及?
2、第一个十年:萌芽发展上个世纪60年代,IBM公司开始针对旗下部分大型机器研发虚拟化技术,使客户们可以更好地共享当下昂贵又稀缺的计算资源。第二个十年:研究低谷上个世纪70年代,个人电脑的出现使虚拟化发展陷入低谷。摩尔定律使大型机虚拟化不再实用,廉价计算机的兴起改变了计算资源共享思路。第三个十年:蓬勃发展vmware发掘出新市场:小型机的虚拟化Intel和AMD的硬件虚拟化催生出KVM持续演进虚拟化技术作为云计算的关键核心技术之一,正持续发展,趋于成熟现在:跨界再发展尽管某些高端嵌入式系统端已经出现了富算力,但是应用任务也越来越复杂新能源汽车智能座舱:既要运行娱乐系统,又要进行AI交互虚拟化技术的
3、再发展、“嵌入式化”掀起新一波研究热潮嵌入式系统的虚拟化和以往云计算中的虚拟化有何区别?系统轻量化:KVM和Xen项目体积庞大曾与arm适配但仍不适用实时性优化嵌入式设备需要较强实时性云计算则并没有相关需求调整虚拟化功能传统的云计算需要考虑用户的隐私问题嵌入式系统中的虚拟化以全局角度出发共生关系,可以去掉虚拟机的迁移更多的设备管理嵌入式系统中的设备众多异构计算资源设计与实现02 RT-Visor设计与结构组织轻量化实现混合部署。以RT-Thread为底座,构建的轻量化混合部署方案vcpu与线程映射,依托RT-Thread优秀线程调度框架,保障嵌入式场景的实时需求灵活、动态创建并配置虚拟机,实现
4、快速部署实现多种虚拟化设备管理方式。既可实现资源隔离,又可以共享资源,提高资源利用率国产全自主可控RTT-Visor特点特点RT-visorRTT-Visor特点VM管理为确保各虚拟机之间的资源隔离和稳定运行,需要保护虚拟机的设备和模块信息RT-Visor提供虚拟机(Virtual Machine,VM)描述,针对虚拟机的不同模块进行统一管理在系统发生陷入或是切换时,以VM为单位保存当前虚拟机的所有状态RTT-Visor特点vcpuRT-Visor采用vcpu和RT-Thread系统线程相映射的关系实现虚拟处理器,实现轻量化的计算资源合理调度、分配,提升系统对于计算资源的管理能力,拉高处理器资
5、源利用率。RT-Visor所采用的vcpu和RT-Thread系统线程相映射的关系,将vcpu的全生命周期与线程紧密联系在一起依托于现有的线程调度算法框架,得以拥有较高的vcpu管理权限,此外也更便于开发者围绕此框架做vcpu调度的二次开发,能够更加灵活地实现合理的vcpu调度,有效地降低了系统设计实现的复杂度vcpu APIThread API功能释义功能释义vcpu_creatert_thread_createvcpu创建get_current_vcpurt_thread_self获取当前vcpuvcpu_startuprt_thread_startupvcpu启动vcpu_suspend
6、rt_thread_suspendvcpu挂起vcpu_resumert_thread_resumevcpu恢复vcpu_deletert_thread_deletevcpu删除RTT-Visor特点虚拟内存管理Guest OS作为完整的操作系统,同样需要内存以用于程序执行、数据存储等。向Guest OS提供连续的地址空间,并实现内存隔离机制,RTT-Visor基于arm64提供的stage-2硬件特性实现了两阶段的内存地址翻译RTT-Visor特点设备管理RT-Visor使用了两种设备管理模式:内存映射IO(Memory mapping I/O,MMIO)和设备直通(Pass-through
7、)基础公共设备使用MMIO的方法,例如中断控制器(Generic Interrupt Controller,GIC)、串口等GPU、USB、PCIe此类设备采用设备直通。实际场景中由开发者决定如何混用RTT-Visor特点RTT-Visor的低耦合设计RT-Visor注重轻量化的设计和易移植性。服务以组件(components)形式独立运行,形成了低耦合的架构设计硬件辅助虚拟化由内核层virtual arch组件处理硬件与架构接口抽象封装。移植至不同平台只需修改bsp的硬件配置,实现多种硬件平台的快速验证实机演示03性能测试04树莓派4B开发板,所运行Linux版本为:linux 4.19.1
8、27-v8以下实验验证了原生运行linux 和RT-Visor所启动的linux虚拟机情况下的性能对比,分别从CPU、内存、文件读写、密码计算、网络等几个方面进行测试。RTT-Visor特点CPU基准测试Sysbench CPU 性能对比OpenSSL加密/解密速度对比OpenSSL的加密/解密的速度对比:RTT-Visor启动的虚拟机与原生linux的得分比值约为:98.66%。虚拟化所引入的开销约为1.34%Sysbench CPU 性能对比:TT-Visor启动的虚拟机与原生linux的得分比值约为:99.50%。虚拟化所引入的开销约为0.50%实验使用Sysbench、Geekbenc
9、h5、OpenSSL、FIO、iperf3的得分作为性能的评价指标。RTT-Visor特点外设性能基准测试实验使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作为性能的评价指标。硬盘I/O读写基准测试iperf3网络带宽基准测试在顺序读写、4k读写、512k读写的测试,指标均值接近于1。无线网络带宽对比方面,虚拟机与直接启动的带宽差异比值约为97.95%。虚拟机所引入的性能开销约为2.05%。以太网的带宽则保持一致综合基准测试得分基准测试项目基准测试项目性能得分比值性能得分比值Sysbench CPU99.50%OpenSSL密码学测试98.66%Geek
10、Bench 单核综合测试98.91%GeekBench 多核综合测试97.22%Machine learning 性能对比98.44%硬盘I/O读写基准测试 1iperf3以太网络带宽基准测试 1iperf3无线网络带宽基准测试97.95%引入虚拟化会带来一定的性能开销,但是利大于弊。我们在尽可能地缩减这方面的开销,RT-Visor所运行的虚拟机在处理器性能、机器学习计算性能,内存性能等多个方面有着良好的性能优势,综合开销仅在3%左右。为工业,消费电子等提供了国产全自主可控、高性能、灵活且轻量化的适用于嵌入式系统的虚拟化解决方案。致谢黄嘉嘉湖南大学 博士生李阳五邑大学教授RT-Thread 社
11、区(a)(d)(c)(b)图(a)、(b)表展示了使用 RTT-Visor 启动的虚拟机和直接启动的本机 Linux 系统在 Geekbench 5 单核测试中的 12 个项目得分以及总得分。在此比较中,虚拟机得分与本机系统得分之比约为 98.91%。据此推断,虚拟化引入的性能开销约为 1.09%。图(c)、(d)表则呈现了在多核情况下的 Geekbench 5 测试结果,包括 12 个项目得分和总得分。在多核性能比值方面,虚拟化环境的得分约为本机系统的 97.22%,这意味着虚拟化引入的性能开销约为 2.78%。实验使用Sysbench、Geekbench5、OpenSSL、FIO、iper
12、f3的得分作为性能的评价指标。附录实验还验证了机器学习计算性能的对比。结果显示,通过RTT-Visor启动的虚拟机在性能上能够达到直接启动原生Linux系统的98.44%。Machine learning 性能对比实验使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作为性能的评价指标。RTT-Visor特点内存基准测试Sysbench Memory 性能对比显示,通过RTT-Visor启动的虚拟机与原生Linux系统相比,其得分比值约为99.81%。据此推断,虚拟化引入的内存性能开销约为0.19%。Sysbench Memory 性能对比实验使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作为性能的评价指标。