当前位置:首页 > 报告详情

北京航空航天大学计算机学院王雷教授:“Rust-Shyper:基于Rust语言的高可靠、嵌入式Hypervisor”.pdf

上传人: 张** 编号:174232 2024-09-01 69页 8.01MB

1、Rust-Shyper:基于Rust语言的高可靠、嵌入式Hypervisor王雷北京航空航天大学计算机学院目 录C O N T E N T S研究背景与意义ARM&RISC-V平台的Rust-Shyper设计资源隔离策略设备虚拟化设计实时性优化多平台移植面临的问题Rust语言unsafe代码实验评测典型应用研 究 背 景 及 意 义德 才 兼 备 知 行 合 一常见的虚拟化方案Jailhouse HypervisorBao HypervisorEtc.德 才 兼 备 知 行 合 一主要面向的场景专用-通用图形化用户界面、传感器数据采集、人机交互、路径规划等单核-多核硬件处理器包含多个核心从而可

2、以同时运行多个任务简单一致-混合关键性需要同时运行和管理关键任务和非关键任务车载系统图形化传感器人机交互路径规划关键任务飞控导航非关键任务视频采集目标识别车载、智能座舱、无人机等混合关键系统嵌入式虚拟化德 才 兼 备 知 行 合 一要求和挑战要求和挑战 最小化可信计算基,增加系统的可靠性和安全性轻量高性能高实时隔离性效率 嵌入式对实时性能敏感,需要保障上层VM的实时性,并尽量减少VM-Exit 各个VM的硬件资源、故障等的隔离,不能相互影响 最小化系统资源和性能的开销德 才 兼 备 知 行 合 一常见虚拟化方案7 多分区实时操作系统 LynxOSLynxOS、INTEGRITYINTEGRIT

3、Y、VxWorksVxWorks 满足 ARINC 653 ARINC 653 等时间域和空间域隔离设计的软件标准 依赖于特定的RTOSRTOS;多平台移植能力差;闭源且收费昂贵基于服务器的虚拟化技术 Xen、KVM 在桌面、服务器和云计算等领域获得巨大的成功 可信计算基较大,难以通过ARINC 653 等工业安全认证 无法保证关键任务满足必要的实时性约束 使用传统C语言编程实现新型嵌入式虚拟化技术 Xvisor、XtratuM、Jailhouse、ACRN 拥有较小的可信计算基 通过资源固定分配的策略以及实时虚拟化技术保证关键任务的实时性约束 资源利用率较低、未能完全解决实时性虚拟化的问题

4、使用传统C语言编程实现德 才 兼 备 知 行 合 一Why Rust?Rust的优势高安全;高性能;社区生态;很好用的包管理;良好的FFI兼容和支持;内存安全:解决空指针、裸指针等;借用检查、生命周期概念等;线程安全:内置安全并发模型;语言级的多线程同步原言;性能:零成本抽象;泛型与静态分派;确定性内存管理,无GC;其他现代特性:包管理、函数式等系统软件系统软件:操作系统内核(rCore)Hypervisor网络协议栈需求:性能;安全性;A R M&R I S C-V 平 台 系 统 设 计德 才 兼 备 知 行 合 一ARM&RISC-V平台10对虚拟化的支持德 才 兼 备 知 行 合 一常

5、见的虚拟化方案arXiv:2303.11186v2 cs.OS 23 Mar 2023德 才 兼 备 知 行 合 一系统架构设计12 基于Rust语言的Type I虚拟机监控器,具备更好的隔离性和更轻量的代码实现。基于AArch64&RISC-V、能够支持Linux、裸应用等系统软件的运行 灵活、动态创建并配置虚拟机,能够为实时操作系统创建实时虚拟机,保障嵌入式场景的实时需求 具备资源隔离属性,保障不同虚拟机间的隔离性 实现多种模拟设备,提供基本的磁盘、网络、串口等设备的虚拟化实现,提高资源利用率 提供传统虚拟机迁移机制以及本地热更新机制,保障虚拟机监控器正常运行过程中的可靠性Rust-Shy

6、per特点德 才 兼 备 知 行 合 一Rust-Shyper目前支持的平台13Firefly ROC-RK3588S-PCQEMU(for RISCV64)NVIDIA Jetson TX2Raspberry Pi 4 Model B资 源 隔 离 策 略德 才 兼 备 知 行 合 一Rust-Shyper资源隔离策略01空间域隔离:空间域隔离是保证VM访问仅限于分配给自身资源的的重要特性。处理器核心隔离地址空间隔离02时间域隔离:时间域隔离用于确保不同关键性的VM能够获得正确的CPU指令周期分配。中断隔离 I/O设备隔离 网络隔离德 才 兼 备 知 行 合 一Rust-Shyper资源隔离

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了基于Rust语言的Rust-Shyper虚拟机监控器的设计与实现。Rust-Shyper是一个Type I虚拟机监控器,支持ARM和RISC-V平台,能够运行Linux和其他系统软件。它通过Rust语言的内存安全特性,实现了更好的隔离性和更轻量的代码实现。 Rust-Shyper采用了多种资源隔离策略,包括处理器核心隔离、地址空间隔离、中断隔离、I/O设备隔离和网络隔离,以保障不同虚拟机之间的隔离性。同时,它还实现了多种模拟设备,如磁盘、网络、串口等,以提高资源利用率。 在实时性优化方面,Rust-Shyper采用了中介传递设备驱动机制,将影响性能的外设访问直接传递给虚拟机,将性能无关的MMIO访问在Hypervisor内模拟,以减少Hypervisor的同步异常处理流程,提高实时性。 实验评测结果显示,Rust-Shyper在性能开销、处理器与内存性能、I/O性能等方面均表现良好,与原生Linux和KVM相比,在关键指标上性能提升超过30%。 Rust-Shyper已经在openEuler社区开源,为嵌入式虚拟化领域提供了新的选择。
Rust-Shyper如何实现资源隔离? Rust-Shyper如何优化实时性? Rust-Shyper在多平台移植方面有哪些挑战?
客服
商务合作
小程序
服务号
折叠