当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于在虚拟化环境中处理I/O操作的方法和设备技术

技术编号:7921443 阅读:128 留言:0更新日期:2012-10-25 06:51
用于在虚拟化环境中处理I/O操作的机器可读介质、方法、设备和系统。在一些实施例中,系统包括:包括输入/输出(I/O)装置的硬件机;以及用于将硬件机与多个虚拟机接口的虚拟机监视器。在一些实施例中,虚拟机包括:用于写入与输入/输出(I/O)操作有关的I/O信息的访客虚拟机;以及包括装置模型和装置驱动器的服务虚拟机,其中装置模型调用装置驱动器以控制I/O装置的一部分利用I/O信息来实现I/O操作,并且其中装置模型、装置驱动器和I/O装置的那部分指派给访客虚拟机。

【技术实现步骤摘要】
【国外来华专利技术】用于在虚拟化环境中处理I/o操作的方法和设备
技术介绍
虚拟机体系结构可在逻辑上对物理机分区,以使得物理机的基本硬件可共享并且看起来就像是一个或多个独立操作的虚拟机。输入/输出(I/o)虚拟化(IOV)可实现一个I/o装置供多个虚拟机使用的能力。软件全装置仿真可以是I/O虚拟化的一个实例。I/O装置的全仿真可使得虚拟机能够再利用现有的装置驱动器。单根I/o虚拟化(SR-IOV)或任何其它资源分区解决方案可以是I/O虚拟化的另一个实例。将I/O装置功能(例如,与数据移动有关的I/O装置功能)分区到多个虚拟接口(VI)中(其中每个功能指派给一个虚拟机)可减少软件仿真层中的I/o开销。附图说明 附图中举例而不是限制性地示出本文描述的专利技术。为了简单且清楚地说明,图中示出的元件不一定按比例绘制。例如,为清楚起见,一些元件的尺寸可能相对于其它元件有所夸大。此外,在认为合适的情况下,图中重复使用附图标记以指示对应或类似的元件。图I示出包括用于控制在访客虚拟机中发起的I/O操作的服务虚拟机的计算平台的实施例。图2a示出用于存储I/O操作的I/O描述符的描述符环结构的实施例。图2b示出用于存储I/O操作的I/O描述符的描述符环结构和影子描述符环结构的实施例。图3示出供I/O装置进行直接存储器存取(DMA)的输入/输出存储器管理单元(10MMU)表的实施例。图4示出由访客虚拟机写入与I/O操作有关的I/O信息的方法的实施例。图5示出通过服务虚拟机基于I/O信息处理I/O操作的方法的实施例。图6a_6b不出通过服务虚拟机基于I/O信息处理I/O操作的方法的另一个实施例。具体实施例方式以下描述叙述用于在虚拟化环境中处理I/O操作的技术。在以下描述中,阐述了众多具体细节,例如逻辑实现、伪代码、用于指定操作数的方式、资源分区/共享/复制实现、系统组件的类型和相互关系以及逻辑分区/集成选择,以便更加全面地了解本专利技术。然而,在没有这些具体细节的情况下,也可实现本专利技术。在其它情况下,没有详细示出控制结构、门级电路和全软件指令序列,以免使本专利技术晦涩难懂。本领域技术人员通过所包含的描述将能实现合适的功能性,而无需过多试验。说明书中提到“一个实施例”、“实施例”、“实例实施例”等时表示,所描述的实施例可包括特定特征、结构或特性,但不是每个实施例都一定要包括该特定特征、结构或特性。而且,这些短语不一定指相同的实施例。此外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例来实现该特征、结构或特性,而不管是否有明确描述。本专利技术的实施例能以硬件、固件、软件或其任意组合来实现。本专利技术的实施例也可作为存储在机器可读介质上的指令来实现,这些指令可由一个或多个处理器读取和执行。机器可读介质可包括用于存储或传送可供机器(如计算装置)读取的形式的信息的任何机制。例如,机器可读介质可包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器装置;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)及其它。图I中示出在虚拟化环境中处理I/O操作的计算平台100的实施例。计算平台100的非穷尽实例列表可包括分布式计算系统、超级计算机、计算群集、大型计算机、微型计算机、个人计算机、工作站、服务器、便携式计算机、膝上型计算机以及用于收发和处理数据的其它装置。在该实施例中,计算平台100可包括底层硬件机101,其具有一个或多个处理器 111、存储器系统121、芯片组131、I/O装置141和可能的其它组件。一个或多个处理器111可经由诸如处理器总线(图I中未示出)的一个或多个总线在通信上耦合到各个组件(例如,芯片组131)。处理器111可作为具有一个或多个处理核的集成电路(IC)来实现,这一个或多个处理核可在合适的体现结构下执行代码。存储器系统121可存储要由处理器111执行的指令和数据。存储器121的实例可包括以下半导体装置中的一种或其任意组合例如同步动态随机存取存储器(SDRAM)装置、RAMBUS动态随机存取存储器(RDRAM)装置、双倍数据速率(DDR)存储器装置、静态随机存取存储器(SRAM)及闪速存储器装置。芯片组131可在一个或多个处理器111、存储器121和诸如I/O装置141的其它组件之间提供一个或多个通信路径。I/O装置141可包括但不限于经由外围组件互连(PCI)或PCI express (PCIe)总线与主机母板连接的PCI和/或PCIe装置。I/O装置141的实例可包括通用串行总线(USB)控制器、图形适配器、音频控制器、网络接口控制器(NIC)、存储目.-rf* o计算平台100还可包括虚拟机监视器(VMM) 102,其负责将底层硬件机与上覆虚拟机(例如,服务虚拟机103、访客虚拟机103^103^接口,以利于和管理虚拟机的多个操作系统(OS)(例如,服务虚拟机103的主机操作系统113、访客虚拟机IOS1-IOSn的访客操作系统113i-113n)共享底层物理资源。虚拟机监视器的实例可包括Xen、ESX服务器、虚拟PC、虚拟服务器、Hper-V、ParalIe> OpenVZ、Qemu 等。在一个实施例中,I/O装置141 (例如,网络卡)可分区成数个功能部分,包括支持输入/输出虚拟化(IOV)体系结构(例如,单根I0V)的控制实体(CE) Mltl和具有用于专用存取的运行时资源(例如,网络装置中的队列对)的多个虚拟功能接口(VI)Ml1-Mlnt5CE和VI的实例可包括单根I/O虚拟化体系结构或多根I/O虚拟化体系结构下的物理功能和虚拟功能。CE还可配置和管理VI功能性。在一个实施例中,多个访客虚拟机IOS1-IOSn可共享受CE 1410控制的物理资源,而每个访客虚拟机IOS1-IOSn可指派有一个或多个VI141r141n。例如,访客虚拟机103:可指派有VI 14110将明白,其它实施例可对于I/O装置141的结构实现其它技术。在一个实施例中,I/O装置141可包括一个或多个VI,而没有CE。例如,不具有分区能力的传统NIC可包括在NULL CE条件下工作的单个VI。服务虚拟机103可加载有装置模型114、CE驱动器115和VI驱动器116的代码。装置模型114可以是或者可以不是真实I/O装置141的软件仿真。CE驱动器115可管理CE1410,CE Mltl与计算平台100的初始化和运行时期间的I/O装置初始化和配置有关。取决于管理策略,VI驱动器116可以是用于管理一个或多个VI装置驱动器。在一个实施例中,基于管理策略,VI驱动器可管理分配给VI驱动器可支持的访客VM的资源,而CE驱动器可管理全局活动。每个访客虚拟机IOS1-IOSn可加载有用于管理由VMM 102呈现的虚拟装置的访客装置驱动器(例如,访客虚拟机IOS1的访客装置驱动器IW1、或访客虚拟机103n的访客装 置驱动器116n)的代码。访客装置驱动器能够或不能以与VI 141及其驱动器116兼容的模式工作。在一个实施例中,访客装置驱动器可以是传统驱动器。在一个实施例中,响应于访客虚拟机的访客操作系统(例如,访客VM IOS1的访客OS Ini)加载访客装置驱动器(例如,访客装本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:Y·董
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1