基于国产GPU显卡的虚拟化构建系统及方法技术方案

技术编号:32553670 阅读:39 留言:0更新日期:2022-03-05 11:54
本发明专利技术提供了一种基于国产GPU显卡的虚拟化构建系统及方法,包括宿主机和虚拟机;所述宿主机基于国产GPU显卡模拟虚拟GPU设备;所述虚拟机基于虚拟GPU设备进行指令和数据的转发。本发明专利技术将针对国产显卡进行适配、实现基于国产显卡的GPU虚拟化公平调度方案,在保证虚拟化GPU应该具有的资源隔离、分配等关键功能前提下,保障GPU资源的公平调度,提升云计算平台的公共显示效率,减少国产图形处理器显示虚拟化资源的开销。拟化资源的开销。拟化资源的开销。

【技术实现步骤摘要】
基于国产GPU显卡的虚拟化构建系统及方法


[0001]本专利技术涉及虚拟化构建的
,具体地,涉及一种基于国产GPU显卡的虚拟化构建系统及方法。尤其是,优选的涉及一种基于国产GPU显卡的虚拟化构建与QoS控制方法。

技术介绍

[0002]随着国内GPU显卡技术和国产处理器的不断成熟,国产GP100系列显卡目前正被越来越多的国产处理器所使用,申威处理器架构、飞腾处理器架构都可以使用GP100系列显卡,将其用于图形加速、视频解码。在国内研究机构自主研发的前提下,国产显卡组合国产CPU处理器,可以搭建全部基于国产硬件构成的计算机系统。GP100系列显卡作为配备了国产GPU芯片的显卡,可以支持HDMI、DVI、VGA等通用显示接口,支持2D、3D图形加速和OpenGL ES2.0,支持4K分辨率、视频解码和硬件图层处理等功能,可以广泛应用于军民两用电子设备、工业控制、电子信息等领域。在使用GP100系列显卡的基础上,可以根据国内组织机构的特殊需求对显卡功能和特性进行相应的调整和需求,相较于购买国外厂商提供的闭源硬件,GP100系列显卡具有更好的灵活性。GPU英文全称为graphics processing unit,中文译文为图形处理器。HDMI英文全称为High Definition Multimedia Interface,中文译文为高清多媒体接口。DVI的英文全称为Digital Visual Interface,中文译文为数字视频接口。VGA的英文全称为Video Graphics Array,中文译文为视频图形阵列。OpenGL英文全称为Open Graphics Library,中文译文为开放图形库。
[0003]然而,国产GPU设备在研发仍处于起步阶段,基于国产GPU设备的开发仍在不断进行中。GP100系列作为一个起步阶段的成果,在没有国外关于GPU的技术支持条件下,其内部架构的优化和功能的支持仍需要投入大量精力。目前,在已成功流片的国产GPU上,受限于硬件电路结构的设计,GP100系列显卡在软件上可提供的功能支持是有限的。同时,由于GP100系列是我国自主研发的GPU显卡,在架构设计上可能与目前成熟的GPU显卡存在显著差异,从而导致许多针对特殊应用场景和需求开发的软件无法成功移植到配置有GP100系列显卡的机器上。以GPU虚拟化显示为例,由于GP100系列显卡内部不支持资源的分离,无法像支持SR

IOV的硬件设备一样将单个物理GPU虚拟成多个具有相同功能的虚拟GPU,以供用户访问,因此在国产GPU设备下很难提供基于硬件的虚拟化支持。在这样的情况下,提供GPU虚拟化显示则需要通过软件模拟的方式来实现,需要允许软件提供GPU虚拟支持,让一个GP100系列显卡支持多个虚拟机的显示,并通过合理的调度方式让不同虚拟显卡的调度尽可能公平。
[0004]在基于国产GPU显卡的虚拟化构建方案中,比较关键的技术有如下几个:(1)GPU关键资源映射技术;(2)GPU多通道显示技术;(3)基于服务质量的GPU资源公平调度技术。
[0005]在GPU显卡的虚拟化构建中,首先需要通过软件方式模拟GPU显卡,为虚拟机提供虚拟GPU设备。其最终目的是将GPU设备模拟为多个单独的GPU设备,分配一定量的物理资源,让虚拟机通过调用虚拟设备的方式间接调用实际物理设备。此外,单个虚拟GPU可以具有独立的配置,完成物理设备的部分抽象。与此同时,一个物理GPU设备将可以虚拟化出多
个虚拟GPU设备,为不同的虚拟机提供不同的服务。多虚拟设备的模拟则需要考虑GPU设备的多通道显示和GPU资源的公平调度,需要为每个虚拟机构建一个独立的通信通道,保证虚拟机之间数据和上下文的独立性,在运行多个虚拟机的情况下,也需要保证每个虚拟GPU设备的性能满足服务质量要求,并通过满足公平性的方式来实现虚拟GPU调度。
[0006]公开号为CN112967171A的中国专利技术专利文献公开了一种基于ARM架构实现GPU虚拟化的系统及方法,包括:虚拟机配置的第一软件模块,及宿主机配置的第二软件模块;所述第一软件模块包含各类应用程序App,所述第二软件模块具备3D渲染功能,可将第一软件模块中的App进行3D渲染。
[0007]针对上述中的相关技术,专利技术人认为目前,设计并实现基于国产GPU显卡的虚拟化构建方法需要面对以下问题:首先,不同于目前主流GPU设备提供的基于硬件的虚拟化,在GP100系列显卡无法提供硬件接口实现GPU设备的虚拟化前提下,必须通过软件方式实现虚拟化。同时,在图像渲染时,GP100系列显卡没有提供公平性调度支持,当多个任务并发时,GP100系列显卡将会因为进程阻塞而导致部分任务无法满足其服务质量的要求,因此在进行虚拟化方案的设计中,必须考虑到不同虚拟GPU设备的公平性调度问题,保证多虚拟GPU设备在满足服务质量要求下进行公平性调度。另外,现有开源虚拟化实现方案无法在飞腾国产处理平台上进行直接的移植与运行,必须以此为参考开发针对GP100系列显卡的虚拟化解决方案。

技术实现思路

[0008]针对现有技术中的缺陷,本专利技术的目的是提供一种基于国产GPU显卡的虚拟化构建系统及方法。
[0009]根据本专利技术提供的一种基于国产GPU显卡的虚拟化构建系统,包括宿主机和虚拟机;
[0010]所述宿主机基于国产GPU显卡模拟虚拟GPU设备;
[0011]所述虚拟机基于虚拟GPU设备进行指令和数据的转发。
[0012]优选的,所述宿主机包括虚拟机管理程序;
[0013]在所述虚拟机管理程序中,启动指令中增加虚拟GPU的配置,并启动虚拟机;
[0014]所述虚拟机管理程序接收并解析用户参数,注册挂载虚拟GPU设备的PCI

E通道;
[0015]基于用户配置,所述虚拟机管理程序注册虚拟GPU设备并挂载在PCI

E通道上。
[0016]优选的,所述虚拟机管理程序初始化虚拟GPU设备数据结构,根据用户配置填充虚拟GPU设备相应配置,初始化虚拟GPU设备状态。
[0017]优选的,所述虚拟机产生虚拟机GPU设备挂载在与PCI

E通道对应的VirtIO

PCI总线上。
[0018]优选的,所述虚拟机包括内核态驱动模块,所述内核态驱动模块构建虚拟机与虚拟机管理程序之间的数据传输通道。
[0019]优选的,所述虚拟GPU设备包括用于数据传输的环形缓冲区;所述内核态驱动模块基于环形缓冲区进行指令和数据的转发。
[0020]优选的,所述虚拟机管理程序为每个虚拟GPU设备分配共享内存,每个虚拟GPU设备的共享内存用于记录该虚拟GPU设备所需的服务质量与当前该虚拟GPU设备使用物理GPU
的实际情况。
[0021]根据本专利技术提供的一种基于国产GPU显卡的虚拟化构建方法,包括如下步骤:
[0022]步骤S1:基于国产GPU显卡模拟虚拟GPU设备;
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于国产GPU显卡的虚拟化构建系统,其特征在于,包括宿主机和虚拟机;所述宿主机基于国产GPU显卡模拟虚拟GPU设备;所述虚拟机基于虚拟GPU设备进行指令和数据的转发。2.根据权利要求1所述的基于国产GPU显卡的虚拟化构建系统,其特征在于,所述宿主机包括虚拟机管理程序;在所述虚拟机管理程序中,启动指令中增加虚拟GPU的配置,并启动虚拟机;所述虚拟机管理程序接收并解析用户参数,注册挂载虚拟GPU设备的PCI

E通道;基于用户配置,所述虚拟机管理程序注册虚拟GPU设备并挂载在PCI

E通道上。3.根据权利要求2所述的基于国产GPU显卡的虚拟化构建系统,其特征在于,所述虚拟机管理程序初始化虚拟GPU设备数据结构,根据用户配置填充虚拟GPU设备相应配置,初始化虚拟GPU设备状态。4.根据权利要求2所述的基于国产GPU显卡的虚拟化构建系统,其特征在于,所述虚拟机产生虚拟机GPU设备挂载在与PCI

E通道对应的VirtIO

PCI总线上。5.根据权利要求2所述的基于国产GPU显卡的虚拟化构建系统,其特征在于,所述虚拟机包括内核态驱动模块,所述内核态驱动模块构建虚拟机与虚拟机管理程序之间的数据传输通道。6.根据权利要求5所述的基于国产GPU显卡的虚拟化构建系统,其特征在于,所述虚拟GPU设备包括用...

【专利技术属性】
技术研发人员:高毅姚建国余学俊顾琦琪
申请(专利权)人:中国船舶重工集团公司第七零九研究所
类型:发明
国别省市:

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

1