[发明专利]GPU虚拟化实现方法以及顶点数据缓存方法和相关装置有效
申请号: | 201310554845.0 | 申请日: | 2013-11-08 |
公开(公告)号: | CN103559078B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 徐利成 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙)44280 | 代理人: | 何青瓦 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpu 虚拟 实现 方法 以及 顶点 数据 缓存 相关 装置 | ||
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种GPU虚拟化实现方法以及顶点数据缓存方法和相关装置。
背景技术
GPU(Graphic Processing Unit,图像处理器单元)主要是进行浮点运算和并行计算的,常用于专业的图形运算。GPU虚拟化技术就是要让运行在数据中心服务器上的虚拟化实例共享同一块或多块GPU处理器进行图形运算。从目前已经实现的产品来看,基于DirectX 3d的虚拟化解决方案已经比较成熟,无论是性能、体验等方面都已经接近于物理机的水平;而在更广泛应用的高清制图领域,绝大部分3D软件更多的是基于Opengl(Open Graphics Library,开放的图形程序接口)规范来实现的,这一领域才是企业最迫切希望解决的应用难题。
基于Opengl指令的GPU虚拟化技术的实现目前现存的有开源代码Chromium,Chromium本质上是实现了一种跨网络远程渲染过程。在Chromium架构中,顶点数组允许Opengl驱动程序直接从应用程序的内存中获取顶点、颜色、法线向量等属性。顶点数组的使用能最小化函数调用的开销,减少必须打包到显示驱动中命令缓存区的数据量。但是,在远程渲染过程中,从应用层截获到的顶点数组指针是在图形客户端分配出来的,若直接将顶点数组指针透传到图形服务器进行使用会产生错误。Chromium将一个glArrayElement指令调用分解为等价的glVertex3f、glNormal3f、glColor3f或glTexCoord2f调用,即把glArrayElement的传指针类参数指令转化为一系列传值类参数指令,分解后的指令数目是分解前指令数目的100多倍,会使网络传输的数据量陡然增加,会产生大量的延时,占用传输通道的带宽,增加内存共享对CPU的消耗,造成VM(Virtual Machine ware,虚拟机)密度低,成本较高。
发明内容
本发明实施方式提供一种GPU虚拟化实现方法以及顶点数据缓存方法和相关装置,能大幅降低时延和传输通道的带宽,降低内存共享对CPU的消耗,提高VM密度,降低成本。
第一方面提供一种GPU虚拟化实现方法,包括:图形客户端截获顶点数组类指令;进行顶点数据缓存以创建第一缓存区,发送同步指令至图形服务器以创建第二缓存区,第二缓存区与第一缓存区形成顶点数据的映射关系,顶点数据从顶点数组类指令中获取,包括顶点数组指针和顶点数组长度;在本地数据中进行查询,若本地数据中存在一顶点数据与截获的顶点数据一致,则将顶点数组类指令打包并发送至图形服务器,以使得图形服务器根据第二缓存区的顶点数据和打包的顶点数组类指令渲染出图片,若不存在,则分解顶点数组类指令并发送至图形服务器,以使得图形服务器根据分解的顶点数组类指令渲染出图片,其中,本地数据为预存在图形客户端的顶点数据,该顶点数据不需分解即可发送并使用于图形服务器。
在第一方面的第一种可能的实现方式中,方法还包括:图形客户端通过数据通道接收图形服务器发送的图片并贴至图形设备接口;通过图形设备接口将顶点数组类指令重定向至TC端以执行顶点数组类指令并生成屏幕画面。
在第一方面的第二种可能的实现方式中,进行顶点数据缓存以创建第一缓存区包括:如果新增的顶点数据为历史数据,但缓存的第一缓存区已释放或者其顶点数组长度需要更新为更大的值,则创建临时缓存区;将新增的顶点数据拷贝到临时缓存区中;将顶点数据从临时缓存区拷贝至第一缓存区。
在第一方面的第三种可能的实现方式中,进行顶点数据缓存以创建第一缓存区,发送同步指令至图形服务器以创建第二缓存区,第二缓存区与第一缓存区形成顶点数据的映射关系包括:进行顶点数据缓存,并创建第一缓存区;发送同步指令给图形服务器以创建第二缓存区,同步指令包括顶点数组指针,第二缓存区通过顶点数组指针与第一缓存区形成顶点数据的映射关系。
在第一方面的第四种可能的实现方式中,第一缓存区位于图形客户端中。
在第一方面的第五种可能的实现方式中,第一缓存区位于共享内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310554845.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:医用消毒盒
- 下一篇:一种治疗失眠的中药组合物