[发明专利]一种硬件虚拟机中精简模式切换的I/O虚拟化方法无效
申请号: | 200910237917.2 | 申请日: | 2009-11-25 |
公开(公告)号: | CN101859256A | 公开(公告)日: | 2010-10-13 |
发明(设计)人: | 白跃彬;罗成;张会永;张良 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 硬件 虚拟机 精简 模式 切换 虚拟 方法 | ||
技术领域
本发明涉及硬件虚拟机I/O虚拟化领域,特别是涉及一种精简模式切换的I/O虚拟化方法。
背景技术
虚拟机(Virtual Machine:VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应用程序运行在“保护模式”环境下。虚拟机监视器(Virtual Machine Monitor:VMM)是一个用于协调管理在同一宿主机内虚拟机的软件层,它通常通过硬件或者是软件部件的帮组来强化虚拟机之间的独立性。Xen监视器(Hypervisor)运行在系统特权最高级,有一个可信的特权虚拟机称为domain 0来协助管理其他处于非特权级的虚拟机称为domain U或者客户虚拟机。
由于虚拟机技术广阔的发展前景,不单是各种虚拟化软件层出不穷;从2004年开始,硬件虚拟化技术也已经开始被各大IT界巨头列入研究计划。目前,已经有支持完全虚拟化技术的处理器硬件技术出现,比较有代表性的是英特尔的Vanderpool技术和AMD的Pacifica技术。2005年1月20日Intel向外界公布了代号为Vanderpool的虚拟化技术(简称VT);AMD也于同年3月30日向外公布了代号为Pacifica的虚拟化技术,弥补了X86架构的虚拟化漏洞。
VT分VT-i(支持Itanium架构)和VT-x(支持X86架构),这里主要讨论基于更常见的X86架构的VT-x。VT-x引入了一种新的处理器操作,称为VMX(Virtual Machine Extensions)。VMX操作可以在根状态(root)或非根状态(non-root)下执行,通常虚拟机监控程序(VMM)在根状态下执行,而客户机软件则运行在非根状态。VMM可以通过虚拟机入口(VM entries)使处理器进入VMX非根状态,相反,通过虚拟机出口(VM exits)可以回到VMX根状态。在VT技术支持下,客户机可以运行在其原先希望运行的优先级(即优先级0)上而VMM仍能捕获客户机对特定系统资源的访问。
VMX操作新定义了虚拟机控制结构(Virtual Machine Control Structure,VMCS)。VMCS中包含客户机状态(Guest-state area),主机状态(Host-state area),虚拟机执行控制域(VM-execution control fields),虚拟机退出控制域(VM-exit control fields),虚拟机入口控制域(VM-entry control fields)和虚拟机退出信息域(VM-exit information fields)。当处理器控制从VMX根状态进入VMX非根状态即虚拟机入口时,主机状态被保存在VMCS中,同时客户机状态及虚拟机退出控制策略从VMCS中装入处理器。相反当处理器从VMX非根状态进入VMX根状态即虚拟机退出时,客户机状态被保存在VMCS中而主机状态则从VMCS中装入处理器。VMM可以分别设置客户机的VMCS以实现不同的虚拟化策略。
虽然硬件虚拟化技术能解决半虚拟化需要修改客户操作系统内核的问题,也带来了新的问题。运行在非根模式下的硬件虚拟机要访问特权资源或者执行特权指令如IO访问等,都需要切换到根模式下执行,执行完成后需要切换回非根模式,如图1所示。硬件虚拟机在根模式和非根模式之间切换(称之为模式切换)造成大量的额外开销,包括记录CPU运行场景的各个寄存器的保存和加载等,在模式切换中真正用于处理通信请求的时间占整个模式切换的时间比例很小,因此存在大量的额外开销,进而导致客户虚拟机性能低。
通过上述分析可以知道在当前硬件虚拟机上的I/O访问都要进行模式切换到特权模式下才能进行,这一特性直接影响到硬件虚拟机的性能。为了提高硬件虚拟机的I/O性能,有必要对硬件虚拟机的特性进行分析,结合硬件虚拟机和domain 0分别运行在非特权模式和特权模式但共享物理内存的特性设计新的I/O虚拟化方法。因此,本发明提出了一种新的基于共享内存的I/O虚拟化方法来大量减少硬件虚拟机发生I/O请求时所需要发生的模式切换次数,从而减少因为I/O访问带来的额外开销,进而提高硬件虚拟机的性能。同时,基于M/M/1排队模型提出了n阶M/M/1排队模型来完善精简模式切换机制的延迟高的问题,从而提高硬件虚拟机的整体性能。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910237917.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种检测LTE系统双工方式的方法和装置
- 下一篇:制作植物纤维床垫的方法