用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机制造技术

技术编号:11638821 阅读:109 留言:0更新日期:2015-06-24 14:05
计算系统包括图形处理单元(GPU)、以及主处理电路,所述主处理电路用于执行计算机程序指令以形成:管理程序、控制虚拟机(VM)以及用于图形处理的专用渲染VM。来宾VM的应用程序根据诸如直接3D等的图形API生成图形命令和数据。渲染VM包括GPU本地的图形驱动器,并且控制VM向渲染VM指派对GPU的直通访问。渲染VM经由VM间通信信道从应用程序接收图形信息,并且渲染VM使用图形驱动器控制GPU以执行图形渲染。使用渲染VM使得能够在无需迫使控制VM使用兼容操作系统的情况下实现本地图形性能。本技术通常可应用于专用VM对硬件资源的虚拟化。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机系统领域,并且在一个方面,涉及诸如计算机图形单元等的专 用硬件资源的处理。
技术介绍
在计算机图形领域,使用专用图形处理单元或GPU来提供对某些图形操作的基于 硬件的加速是已知的。举例说明,现代的GPU可以执行诸如以下各项的操作:纹理映射、高 速多边形渲染以及具有高度平行的结构的硬件电路中的描影,以得到高处理吞吐量。GPU执 行的处理通常用于在图形显示器上渲染应用程序的图形图像的目的。GPU对于很多图形密 集的计算机应用尤其有用,例如包括:视频游戏以及高级图形合成和编辑工具。
技术实现思路
有效地使用采用"虚拟化"技术的计算机系统(即,具有主机硬件和支持运行多个 虚拟计算机或"虚拟机"(VM)的软件的计算机系统)中的GPU或类似专用硬件资源可能是 有挑战的。GPU不像存储器或存储设备一样可分割,因此基于此,不能指派GPU以由不同的 VM使用。 用于GPU虚拟化的一种方式用于基于所谓的XEN架构的虚拟计算系统中,该XEN 架构表征了开源管理程序和运行Linux操作系统的控制VM。Linux提供了对称作OpenGL 的图形应用编程界面(API)的本地支持。运行Windows?操作系统的系统通常利用称作 DirectX的族的不同图形API。具体地,用于三维图形的特定DirectX API被称作"Direct 3D"或"D3D"。在来宾VM正在运行Windows的XEN虚拟计算系统中,采用称作"Wine"的开 源转换程序来提供D3D API与OpenGL之间的转换是必要的。Wine程序被部署在控制VM 中,并且来宾VM配置有特殊的驱动器,该特殊的驱动器将由应用程序生成的D3D功能调用 路由到控制VM。在控制VM,Wine使用OpenGL操作来处理D3D功能调用。 然而,与针对GPU使用本地D3D驱动器的系统相反,使用转换程序和单独的图形 API (例如,Wine和OpenGL)可能施加性能惩罚。首先是转换过程本身,其赋予额外延迟并 且可能减少图形吞吐量。此外,由D3D而非OpenGL提供的功能必须以某种备选方式运行, 例如,某种形式的仿真,这相对于GPU辅助的运行可能显著地降低性能。将期望诸如XEN系 统等的基于Linux的虚拟计算系统提供对Windows D3D API的支持,而不会过分地牺牲图 形性能。 公开了用于对诸如图形硬件等的专用硬件资源进行虚拟化的技术,其克服了如上 所述的现有虚拟化技术的限制,从而在无需降低性能的转换和仿真的情况下提供了部署灵 活性。虽然该技术可能在诸如基于XEN的平台等的开源平台中特别有用,但是它更一般地 可应用于基于其他架构的系统。 在一个方面,所公开的计算系统包括:图形处理单元,以及主处理电路,该主处理 电路可操作以执行形计算机程序指令以形成:管理程序、控制虚拟机、和用于图形处理的专 用渲染虚拟机。与在传统虚拟计算平台中一样,管理程序提供了对计算系统的硬件的虚拟 化,而控制虚拟机管理计算系统的渲染虚拟机和来宾虚拟机。技术支持通过来宾虚拟机的 应用程序对图形处理单元的共享使用,其中,来宾虚拟机的应用程序根据诸如D3D API等的 指定图形API生成图形信息(通常包括图形命令和图形数据)。 渲染虚拟机包括图形处理单元本地的图形驱动器,并且控制虚拟机向渲染虚拟机 指派了对图形处理单元的直通访问。也即是说,渲染虚拟机能够直接与GPU进行通信以控 制其操作,而无需像对其他硬件资源所进行的那样通过管理程序进行虚拟化。渲染虚拟机 经由虚拟机间通信信道从应用程序接收图形信息,并且使用图形驱动器基于图形信息控制 图形处理单元的操作以执行图形渲染操作。 由于渲染VM与控制VM分离,因此它可以使用支持本地图形驱动器(例如, Windows)的操作系统,而控制VM可以使用可能不与驱动器兼容但是具有诸如开源可用性 等的其他优点的不同操作系统(例如,Linux)。控制VM不直接参与图形处理,使得不同图 形API之间的性能降低的转换不必要。此外,由于其专门的属性,因此渲染虚拟机可以实现 为相对低功能的机器一一它可能不需要诸如网络接入、复杂的文件系统、用户界面等的功 能。因此,它可以使用所谓的"嵌入式"操作系统,所谓的"嵌入式"操作系统与通常在通用 VM中使用的全功能操作系统相比不那么资源密集且不那么昂贵。 所公开的技术已经广泛地应用于其他类型的硬件资源的虚拟化。【附图说明】 通过如附图所示的对本专利技术的特定实施例的以下描述,前述和其他目的、特征和 优点将显而易见,在附图中,相似的附图标记贯穿不同的视图指代相同的部分。 图1是计算机系统的框图; 图2(a)至图2(c)是图形用户界面显示屏的示意图; 图3是计算机系统的某些元件的框图;以及 图4是计算机系统的某些操作的流程图。【具体实施方式】 图1示出了具有硬件资源(或硬件)集10和软件实现的组件的计算机,软件实现 组件包括管理程序12和虚拟机(VM)集合,VM集合被示出为控制VM 14、渲染VM 16和一个 或多个来宾VM 18 (示出了两个来宾VM 18-1和18-2)。管理程序12、控制VM 14和渲染VM 16是特许的系统组件,这意味着它们通常有权直接访问硬件10中的一些或全部,而来宾VM 18相对不享有特权,并且依赖于特权系统组件为了其对硬件10的使用的虚拟化和其他功 能。硬件10通常包括一个或多个处理器、存储器、和提供功能互连以在这些组件之间进行 数据传递的一个或多个高速数据总线。为了便于本文参考,这些组件的集合被称作"主处理 电路",其反映了处理包括管理程序12和VM14-18的软件实现组件的计算机程序指令的功 能。硬件10通常还包括I/O电路,I/O电路可以包括例如网络接口电路、存储设备(例如, 闪存或磁盘)、以及针对用户接口设备(例如,定点设备、键盘和图形显示设备)的接口电 路。 如图所示,硬件10包括视频接口电路(VIDEO INTFC) 19,其包括图形处理单元 (GPU) 20。视频接口电路19提供了针对诸如LCD显示器(未示出)等的图形显示设备的接 口。GPU 10包括专用于执行图形渲染操作的电路。这种电路也可以称作"图形加速器"。具 体地,在一个实施例中,GPU 20包括三维(3-D)渲染的能力。 控制VM 14是用于管理和控制计算机(包括实例化渲染VM 16和来宾VM 18以及 配置和控制其操作的某些方面)的专用VM。通过控制连接22在图1中指示了该控制功能。 控制VM 14可以备选地称作"控制域"、"域0"或"domO",后面的名字可以应用于 向连续实例化的VM给予相应序号0、1、2……的系统。控制VM 14还例如通过"控制台"或 本领域中众所周知的类似的用户界面程序向计算机的人工操作员提供界面。在一个实施例 中,控制VM 14运行Linux操作系统。下面描述控制VM 14的某些具体的功能。 来宾VM 18通常是全功能VM,其优选地尽可能接近完全虚拟化,这意味着它们可 以在相对于非虚拟化形式具有较少改变的情况下运行软件(特别是操作系统)。如图所示, 当前第1页1 2 3 本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104737129.html" title="用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机原文来自X技术">用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机</a>

【技术保护点】
一种计算系统,包括:图形处理单元;以及主处理电路,所述主处理电路能够操作用于执行计算机程序指令集以形成:管理程序,所述管理程序能够操作用于对所述计算系统的硬件进行虚拟化;控制虚拟机;以及渲染虚拟机,所述控制虚拟机能够操作用于管理所述渲染虚拟机和来宾虚拟机,所述来宾虚拟机包括生成图形信息的应用程序,所述渲染虚拟机包括所述图形处理单元本地的图形驱动器,并且所述控制虚拟机向所述渲染虚拟机指派对所述图形处理单元的直通访问,所述渲染虚拟机能够操作用于(i)经由虚拟机间通信信道从所述应用程序接收所述图形信息,(ii)向所述图形驱动器提供所接收的图形信息,以及(iii)使用所述图形驱动器以基于所述图形信息来控制所述图形处理单元的操作以执行图形渲染操作。

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

【专利技术属性】
技术研发人员:朱利安·彼得罗夫桑迪·斯塔茨门
申请(专利权)人:思杰系统有限公司
类型:发明
国别省市:美国;US

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

1