基于ARM VHE的微内核Hypervisor的虚拟机暂停处理方法
2025-02-28 12:44
No.1345013719041843200
技术概要
PDF全文
本技术公开了一种基于ARM VHE的微内核Hypervisor的虚拟机暂停处理方法,部署基于ARM VHE的微内核Hypervisor,包括Hypervisor微内核模块、Host OS服务线程和虚拟机用户态管理线程,其中Hypervisor微内核模块中的内核虚拟化扩展模块中的CPU虚拟化模块包含运行在EL0/EL1模式的vCPU运行线程和运行在EL0模式的vCPU处理线程,当Hypervisor监测到vCPU运行线程暂停时,根据暂停触发原因采用对应的处理操作:如果当前暂停原因属于中断触发或者是属于在Hypervisor微内核下处理的异常触发,则由内核虚拟化扩展模块在EL2直接进行对应虚拟机暂停处理操作,如果是其他情况,则调度vCPU处理线程在EL0进行虚拟机暂停处理操作;操作完成之后,vCPU运行线程恢复运行。本发明优化了Hypervisor对虚拟机的中断和异常的处理,提高了虚拟机暂停处理性能。
背景技术
微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,与宏内核有显著不同,微内核仅提供最基本的功能,如任务调度、进程间通信和内存管理,而设备驱动、网络和文件系统等服务则在用户空间实现。应用程序通过IPC(通常是消息传递)与内核服务模块进行通信。这种设计减少了内核代码量,实现了服务的低耦合和地址空间隔离,从而提高了系统的稳定性、安全性和可移植性。 虚拟化技术的核心在于对底层硬件资源进行抽象和集中管理,形成资源池,这些资源随后可以被多个独立的执行环境共享使用,这项技术使得在同一硬件平台上可以并行运行多个这样的环境。为了确保这些环境之间的互不干扰与安全隔离,虚拟化技术依赖于一个关键的管理组件,即虚拟机管理器(Hypervisor),负责协调和管理这些资源的分配和使用。 虚拟化技术主要包含全虚拟化和半虚拟化。全虚拟化技术区别于其他虚拟化技术最大的特点就是,客户机可以完全不做修改地运行在虚拟化平台上;半虚拟化,同样使用Hypervisor与底层硬件进行通信,但不同于全虚拟化,半虚拟化需要根据功能需求修改客户机的内核源码,包括替换原客户操作系统的一些特权操作,这样原本一些需要直接通过CPU执行的保护任务,可以在修改后的内核,通过类似于系统调用Syscall的虚拟机调用Hypercall直接执行,而不需要引起陷阱,Hypervisor进行模拟,这样就有效提高了虚拟机的效率,所以在实时性需求较高的场景下,半虚拟化具有更加显著的优势。 虚拟化的实现方式主要分为Type-1型的虚拟机管理器(Hypervisor)和Type-2型的虚拟机管理器(Hypervisor),Type-1型的Hypervisor直接运行在宿主硬件上,控制硬件并管理客户操作系统,提供更高级别的隔离(Xen);Type-2Hypervisor作为宿主操作系统上的一个应用程序运行,与直接在硬件上运行的Type-1 Hypervisor不同,Type-2Hypervisor在宿主操作系统之上提供虚拟化服务,调用宿主操作系统提供的调度、内存管理和硬件支持等常见的操作系统功能实现虚拟化。 微内核的Hypervisor架构一般包括两种模式:跨层模式和ARM VHE(虚拟化扩展)模式。跨层模式主要是将管理程序拆分成Lowvisor、Midvisor和Highvisor三个分层组件进行实现。Lowvisor是唯一运行在Hypervisor(EL2)的功能组件,主要的功能主要是直接与硬件通信;Midvisor与Highvisor分别运行在Host OS的内核态(EL1)与用户态(EL0)来提供对虚拟机的管理服务。ARM VHE模式是令Hypervisor的内核整体在EL2层级运行,而虚拟机以线程的方式在EL1和EL0层级运行。 虚拟机暂停是指由于虚拟机异常或者当前cpu核的中断触发,此时虚拟机暂停,Hypervisor进行异常或者中断处理,Hypervisor处理完成之后,虚拟机恢复运行这个流程。对于虚拟机暂停处理,跨层模式的设计没有充分利用ARMv8所支持的虚拟化主机扩展(Virtualization Host Extensions),分层设计会造成由频繁的异常状态跃迁所带来额外的时间开销。而ARM VHE模式由于是把Hypervisor的内核整体运行在EL2,EL1仅运行虚拟机的内核,EL0运行虚拟机和Hypervisor的线程,在硬件上更易于对虚拟机暂停进行处理。但是目前对于ARM VHE模式的工作重心是根据记录器汇报的即将调度的虚拟机进程优先级,判断是调用通用系统的vCPU线程还是实时系统的vCPU线程以确保实时性,而并未对该架构下虚拟机中断与异常处理的优化进行探究。 就具体的虚拟机暂停处理方法而言,现有的各项异常与中断处理方法存在以下不足: (1)在专利号为“CN202311606091.9”、专利名称为“Hypervisor虚拟化系统异常处理系统及方法”的专利中所提出的异常处理方法需要额外资源来运行Host VM,并通过事件通道(Event Channel)传输Guest OS的异常信息,增加了内核的复杂性。 (2)在专利号为“CN202010660215.1”、专利名称为“分离式虚拟机及其虚拟机架构、构建方法和优化方法”的专利中所提出的分离式策略未充分利用CPU核心资源。vCPU运行线程挂起后,当前物理核心会处于等待状态,直到另一个核心上的vCPU监控线程完成处理并唤醒。此外,每次VM EXIT都涉及核间通信,增加了CPU开销。 (3)在专利号为“CN202110088713.8”、专利名称为“一种面向ARM架构虚拟化领域的中断虚拟化处理方法及系统”的专利中提出了用户态Hypervisor介入中断注入的设计,这种设计方案对于每次虚拟中断的注入,都会有用户态线程的上下文恢复和异常等级跃迁的额外成本。 (4)对于KVM和ZVM的设计方案,vCPU线程包含两套上下文,一套是运行虚拟机代码的上下文,一套是运行Hypervisor代码的上下文,每次VM ENTRY和VM EXIT都需额外保存和恢复Hypervisor的上下文,这增加了虚拟机暂停处理的复杂性和开销。
实现思路
阅读余下40%
技术概要为部分技术内容,查看PDF获取完整资料
该技术已申请专利,如用于商业用途,请联系技术所有人!
技术研发人员:
肖堃  周佳清  李蒙  罗蕾  陈丽蓉
技术所属: 电子科技大学  中移物联网有限公司
相关技术
一种服务开发方法、装置、设备及存储介质 一种服务开发方法、装置、设备及存储介质
一种高精度双层优化方法的神经网络搜索架构构建方法 一种高精度双层优化方法的神经网络搜索架构构建方法
跨总线域的设备对宿主机空间DMA访问方法及相关设备 跨总线域的设备对宿主机空间DMA访问方法及相关设备
一种客户信息定期维护方法及系统 一种客户信息定期维护方法及系统
代码发布方法、装置、计算机设备和可读存储介质 代码发布方法、装置、计算机设备和可读存储介质
一种基于统一管理平台的子应用数据获取方法及装置 一种基于统一管理平台的子应用数据获取方法及装置
利用深度学习的BIM模型错误自动检测系统 利用深度学习的BIM模型错误自动检测系统
一种基于智能反射面的室内T型走廊场景路径损耗的分析方法 一种基于智能反射面的室内T型走廊场景路径损耗的分析方法
模型评估任务处理方法及装置 模型评估任务处理方法及装置
基于大数据的异常信号智能识别方法 基于大数据的异常信号智能识别方法
技术分类
电信、广播电视和卫星传输服务 电信、广播电视和卫星传输服务
互联网软件服务 互联网软件服务
集成电路设计 集成电路设计
信息集成数字服务 信息集成数字服务
电气机械制造 电气机械制造
计算机、通信、电子设备制造 计算机、通信、电子设备制造
医药制造、生物基材料 医药制造、生物基材料
石油煤矿化学用品加工 石油煤矿化学用品加工
化学原料制品加工 化学原料制品加工
非金属矿物加工 非金属矿物加工
金属制品加工 金属制品加工
专用设备制造 专用设备制造
通用设备制造 通用设备制造
通用零部件制造 通用零部件制造
汽车制造业 汽车制造业
铁路、船舶、航天设备制造 铁路、船舶、航天设备制造
电力、热力生产和供应 电力、热力生产和供应
燃气生产和供应 燃气生产和供应
水生产和供应 水生产和供应
房屋建筑、土木工程 房屋建筑、土木工程
交通运输、仓储和邮政 交通运输、仓储和邮政
农、林、牧、渔业 农、林、牧、渔业
采矿业 采矿业
农副、食品加工 农副、食品加工
烟草、酒水加工 烟草、酒水加工
纺织皮具居家制品 纺织皮具居家制品
文教体娱加工 文教体娱加工
苏ICP备18062519号-5 © 2018-2025 【123技术园】 版权所有,并保留所有权利