一种虚拟化方法、装置、设备、介质、加速器及系统制造方法及图纸

技术编号:37489165 阅读:14 留言:0更新日期:2023-05-07 09:27
本申请公开了计算机技术领域内的一种虚拟化方法、装置、设备、介质、加速器及系统。本申请为FPGA加速器设计了外壳shell区和内核区,并在外壳shell区对PCIe物理设备、内存、网络接口进行虚拟化,从而在硬件FPGA加速器上实现了加速器资源的虚拟化和隔离;同时,实现了虚拟化资源的分配,使不同虚拟化资源被分配至内核区中的不同内核程序,能够实现:不同虚拟机或不同容器同时绑定同一FPGA加速器中的不同资源,且不同虚拟机或不同容器对同一FPGA加速器的访问相互隔离,提高了加速器资源的利用率。提高了加速器资源的利用率。提高了加速器资源的利用率。

【技术实现步骤摘要】
一种虚拟化方法、装置、设备、介质、加速器及系统


[0001]本申请涉及计算机
,特别涉及一种虚拟化方法、装置、设备、介质、加速器及系统。

技术介绍

[0002]目前,服务器可借助硬件FPGA加速器(如FPGA加速卡)的算力进行加速计算,但由于硬件FPGA加速器本身需依赖服务器软件实现其中各类型资源的虚拟化,导致服务器中的不同虚拟机或不同容器无法同时调用同一硬件FPGA加速器。也就是:硬件FPGA加速器本身不具备虚拟化功能,若借助服务器软件对加速器资源虚拟化,加速器资源仍无法实现真正的隔离,因此服务器上的不同虚拟机或不同容器仍需依次访问同一FPGA加速器,导致加速器资源利用率低,造成FPGA加速器算力的浪费。
[0003]因此,如何在硬件FPGA加速器上实现加速器资源的隔离,是本领域技术人员需要解决的问题。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种虚拟化方法、装置、设备、介质、加速器及系统,以在硬件FPGA加速器上实现加速器资源的隔离。其具体方案如下:第一方面,本申请提供了一种虚拟化方法,应用于FPGA加速器的外壳区,该方法包括:在所述FPGA加速器中确定支持高速串行计算机扩展总线标准的各个物理设备,将每一物理设备虚拟化为多个虚拟设备;将所述FPGA加速器中的硬件存储资源划分为多个存储区;将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口;记录所述多个虚拟设备、所述多个存储区和所述多个虚拟网口,并将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述FPGA加速器的内核区中的不同内核程序,以便不同虚拟机或不同容器同时调用不同内核程序。
[0005]可选地,所述将每一物理设备虚拟化为多个虚拟设备,包括:确定每一物理设备的类型;基于每一类型的物理设备创建得到至少一个物理管理设备;将每一物理管理设备虚拟化为若干虚拟设备。
[0006]可选地,所述将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述内核区中的不同内核程序,包括:查询每一内核程序对应的资源配置表;每一内核程序对应的资源配置表记录有:当前内核程序对于虚拟设备、存储区和虚拟网口的最少用量;根据每一内核程序对应的资源配置表为每一内核程序分配虚拟设备、存储区和虚拟网口。
[0007]可选地,所述FPGA加速器插接于服务器;相应地,还包括:若所述服务器访问所述内核区中的任意内核程序,则对所述服务器对该内核程序的访问操作进行管控。
[0008]可选地,还包括:若所述服务器访问所述FPGA加速器中任意硬件资源,则对所述服务器对该硬件资源的访问操作进行管控。
[0009]可选地,还包括:根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接。
[0010]可选地,所述根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接,包括:在所述内核区中的任意程序的更新过程中,阻断所述外壳区与所述内核区的信号连接。
[0011]可选地,所述根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接,包括:若所述内核区中的任意程序均未更新,则保持所述外壳区与所述内核区的信号连接。
[0012]可选地,所述将所述FPGA加速器中的硬件存储资源划分为多个存储区之后,还包括:为每一存储区配置至少一个队列。
[0013]可选地,所述将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口之后,还包括:为每一虚拟网口配置至少两个队列。
[0014]可选地,所述将每一物理设备虚拟化为多个虚拟设备,包括:利用SR

IOV将所述FPGA加速器中的每一类型的物理PCIe设备创建为至少一个物理管理设备,并将每一物理管理设备虚拟化为若干虚拟设备。
[0015]可选地,所述将所述FPGA加速器中的硬件存储资源划分为多个存储区,包括:利用Virtio将所述FPGA加速器中的硬件存储资源划分为多个存储区。
[0016]可选地,所述将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口,包括:利用Virtio将所述FPGA加速器中的每一硬件网口资源虚拟化为若干虚拟网口。
[0017]第二方面,本申请提供了一种虚拟化装置,应用于FPGA加速器的外壳区,该装置包括:第一虚拟化模块,用于在所述FPGA加速器中确定支持高速串行计算机扩展总线标准的各个物理设备,将每一物理设备虚拟化为多个虚拟设备;第二虚拟化模块,用于将所述FPGA加速器中的硬件存储资源划分为多个存储区;第三虚拟化模块,用于将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口;虚拟管理模块,用于记录所述多个虚拟设备、所述多个存储区和所述多个虚拟网
口,并将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述FPGA加速器的内核区中的不同内核程序,以便不同虚拟机或不同容器同时调用不同内核程序。
[0018]第三方面,本申请提供了一种虚拟化组件,设置于FPGA加速器的外壳shell区,所述虚拟化组件包括:PCIe设备虚拟化模块,用于将所述FPGA加速器中的每一物理PCIe设备虚拟化为多个虚拟设备;内存虚拟化模块,用于将所述FPGA加速器中的硬件存储资源划分为多个存储区;网络接口虚拟化模块,用于将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口;资源管理模块,用于记录所述多个虚拟设备、所述多个存储区和所述多个虚拟网口,并将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述内核区中的不同内核程序,以便不同虚拟机或不同容器同时调用不同内核程序。
[0019]可选地,所述PCIe设备虚拟化模块具体用于:利用SR

IOV将所述FPGA加速器中的每一类型的物理PCIe设备创建为至少一个物理管理设备,并将每一物理管理设备虚拟化为若干虚拟设备。
[0020]可选地,所述内存虚拟化模块具体用于:利用Virtio将所述FPGA加速器中的硬件存储资源划分为多个存储区。
[0021]可选地,所述内存虚拟化模块还用于:为每一存储区配置至少一个队列。
[0022]可选地,所述网络接口虚拟化模块具体用于:利用Virtio将所述FPGA加速器中的每一硬件网口资源虚拟化为若干虚拟网口。
[0023]可选地,所述网络接口虚拟化模块还用于:为每一虚拟网口配置至少8个队列。
[0024]可选地,所述资源管理模块具体用于:根据每一内核程序对应的资源配置表为每一内核程序分配虚拟设备、存储区和虚拟网口;每一内核程序对应的资源配置表记录有:当前内核程序对于虚拟设备、存储区和虚拟网口的最少用量。
[0025]可选地,所述资源管理模块还用于:管控服务器对每一内核程序的访问操作。
[0026]可选地,所述资源管理模块还用于:管控服务器对所述FPGA加速器中所有硬件资源的访问操作。
[0027]可选地,还包括:隔离模块,用于隔离所述外壳shell区与所述内核区的信号连接。...

【技术保护点】

【技术特征摘要】
1.一种虚拟化方法,其特征在于,应用于FPGA加速器的外壳区,该方法包括:在所述FPGA加速器中确定支持高速串行计算机扩展总线标准的各个物理设备,将每一物理设备虚拟化为多个虚拟设备;将所述FPGA加速器中的硬件存储资源划分为多个存储区;将所述FPGA加速器中的每一硬件网口资源虚拟化为多个虚拟网口;记录所述多个虚拟设备、所述多个存储区和所述多个虚拟网口,并将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述FPGA加速器的内核区中的不同内核程序,以便不同虚拟机或不同容器同时调用不同内核程序。2.根据权利要求1所述的方法,其特征在于,所述将每一物理设备虚拟化为多个虚拟设备,包括:确定每一物理设备的类型;基于每一类型的物理设备创建得到至少一个物理管理设备;将每一物理管理设备虚拟化为若干虚拟设备。3.根据权利要求1所述的方法,其特征在于,所述将所述多个虚拟设备、所述多个存储区和所述多个虚拟网口分配至所述内核区中的不同内核程序,包括:查询每一内核程序对应的资源配置表;每一内核程序对应的资源配置表记录有:当前内核程序对于虚拟设备、存储区和虚拟网口的最少用量;根据每一内核程序对应的资源配置表为每一内核程序分配虚拟设备、存储区和虚拟网口。4.根据权利要求1所述的方法,其特征在于,所述FPGA加速器插接于服务器;相应地,还包括:若所述服务器访问所述内核区中的任意内核程序,则对所述服务器对该内核程序的访问操作进行管控。5.根据权利要求4所述的方法,其特征在于,还包括:若所述服务器访问所述FPGA加速器中任意硬件资源,则对所述服务器对该硬件资源的访问操作进行管控。6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接。7.根据权利要求6所述的方法,其特征在于,所述根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接,包括:在所述内核区中的任意程序的更新过程中,阻断所述外壳区与所述内核区的信号连接。8.根据权利要求6所述的方法,其特征在于,所述根据所述内核区中的程序更新情况隔离所述外壳区与所述内核区的信号连接,包括:若所述内核区中的任意程序均未更新,则保持所述外壳区与所述内核区的信号连接。9.根据权利要求1所述的方法,其特征在于,所述将所述FPGA加速器中的硬件存储资源划分为多个存储区之后,还包括:为每一存储区配置至少一个队列。10.根据权利要求1所述的方法,其特征在于,所述将所述FPGA加速器中的每...

【专利技术属性】
技术研发人员:郭巍刘伟徐亚明张德闪李仁刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1