[发明专利]图形处理器虚拟化方法及装置有效
申请号: | 201710312397.1 | 申请日: | 2017-05-05 |
公开(公告)号: | CN108804199B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 朱琛;高翔;王洪虎 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06T1/20 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋扬;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 处理器 虚拟 方法 装置 | ||
本申请提供一种图形处理器虚拟化方法及装置,该方法应用于主机内核中加载的GPU主管理层,该方法包括:将图形子系统的共享资源划分为多个资源区域,在该主机内核启动阶段,为主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域,获取并依次转发发送者发送的服务请求以及接收并返回GPU的服务响应,该发送者包括主机和/或虚拟机。该技术方案中,发送者(虚拟机和/或主机)的服务请求只需经过内核中加载的GPU主管理层进行转发,无需经过多个中间层的拷贝和调用,在实现共享GPU的同时,提高了虚拟机的处理效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种图形处理器虚拟化方法及装置。
背景技术
随着图形处理器(Graphics Processing Unit,GPU)性能的不断提升,GPU不再局限于图形处理,其在浮点运算和并行运算方面的优势也越来越明显。在GPU虚拟化之后,运行在数据中心服务器上的多个虚拟机能够实例共享同一GPU处理器进行图形运算的技术越来越广泛。
目前,GPU虚拟化共享方法主要是通过在虚拟机操作系统的用户层构建一个截获层来实现。具体的,在虚拟机需要使用GPU资源时,利用构建的截获层在API层拦截虚拟机的图形渲染请求,并将该图形渲染需求发送给主机,由主机的接收层转发给主机的API层,由该API层转发给用户层驱动,由用户层驱动转发给内核层驱动,由内核层驱动控制GPU根据该图形渲染请求执行图形渲染,执行结果再按照转发路径返回给虚拟机。
由上可知,上述方法中虚拟机与主机之间参与图形渲染请求的中间层次非常多,图形渲染请求和执行结果的返回均需要经过多次拷贝,导致虚拟机的处理效率低。
发明内容
本申请提供一种图形处理器虚拟化方法及装置,以在MIPS架构下实现GPU共享,解决虚拟机处理效率低的问题。
本申请第一方面提供的一种图形处理器虚拟化方法,应用于主机内核中加载的GPU主管理层,所述方法包括:
将图形子系统的共享资源划分为多个资源区域;
在所述主机内核启动阶段,为所述主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域;
获取并依次转发发送者发送的服务请求,以及接收并返回GPU的服务响应,所述发送者包括主机和/或虚拟机。
在本申请的一实施例中,所述获取并依次转发所述发送者发送的服务请求,以及接收并返回GPU的服务响应,包括:
获取所述发送者发送的服务请求;
根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应;
接收所述GPU返回的服务响应并将所述服务响应发送给所述服务请求对应的发送者,以使所述发送者根据所述服务响应从所述GPU获取所述处理结果。
在本申请的上述实施例中,在所述获取所述发送者发送的服务请求之后,还包括:
检查所述服务请求是否满足合法性要求;
所述根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应,包括:
当所述服务请求满足合法性要求时,根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应。
在本申请的上述实施例中,所述根据预设的调度策略将所述服务请求发送给GPU,包括:
在所述发送者为主机时,直接按照预设的调度策略将所述服务请求发送给GPU;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710312397.1/2.html,转载请声明来源钻瓜专利网。