一种虚拟机与加速器间的数据传输方法、系统及装置制造方法及图纸

技术编号:27313055 阅读:18 留言:0更新日期:2021-02-10 09:39
本发明专利技术公开了一种虚拟机与加速器间的数据传输方法、系统及装置,在虚拟机中的应用与加速器之间建立两个不同且独立的数据传输路径,一个是借助物理网卡硬件实现高速传输协议的高速传输路径;另一个是借助由软件模拟出的网卡设备实现低速传输协议的低速传输路径。在虚拟机未收到迁移命令时,控制虚拟机中的应用使用高速传输路径与加速器进行通信。在虚拟机收到迁移命令后,控制虚拟机中的应用切换至低速传输路径与加速器进行通信,低速传输协议依赖的是由软件模拟出的网卡设备,其迁移过程和CPU类似,也是简单的数据传输和拷贝,可保证虚拟机中运行的应用不中断,即本申请的采用高速传输协议+低速传输协议的加速器资源池化方案支持虚拟机迁移。支持虚拟机迁移。支持虚拟机迁移。

【技术实现步骤摘要】
一种虚拟机与加速器间的数据传输方法、系统及装置


[0001]本专利技术涉及服务器领域,特别是涉及一种虚拟机与加速器间的数据传输方法、系统及装置。

技术介绍

[0002]为了提高云端的计算能力,越来越多的加速器资源被添加进云数据中心,比如含有FPGA(Field Programmable Gate Array,现场可编程门阵列)处理单元的加速器。最初,FPGA加速器插至服务器的PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)插槽上,只服务于所在服务器上的应用,不能被其它服务器所访问,在一定程度上造成了FPGA加速器空置浪费。为了提高FPGA加速器资源的利用率,采用借助服务器网卡的方式,实现通过网络使得本地FPGA加速器可被远端服务器所访问,此时所有FPGA加速器逻辑上相当于共同构成了一个加速器资源池,由一个资源管理器根据需求分配加速器资源,提高了FPGA加速器资源的利用率。同时,为了降低因远端服务器与FPGA加速器之间的传输延迟导致的加速性能损失,远端服务器和FPGA加速器的网络传输协议通常采用高速数据传输协议,比如RDMA(Remote Direct Memory Access,远程直接内存访问)协议。
[0003]目前,服务器的应用通常部署在服务器上创建的虚拟机里。为了保证云数据中心的运维效果,通常设置虚拟机具备实时迁移功能,即在一台物理机上运行的虚拟机可以迁移到另一台物理机上,而且要求在迁移过程中,用户感觉不到虚拟机中的应用被中断。如果虚拟机中所运行的应用无需访问外部设备,则迁移仅是CPU(中央处理器)和Memory(存储器)的状态数据的拷贝,较容易实现虚拟机迁移。如果虚拟机中所运行的应用需要通过网络访问外部设备,有时会存在问题,比如,虚拟机中所运行的应用需要通过网络访问FPGA加速器,二者之间通过RDMA协议进行通信,但RDMA协议实现机制要求存放一些状态到网卡硬件中,即RDMA协议依赖于网卡硬件,需要借助网卡硬件的功能才能保证高速的数据传输,因网卡硬件的限制,导致在迁移过程中虚拟机中所运行的应用中断,即现有的采用RMDA协议的FPGA加速器资源池化方案不支持虚拟机迁移。
[0004]因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。

技术实现思路

[0005]本专利技术的目的是提供一种虚拟机与加速器间的数据传输方法、系统及装置,可保证虚拟机中所运行的应用不中断,即本申请的采用高速传输协议+低速传输协议的加速器资源池化方案支持虚拟机迁移。
[0006]为解决上述技术问题,本专利技术提供了一种虚拟机与加速器间的数据传输方法,包括:
[0007]在虚拟机中的应用与待通信的加速器之间建立支持第一传输协议的第一传输路径和支持第二传输协议的第二传输路径;其中,所述第一传输协议为借助物理网卡硬件实
现的高速传输协议;所述第二传输协议为借助由软件模拟出的网卡设备实现的低速传输协议;
[0008]在所述虚拟机中的应用进入运行时,控制所述虚拟机中的应用优先使用所述第一传输路径与所述加速器进行通信;
[0009]在所述虚拟机接收到迁移命令后,控制所述虚拟机中的应用切换至所述第二传输路径与所述加速器进行通信。
[0010]优选地,在虚拟机中的应用与待通信的加速器之间建立支持第一传输协议的第一传输路径和支持第二传输协议的第二传输路径的过程,包括:
[0011]预先在虚拟机上设置用于支持加速器资源池化及支持所述虚拟机中的应用与待通信的加速器之间基于同一个物理网络链路实现不同传输协议连接的软件栈;其中,所述不同传输协议包括所述第一传输协议和所述第二传输协议;
[0012]在所述虚拟机中的应用初始化阶段,调用所述软件栈提供的连接所述加速器的接口,以使所述软件栈建立所述虚拟机中的应用与所述加速器之间通讯所需的第一传输路径和第二传输路径。
[0013]优选地,在所述虚拟机接收到迁移命令后,控制所述虚拟机中的应用切换至所述第二传输路径与所述加速器进行通信的过程,包括:
[0014]在所述虚拟机接收到迁移命令后,关闭所述第一传输路径,并将所述第一传输路径标记为不可用;
[0015]在所述虚拟机中的应用在使用连接所述加速器的接口进行通信时,若检测到所述第一传输路径不可用,则自动切换至所述第二传输路径完成所述虚拟机中的应用与所述加速器的通信。
[0016]优选地,所述虚拟机与加速器间的数据传输方法还包括:
[0017]待所述虚拟机迁移完成后,在所述虚拟机中的应用与所述加速器之间重新建立所述第一传输路径,并将所述第一传输路径标记为可用;
[0018]在所述虚拟机中的应用在使用连接所述加速器的接口进行通信时,若检测到所述第一传输路径可用,则优先使用所述第一传输路径完成所述虚拟机中的应用与所述加速器的通信。
[0019]优选地,所述第一传输协议具体为RDMA协议;所述第二传输协议具体为TCP协议。
[0020]优选地,所述虚拟机与加速器间的数据传输方法还包括:
[0021]预先在服务器上设置用于指示所述服务器上运行的虚拟机中的应用所采用的具体传输路径的指示装置;
[0022]根据所述虚拟机中的应用在运行时所使用的具体传输路径,控制所述指示装置进行相应指示操作。
[0023]为解决上述技术问题,本专利技术还提供了一种虚拟机与加速器间的数据传输系统,包括:
[0024]链路建立模块,用于在虚拟机中的应用与待通信的加速器之间建立支持第一传输协议的第一传输路径和支持第二传输协议的第二传输路径;其中,所述第一传输协议为借助物理网卡硬件实现的高速传输协议;所述第二传输协议为借助由软件模拟出的网卡设备实现的低速传输协议;
[0025]高速传输模块,用于在所述虚拟机中的应用进入运行时,控制所述虚拟机中的应用优先使用所述第一传输路径与所述加速器进行通信;
[0026]低速传输模块,用于在所述虚拟机接收到迁移命令后,控制所述虚拟机中的应用切换至所述第二传输路径与所述加速器进行通信。
[0027]优选地,所述链路建立模块具体用于:
[0028]预先在虚拟机上设置用于支持加速器资源池化及支持所述虚拟机中的应用与待通信的加速器之间基于同一个物理网络链路实现不同传输协议连接的软件栈;其中,所述不同传输协议包括所述第一传输协议和所述第二传输协议;
[0029]在所述虚拟机中的应用初始化阶段,调用所述软件栈提供的连接所述加速器的接口,以使所述软件栈建立所述虚拟机中的应用与所述加速器之间通讯所需的第一传输路径和第二传输路径。
[0030]优选地,所述低速传输模块具体用于:
[0031]在所述虚拟机接收到迁移命令后,关闭所述第一传输路径,并将所述第一传输路径标记为不可用;
[0032]在所述虚拟机中的应用在使用连接所述加速器的接口进行通信时,若检测到所述第一传输路径不可用,则自动切换至所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机与加速器间的数据传输方法,其特征在于,包括:在虚拟机中的应用与待通信的加速器之间建立支持第一传输协议的第一传输路径和支持第二传输协议的第二传输路径;其中,所述第一传输协议为借助物理网卡硬件实现的高速传输协议;所述第二传输协议为借助由软件模拟出的网卡设备实现的低速传输协议;在所述虚拟机中的应用进入运行时,控制所述虚拟机中的应用优先使用所述第一传输路径与所述加速器进行通信;在所述虚拟机接收到迁移命令后,控制所述虚拟机中的应用切换至所述第二传输路径与所述加速器进行通信。2.如权利要求1所述的虚拟机与加速器间的数据传输方法,其特征在于,在虚拟机中的应用与待通信的加速器之间建立支持第一传输协议的第一传输路径和支持第二传输协议的第二传输路径的过程,包括:预先在虚拟机上设置用于支持加速器资源池化及支持所述虚拟机中的应用与待通信的加速器之间基于同一个物理网络链路实现不同传输协议连接的软件栈;其中,所述不同传输协议包括所述第一传输协议和所述第二传输协议;在所述虚拟机中的应用初始化阶段,调用所述软件栈提供的连接所述加速器的接口,以使所述软件栈建立所述虚拟机中的应用与所述加速器之间通讯所需的第一传输路径和第二传输路径。3.如权利要求2所述的虚拟机与加速器间的数据传输方法,其特征在于,在所述虚拟机接收到迁移命令后,控制所述虚拟机中的应用切换至所述第二传输路径与所述加速器进行通信的过程,包括:在所述虚拟机接收到迁移命令后,关闭所述第一传输路径,并将所述第一传输路径标记为不可用;在所述虚拟机中的应用在使用连接所述加速器的接口进行通信时,若检测到所述第一传输路径不可用,则自动切换至所述第二传输路径完成所述虚拟机中的应用与所述加速器的通信。4.如权利要求3所述的虚拟机与加速器间的数据传输方法,其特征在于,所述虚拟机与加速器间的数据传输方法还包括:待所述虚拟机迁移完成后,在所述虚拟机中的应用与所述加速器之间重新建立所述第一传输路径,并将所述第一传输路径标记为可用;在所述虚拟机中的应用在使用连接所述加速器的接口进行通信时,若检测到所述第一传输路径可用,则优先使用所述第一传输路径完成所述虚拟机中的应用与所述加速器的通信。5.如权利要求1所述的虚拟机与加速器间的数据传输方法,其特征在于,所述...

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

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

1