图形处理器虚拟化方法及装置制造方法及图纸

技术编号:19424695 阅读:20 留言:0更新日期:2018-11-14 10:27
本申请提供一种图形处理器虚拟化方法及装置,该方法应用于主机内核中加载的GPU主管理层,该方法包括:将图形子系统的共享资源划分为多个资源区域,在该主机内核启动阶段,为主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域,获取并依次转发发送者发送的服务请求以及接收并返回GPU的服务响应,该发送者包括主机和/或虚拟机。该技术方案中,发送者(虚拟机和/或主机)的服务请求只需经过内核中加载的GPU主管理层进行转发,无需经过多个中间层的拷贝和调用,在实现共享GPU的同时,提高了虚拟机的处理效率。

【技术实现步骤摘要】
图形处理器虚拟化方法及装置
本申请涉及计算机
,尤其涉及一种图形处理器虚拟化方法及装置。
技术介绍
随着图形处理器(GraphicsProcessingUnit,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;在所述发送者为虚拟机时,将所述虚拟机内核中内核GPU驱动层的虚拟机物理地址转换为主机物理地址并按照预设的调度策略将所述服务请求发送给所述GPU。在本申请的另一实施例中,所述将图形子系统的共享资源划分为多个资源区域,包括:根据人工划分方案将所述图形子系统的共享资源划分为多个资源区域;或者根据自动分配方式将所述图形子系统的共享资源划分为多个资源区域。在本申请的上述实施例中,所述图形子系统的资源包括:寄存器空间和内存;所述内存包括:系统内存、图形转换表GTT和显存,所述图形子系统的共享资源,包括:地址分配在无需经过内存管理单元MMU虚实地址转换操作对应处理器区域中的所述GTT和所述显存。本申请第二方面提供的一种图形处理器虚拟化装置,所述装置包括主机内核中加载的GPU主管理层,所述装置包括:区域划分模块,用于将图形子系统的共享资源划分为多个资源区域;区域分配模块,用于在所述主机内核启动阶段,为所述主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域;请求处理模块,用于获取并依次转发发送者发送的服务请求,以及接收并返回GPU的服务响应,所述发送者包括主机和/或虚拟机。在本申请的一实施例中,所述请求处理模块,包括:获取单元和收发单元;所述获取单元,用于获取所述发送者发送的服务请求;所述收发单元,用于根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应,以及接收所述GPU返回的服务响应并将所述服务响应发送给所述服务请求对应的发送者,以使所述发送者根据所述服务响应从所述GPU获取所述处理结果。在本申请的上述实施例中,所述请求处理模块,还包括:检查单元;所述检查单元,用于在所述获取单元获取所述发送者发送的服务请求之后,检查所述服务请求是否满足合法性要求;所述收发单元,用于根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应,具体为:所述收发单元,具体用于在所述服务请求满足合法性要求时,根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应。在本申请的上述实施例中,所述收发单元,用于根据预设的调度策略将所述服务请求发送给GPU,具体为:所述收发单元,具体用于在所述发送者为主机时,直接按照预设的调度策略将所述服务请求发送给GPU,在所述发送者为虚拟机时,将所述虚拟机内核中内核GPU驱动层的虚拟机物理地址转换为主机物理地址并按照预设的调度策略将所述服务请求发送给所述GPU。在本申请的另一实施例中,所述区域划分模块,具体用于根据人工划分方案将所述图形子系统的共享资源划分为多个资源区域;或者所述区域划分模块,具体用于根据自动分配方式将所述图形子系统的共享资源划分为多个资源区域。在本申请的上述实施例中,所述图形子系统的资源包括:寄存器空间和内存;所述内存包括:系统内存、图形转换表GTT和显存,所述图形子系统的共享资源,包括:地址分配在无需经过内存管理单元MMU虚实地址转换操作对应处理器区域中的所述GTT和所述显存。本申请实施例提供的图形处理器虚拟化方法及装置,该方法应用于主机内核中加载的GPU主管理层,该方法包括:将图形子系统的共享资源划分为多个资源区域,在该主机内核启动阶段,为主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域,获取并依次转发发送者发送的服务请求,以及接收并返回GPU的服务响应,该发送者包括主机和/或虚拟机。该技术方案中,利用在主机内核中加载的GPU主管理层划分和分配图形子系统的共享资源,发送者(虚拟机和/或主机)的服务请求只需经过内核中加载的GPU主管理层进行转发,无需经过多个中间层的拷贝和调用,在实现共享GPU的同时,提高了虚拟机的处理效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的图形处理器虚拟化方法实施例一的流程示意图;图2为本申请提供的图形处理器虚拟化方法实施例二的流程示意图;图3为本申请提供的图本文档来自技高网...

【技术保护点】
1.一种图形处理器虚拟化方法,其特征在于,应用于主机内核中加载的GPU主管理层,所述方法包括:将图形子系统的共享资源划分为多个资源区域;在所述主机内核启动阶段,为所述主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域;获取并依次转发发送者发送的服务请求,以及接收并返回GPU的服务响应,所述发送者包括主机和/或虚拟机。

【技术特征摘要】
1.一种图形处理器虚拟化方法,其特征在于,应用于主机内核中加载的GPU主管理层,所述方法包括:将图形子系统的共享资源划分为多个资源区域;在所述主机内核启动阶段,为所述主机内核中加载的内核GPU驱动层分配一资源区域,在每个虚拟机内核启动阶段,分别为每个虚拟机内核中加载的内核GPU驱动层分配一资源区域;获取并依次转发发送者发送的服务请求,以及接收并返回GPU的服务响应,所述发送者包括主机和/或虚拟机。2.根据权利要求1所述的方法,其特征在于,所述获取并依次转发所述发送者发送的服务请求,以及接收并返回GPU的服务响应,包括:获取所述发送者发送的服务请求;根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应;接收所述GPU返回的服务响应并将所述服务响应发送给所述服务请求对应的发送者,以使所述发送者根据所述服务响应从所述GPU获取所述处理结果。3.根据权利要求2所述的方法,其特征在于,在所述获取所述发送者发送的服务请求之后,还包括:检查所述服务请求是否满足合法性要求;所述根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应,包括:当所述服务请求满足合法性要求时,根据预设的调度策略将所述服务请求发送给GPU,以使得所述GPU根据所述服务请求生成处理结果和服务响应。4.根据权利要求2或3所述的方法,其特征在于,所述根据预设的调度策略将所述服务请求发送给GPU,包括:在所述发送者为主机时,直接按照预设的调度策略将所述服务请求发送给GPU;在所述发送者为虚拟机时,将所述虚拟机内核中内核GPU驱动层的虚拟机物理地址转换为主机物理地址并按照预设的调度策略将所述服务请求发送给所述GPU。5.根据权利要求1所述的方法,其特征在于,所述将图形子系统的共享资源划分为多个资源区域,包括:根据人工划分方案将所述图形子系统的共享资源划分为多个资源区域;或者根据自动分配方式将所述图形子系统的共享资源划分为多个资源区域。6.根据权利要求5所述的方法,其特征在于,所述图形子系统的资源包括:寄存器空间和内存;所述内存包括:系统内存、图形转换表GTT和显存,所述图形子系统的共享资源,包括:地址分配在无需经过内存管理单元MMU虚实地址转换操作对应处理器区域中的所述GTT和所述显存。7.一种图形处理器虚拟化装置,其特征在于,所述装置包括主机内核中加载的GPU主管理层,所述装置包括:...

【专利技术属性】
技术研发人员:朱琛高翔王洪虎
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

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

1