一种加速管理节点、加速节点、客户端及方法

文档序号:9600902阅读:465来源:国知局
一种加速管理节点、加速节点、客户端及方法
【技术领域】
[0001]本发明涉及虚拟化技术领域,尤其涉及一种加速管理节点、加速节点、客户端及其方法。
【背景技术】
[0002]应用程序为了缩短执行时间,提高运行效率,通常可以将程序中的部分业务(或者功能)分配到硬件加速设备上执行,由于硬件加速设备本身的运行速度快,因此可以缩短应用程序的执行时间。常见的加速业务有加解密、压缩、解压缩、音视频编解码等。硬件加速设备则包括提供特殊指令的处理器,以及其它可提供加速功能的外围部件互连标准(peripheral component interconnect,PCI)设备,比如:图形处理器(graphicsprocessing unit,GPU)、现场可编程门阵列(field programmable gate array,FPGA)等。
[0003]目前,提出网络功能虚拟化(Network Funct1n Virtualizat1n, NFV)的目的是希望通过虚拟化技术,在通用的高性能服务器、交换机和存储中实现部分网络功能。在网络功能虚拟化(Network Funct1n Virtualizat1n,NFV)演进场景下,基于专用硬件的网络设备可以利用虚拟化技术部署在通用服务器之上,从传统的“嵌入式软件+专用硬件”的组合形态,演变成“软件+通用硬件”的组合形态。也就是说,为了实现硬件通用化,需要将传统的专用硬件中的网络功能(Network Funct1n,NF)程序剥离出来,形成虚拟网络功能(Virtualizat1n Network Funct1n, VNF)程序,使得传统的专用硬件成为NFV通用硬件。
[0004]然而,NFV硬件通用化后,在调用NFV硬件时,如何根据应用程序的业务需求,对NFV硬件实现精确的调度,成为了亟待解决的问题。

【发明内容】

[0005]本发明实施例提供一种应用于虚拟化场景的加速管理节点、加速节点、客户端及方法,可以实现根据客户端的业务需求,对加速设备进行精确调用。
[0006]第一方面,本发明实施例提供了一种加速管理节点,该加速管理节点包括:接收单元,用于分别接收至少一个加速节点上报的各自的加速设备的加速设备信息,其中,每个加速节点包括至少一个加速设备,所述加速设备信息包括:加速类型、算法类型;获取单元,用于获取客户端发送的的调用请求,所述调用请求用于调用加速设备对所述客户端的业务进行加速,所述调用请求包括:目标加速类型、目标算法类型;分配单元,用于查询所述加速设备信息,从所述至少一个加速节点各自的加速设备中确定与所述调用请求相匹配的目标加速设备;指示单元,用于指示所述目标加速设备所在的目标加速节点响应所述调用请求。加速管理节点根据各个加速节点中的加速设备信息进行加速设备调用,可以根据客户端的应用程序的需求,并结合各个加速设备的加速类型,算法类型,给应用程序分配相应的加速设备,从而满足业务需求。
[0007]在第一方面的第一种可能的实现方式中,所述分配单元用于查询所述加速设备信息,以从所述至少一个加速节点各自的加速设备中确定加速类型和算法类型分别与所述目标加速类型和所述目标算法类型相同的所述目标加速设备。加速管理节点根据各个加速节点中的加速设备信息进行加速设备调用时,根据各个加速设备的加速类型,算法类型以及加速带宽进行调用,保证了加速设备的带宽能够满足业务的需求,从而实现精确调用。
[0008]结合第一方面,或者第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述加速信息还包括:加速带宽,所述加速带宽包括:总带宽,以及被占用带宽;所述调用请求还包括:目标加速带宽;所述分配单元具体用于查询所述加速设备信息,以确定加速类型和算法类型分别与所述目标加速类型和所述目标算法类型相同,且剩余带宽大于或等于所述目标加速带宽的备选加速设备,并将所述备选加速设备中的一个确定为所述目标加速设备,其中,所述剩余带宽根据所述总带宽以及所述被占用带宽计算得到。
[0009]结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述加速设备信息还包括:非统一内存访问架构NUMA信息;所述调用请求还包括:目标NUMA信息;所述分配单元具体用于查询所述加速设备信息,以确定加速类型和算法类型分别与所述目标加速类型和所述目标算法类型相同,剩余带宽大于或等于所述目标加速带宽,以及NUMA信息与所述目标NUMA信息一致的备选加速设备,并将所述备选加速设备中的一个确定为所述目标加速设备,其中,所述剩余带宽根据所述总带宽以及所述被占用带宽计算得到。
[0010]结合第一方面第二种可能的实现方式以及第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,所述分配单元具体用于当所述备选加速设备为一个时,将所述备选加速设备确定为所述目标加速设备。
[0011]结合第一方面第二到第四种中任意一种可能的实现方式,在第五种可能的实现方式中,所述分配单元具体用于当所述备选加速设备为多个时,根据所述加速带宽确定所述多个备选加速设备中剩余带宽最大的第一加速设备,若所述第一加速设备为一个,则将所述第一加速设备确定为所述目标加速设备。
[0012]结合第一方面第五种可能的实现方式,在第六种可能的实现方式中,所述分配单元具体用于当剩余带宽最大的第一加速设备为多个时,根据所述VF数确定所述多个第一加速设备中VF数最多的第二加速设备,若所述第二加速设备为一个,则将所述第二加速设备作为所述目标加速设备。
[0013]结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述分配单元具体用于当VF数最多的所述第二加速设备为多个时,根据查询所述加速设备信息时的时间顺序,将最先查询到的一个第二加速设备作为所述目标加速设备。
[0014]结合第一方面,或者第一方面第一至第七种任意一种可能的实现方式,在第八种可能的实现方式中,所述指示单元具体用于发送配置指示信息给所述目标加速节点,以指示所述目标加速节点响应所述调用请求,所述配置指示消息指示了与所述调用请求相匹配的所述目标加速设备的加速类型、算法类型,或者所述配置指示消息指示了所述目标加速设备的加速类型、算法类型以及加速带宽。
[0015]结合第一方面,或者第一方面第一至第八种任意一种可能的实现方式,在第九种可能的实现方式中,所述加速管理节点还包括:存储单元,用于存储所述加速设备信息。
[0016]结合第一方面第二到第九种中任意一种可能的实现方式,在第十种可能的实现方式中,所述存储单元还用于根据所述目标加速带宽,更新之前保存的与所述目标加速设备对应的加速设备信息;以及记录所述指示单元的分配结果。
[0017]结合第一方面,或者第一方面第一至第十种任意一种可能的实现方式,在第十一种可能的实现方式中,所述加速管理节点还包括:释放单元,用于获取所述客户端发送的释放所述目标加速设备的释放请求,并调用所述目标加速节点释放所述目标加速设备。
[0018]结合第一方面第十一种可能的实现方式,在第十二种可能的实现方式中,所述释放单元还用于,当监测到所述客户端的业务出现异常时,根据所述存储单元记录的所述分配结果,找到所述目标加速设备,并调用所述目标加速节点释放所述目标加速设备。
[0019]结合第一方面第九到第十二种中任意一种可能的实现方式,在第十三种可能的实现方式中,所述存储单元还用于将所述分配结果置为无效。
[0020]第二方面,本发明实施例提供了一种加速节点,包括:代理单元、驱动以及至少一个加速设备;所述驱动用于驱动所述至少一个加速设备,所述至少一个加速设备用于提供硬件加速功能;所述代理单元用于:调用所述驱动分别查询所述至少一个加速设备,以获取每个加速设备的加速设备信息,所述加速设备信息包括:加速类型、算法类型;将所述加速设备信息上报给加速管理节点。加速节点通过上报自身的加速设备的加速设备信息给加速管理节点,使得加速管理节点可以根据上报的加速设备信息,给客户端配置合适的加速设备,从而满足业务需求,并实现精确调用。
[0021]在第二方面的第一种可能的实现方式中,所述代理单元还用于:加速带宽。
[0022]结合第二方面,或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述代理单元还用于:接收所述加速管理节点发送的配置指示消息,其中,所述配置指示消息指示了与客户端的调用请求相匹配的目标加速设备的目标加速类型、目标算法类型,或者所述配置指示消息指示了与客户端的调用请求相匹配的目标加速设备的目标加速类型、目标算法类型以及目标加速带宽;并根据所述配置指示消息,调用所述驱动检测所述目标加速设备是否正常工作;当所述目标加速设备正常工作时,将所述目标加速设备的目标接口配置给所述客户端。
[0023]结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述加速设备信息还包括:非统一内存访问架构NUMA信息。
[0024]结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述配置指示消息还指示了与客户端的调用请求相匹配的目标NUMA信息。
[0025]结合第二方面第二到第四种中任意一种可能的实现方式,在第五种可能的实现方式中,所述代理单元还用于将所述目标加速类型、所述目标算法类型以及所述目标加速带宽配置为所述目标接口的硬件属性。
[0026]结合第二方面第二到第五种中任意一种可能的实现方式,在第六种可能的实现方式中,所述代理单元还用于响应所述加速管理节点,释放所述目标加速设备。
[0027]结合第二方面第六种可能的实现方式,在第七种可能的实现方式中,所述代理单元还用于将所述目标接口的硬件属性置为空。
[0028]第三方面,本发明实施例提供了一种客户端,包括:请求单元,用于根据业务的加速需求生成调用请求,所述调用请求包括加速所述业务所需的目标加速类型、目标算法类型;发送单元,用于将所述调用请求发送给加速管理节点,以申请调用与所述调用请求相匹配的目标加速设备来加速所述业务。客户端的应用程序可以将满足加速自身业务需求的加速设备所对应的目标加速类型、目标算法类型发送给加速管理节点,向该加速管理节点申请加速设备,从而使得加速管理节点在调用客户端所需的目标加速设备时,可以更精确地调用。
[0029]在第三方面的第一种可能的实现方式中,所述调用请求还包括:加速所述业务所需的目标加速带宽。
[0030]结合第三方面,或者第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述调用请求还包括所述业务所需的目标NUMA信息。
[0031]结合第三方面,或者第三方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述请求单元还用于,当客户端需要释放加速设备时,生成释放所述目标加速设备的释放请求;所述发送单元还用于将所述释放请求发送给所述加速管理节点。
[0032]第四方面,本发明实施例提供了一种加速管理方法,包括:分别接收至少一个加速节点上报的各自的加速设备的加速设备信息,其中,每个加速节点包括至少一个加速设备,所述加速设备信息包括:加速类型、算法类型;获取客户端发送的调用请求,所述调用请求用于调用加速设备对所述客户端的业务进行加速,所述调用请求包括:目标加速类型、目标算法类型;查询所述加速设备信息,从所述至少一个加速节点各自的加速设备中确定与所述调用请求相匹配的目标加速设备;指示所述目标加速设备所在的目标加速节点响应所述调用请求。本方法中,加速管理节点通过获取各个加速节点的加速设备信息,并进行加速设备调用,可以根据客户端的应用程序的需求,并结合各个加速设备的加速类型,算法类型,给应用程序分配相应的加速设备,从而保证加速业务的正常运行,同时实现精
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1