一种FPGA云平台加速资源的分配方法与系统与流程

文档序号:19527229发布日期:2019-12-27 15:02阅读:185来源:国知局
一种FPGA云平台加速资源的分配方法与系统与流程

本发明涉及数据中心技术领域,特别是一种fpga云平台加速资源的分配方法与系统。



背景技术:

随着“云数智”的快速发展,数据体量的急剧膨胀,数据中心对计算的需求也在迅猛上涨。诸如深度学习在视频转码、图片压缩解压缩以及基因检测等各类应用对计算的需求已远远超出了传统cpu处理器的能力所及。

为了弥补需求和性能之间的缺口,业界开始通过硬件加速,也就是采用专用协处理器的异构计算方式来提升处理性能。而随着fpga处理能力的不断增强,越来越多的数据中心开始使用fpga进行加速,如微软、亚马逊、bat等公司的数据中心都大规模部署了fpga计算卡,以同时提高强大的计算能力和足够的灵活性。为了管理这些数量和种类越来越多的fpga加速卡,fpga云平台应用而生,以期解决当前企业面临的fpga加速卡部署、维护和管理难的问题。在云平台的管理下,将复杂的计算任务分配给fpga资源池中的某一个或者某几个fpga中进行加速,加速卡之间通过以太网进行数据传输。

在目前的技术中,对于单机单卡或者单机多卡的使用场景(每台服务器配一块或者多块fpga加速卡),不存在资源管理和调度的问题,cpu的加速任务直接卸载给加速卡即可。而目前正在兴起的fpga云平台场景,是在一个fpga盘柜内部署多张板卡,资源管理平台根据当前fpga资源的使用和占用情况,按需分配即可。

现有的解决方案在目前fpga加速卡的规模不大以及所有资源都在一个机柜内或者都是通过一个网络交换机进行数据交换的场景下是合适的。但是随着fpga加速卡数量的不断增加以及数据中心地理位置的改变,成千上万块的板卡部署在不同的盘柜,不同的机房会有不同程度的网络延时,使用fpga进行加速就是期望能更快的得到计算结果,如果在计算能力相同的情况下,用户肯定希望能选择网络传输延时最小的加速卡进行加速任务,以得到最好的加速效果。



技术实现要素:

本发明的目的是提供一种fpga云平台加速资源的分配方法与系统,旨在解决现有技术中fpga加速卡数量众多造成网络延时不一,导致加速效果差的问题,实现保证分配给用户的板卡的网络延时最小,达到最优的加速效果,提升用户体验。

为达到上述技术目的,本发明提供了一种fpga云平台加速资源的分配方法,所述方法包括以下步骤:

s1、用户请求使用fpga加速卡,向云监控管理平台发起分配资源的请求;

s2、云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;

s3、资源池内的fpga加速卡识别该数据包,并反馈fpga标识信息至发起广播数据包的虚拟机;

s4、虚拟机将反馈的fpga标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;

s5、云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的fpga板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该fpga板卡。

优选地,所述fpga标识信息包括虚拟id以及虚拟物理地址。

优选地,所述fpga加速卡为非空闲状态时,丢弃虚拟机发送的用于测试延时的数据包,不作回应。

优选地,所述内存缓存为fifo缓存。

本发明还提供了一种fpga云平台加速资源的分配系统,所述系统包括:

资源请求模块,用于用户请求使用fpga加速卡,向云监控管理平台发起分配资源的请求;

测试数据发送模块,用于云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;

fpga反馈模块,用于资源池内的fpga加速卡识别该数据包,并反馈fpga标识信息至发起广播数据包的虚拟机;

最小延时确定模块,用于虚拟机将反馈的fpga标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;

授权模块,用于云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的fpga板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该fpga板卡。

优选地,所述fpga标识信息包括虚拟id以及虚拟物理地址。

优选地,所述fpga加速卡为非空闲状态时,丢弃虚拟机发送的用于测试延时的数据包,不作回应。

优选地,所述内存缓存为fifo缓存。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

与现有技术相比,本发明针对大规模部署的fpga加速卡,根据用户主机与部署在各网段的fpga加速卡之间的延时来进行加速卡资源的分配与协调,当用户申请使用fpga时,将fpga资源池内与主机延时最小的fpga加速卡分配给用户,从而实现fpga云平台加速资源的分配;云监控管理平台可根据fpga资源池中每块fpga板卡的地理位置的不同,得到与虚拟机网络之间的传输延时,将延时最小的板卡分配各用户使用,以达到最优的加速效果,另外可有效防止未被授权的用户随意访问资源池中的加速资源,保护了资源池所有者的有效权益。通过本发明,既有效地保护了未授权给用户使用的fpga加速卡,又能保证分配给用户的板卡的网络延时最小,达到最优的加速效果,提升用户体验。

附图说明

图1为本发明实施例中所提供的一种fpga云平台加速资源的分配方法流程图;

图2为本发明实施例中所提供的一种fpga云平台加速资源的分配系统框图。

具体实施方式

为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

下面结合附图对本发明实施例所提供的一种fpga云平台加速资源的分配方法与系统进行详细说明。

如图1所示,本发明公开了一种fpga云平台加速资源的分配方法,所述方法包括以下步骤:

s1、用户请求使用fpga加速卡,向云监控管理平台发起分配资源的请求;

s2、云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;

s3、资源池内的fpga加速卡识别该数据包,并反馈fpga标识信息至发起广播数据包的虚拟机;

s4、虚拟机将反馈的fpga标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;

s5、云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的fpga板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该fpga板卡。

本发明实施例针对大规模部署的fpga加速卡,根据用户主机与部署在各网段的fpga加速卡之间延时来进行加速卡资源的分配与协调,当用户申请使用fpga资源时,将fpga资源池内与主机“距离”最近的fpga加速卡分配给用户使用,解决目前按需分配存在的问题。

通常情况下,计算机处理器与基于fpga的加速卡通过pcie接口相连,而在大规模fpga板卡的数据中心中,主机与fpga加速卡以及加速卡与加速卡之间通过以太网进行数据交换,用户通过数据中心中的虚拟机访问资源池中的fpga加速卡。

用户在虚拟机端通过以太网访问fpga云平台资源池中的fpga设备,而用户侧是被动接收监控管理平台分配的设备,所以需要云平台的管理者-云平台管理服务器,根据用作虚拟机的主机和资源池中空闲的fpga设备的网络地址来分配最合适的设备给用户。

在所有的fpga资源分布在一个盘柜中,通过一个网络交换机进行数据交换时,网络延时大体相同,可以随机将空闲的能满足用户逻辑资源的需求fpga板卡分配给用户,当fpga资源池的不断扩大,fpga分布在不同的盘柜,需要不同的交换机进行通信,网络延时就成为一个不可忽视的因素。本发明实施例通过测试网络延时,根据网络延时的大小进行fpga资源分配。

云监控管理平台管理着所有的fpga加速卡的使用情况以及板卡的详细信息,包括ip、物理地址以及板卡id等,当用户请求使用fpga板卡时,会向云监控管理平台发起分配资源的请求。

收到请求的云监控管理平台,通知虚拟机以通过广播的方式,发送只能用于测试延时的特殊数据包,在该网段的所有fpga板卡都能收到该数据包。

资源池内的fpga可以识别该广播数据包,收到这个广播包之后不做任何的数据层解析,直接把包含自身虚拟id以及虚拟物理地址的信息反馈给发起广播的服务器,如果有加速卡非空闲状态,会丢弃该数据包,不做任何的回应。

虚拟机将收到的所有反馈包按顺序写入内存开辟的一个fifo缓存中,而根据fifo先进先出的特点,最先回应的数据包被保存在队列的第一个位置中,虚拟机把这个包反馈给云监控管理平台。

云监控管理平台根据协议解码虚拟id以及虚拟物理地址,从而获取与虚拟机网络延时最小的板卡信息,最后将板卡信息生成的授权文件发给用户,用户在获取到授权文件之后,才能真正操作fpga,利用fpga的资源进行加速。

在该交互过程中,虽然用户通过虚拟机与非授权板卡有交互数据,但所有信息均经过加密处理,用户所见只是数字,没有任何实际意义,没有获取到授权文件之前,除了测试延时用的测试包,资源池中的fpga不会回应任何非授权用户的任何操作,而加密协议和测试用的广播包协议由云监控管理平台和fpga资源的拥有者自定义。

本发明实施例针对大规模部署的fpga加速卡,根据用户主机与部署在各网段的fpga加速卡之间的延时来进行加速卡资源的分配与协调,当用户申请使用fpga时,将fpga资源池内与主机延时最小的fpga加速卡分配给用户,从而实现fpga云平台加速资源的分配;云监控管理平台可根据fpga资源池中每块fpga板卡的地理位置的不同,得到与虚拟机网络之间的传输延时,将延时最小的板卡分配各用户使用,以达到最优的加速效果,另外可有效防止未被授权的用户随意访问资源池中的加速资源,保护了资源池所有者的有效权益。通过本发明,既有效地保护了未授权给用户使用的fpga加速卡,又能保证分配给用户的板卡的网络延时最小,达到最优的加速效果,提升用户体验。

如图2所示,本发明实施例还公开了一种fpga云平台加速资源的分配系统,所述系统包括:

资源请求模块,用于用户请求使用fpga加速卡,向云监控管理平台发起分配资源的请求;

测试数据发送模块,用于云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;

fpga反馈模块,用于资源池内的fpga加速卡识别该数据包,并反馈fpga标识信息至发起广播数据包的虚拟机;

最小延时确定模块,用于虚拟机将反馈的fpga标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;

授权模块,用于云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的fpga板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该fpga板卡。

云监控管理平台管理着所有的fpga加速卡的使用情况以及板卡的详细信息,包括ip、物理地址以及板卡id等,当用户请求使用fpga板卡时,会向云监控管理平台发起分配资源的请求。

收到请求的云监控管理平台,通知虚拟机以通过广播的方式,发送只能用于测试延时的特殊数据包,在该网段的所有fpga板卡都能收到该数据包。

资源池内的fpga可以识别该广播数据包,收到这个广播包之后不做任何的数据层解析,直接把包含自身虚拟id以及虚拟物理地址的信息反馈给发起广播的服务器,如果有加速卡非空闲状态,会丢弃该数据包,不做任何的回应。

虚拟机将收到的所有反馈包按顺序写入内存开辟的一个fifo缓存中,而根据fifo先进先出的特点,最先回应的数据包被保存在队列的第一个位置中,虚拟机把这个包反馈给云监控管理平台。

云监控管理平台根据协议解码虚拟id以及虚拟物理地址,从而获取与虚拟机网络延时最小的板卡信息,最后将板卡信息生成的授权文件发给用户,用户在获取到授权文件之后,才能真正操作fpga,利用fpga的资源进行加速。

在该交互过程中,虽然用户通过虚拟机与非授权板卡有交互数据,但所有信息均经过加密处理,用户所见只是数字,没有任何实际意义,没有获取到授权文件之前,除了测试延时用的测试包,资源池中的fpga不会回应任何非授权用户的任何操作,而加密协议和测试用的广播包协议由云监控管理平台和fpga资源的拥有者自定义。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1