WO2021051714A1 - 一种fpga云平台加速资源的分配方法与系统 - Google Patents

一种fpga云平台加速资源的分配方法与系统 Download PDF

Info

Publication number
WO2021051714A1
WO2021051714A1 PCT/CN2019/130083 CN2019130083W WO2021051714A1 WO 2021051714 A1 WO2021051714 A1 WO 2021051714A1 CN 2019130083 W CN2019130083 W CN 2019130083W WO 2021051714 A1 WO2021051714 A1 WO 2021051714A1
Authority
WO
WIPO (PCT)
Prior art keywords
fpga
virtual machine
user
acceleration
cloud
Prior art date
Application number
PCT/CN2019/130083
Other languages
English (en)
French (fr)
Inventor
任智新
樊嘉恒
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Priority to US17/761,421 priority Critical patent/US11789778B2/en
Publication of WO2021051714A1 publication Critical patent/WO2021051714A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Definitions

  • the invention relates to the technical field of data centers, in particular to a method and system for allocating resources of an FPGA cloud platform to accelerate.
  • the existing solution is suitable in the current scenario where the FPGA accelerator card is not large in scale and all resources are in a cabinet or data exchange is performed through a network switch.
  • the number of FPGA accelerator cards continues to increase and the geographic location of the data center changes, thousands of boards are deployed in different enclosures, and different computer rooms will have different degrees of network delay.
  • Using FPGAs for acceleration is It is hoped that the calculation results can be obtained faster. If the calculation capacity is the same, the user definitely hopes to select the accelerator card with the smallest network transmission delay to perform the acceleration task in order to obtain the best acceleration effect.
  • the purpose of the present invention is to provide an FPGA cloud platform acceleration resource allocation method and system, which aims to solve the problem that the large number of FPGA accelerator cards in the prior art causes different network delays, resulting in poor acceleration effects, and realizes guaranteed allocation to users
  • the board has the smallest network delay, achieves the best acceleration effect, and enhances user experience.
  • the present invention provides a method for allocating resources for acceleration of an FPGA cloud platform.
  • the method includes the following steps:
  • the user requests to use the FPGA accelerator card to initiate a request for resource allocation to the cloud monitoring and management platform;
  • the cloud monitoring and management platform notifies the virtual machine to send data packets that are only used for testing delay in broadcast mode
  • the FPGA accelerator card in the resource pool identifies the data packet, and feeds back the FPGA identification information to the virtual machine that initiated the broadcast data packet;
  • the virtual machine writes the feedback FPGA identification information into the memory cache in order, saves the first response data packet to the first position of the queue, and feeds it back to the cloud monitoring management platform;
  • the cloud monitoring management platform parses the feedback data packet according to the protocol, obtains the FPGA board card information with the smallest network delay with the virtual machine, and generates an authorization file and sends it to the user, and the user operates the FPGA board according to the authorization file.
  • the FPGA identification information includes a virtual ID and a virtual physical address.
  • the data packet used to test the delay sent by the virtual machine is discarded, and no response is made.
  • the memory buffer is a FIFO buffer.
  • the present invention also provides an FPGA cloud platform acceleration resource allocation system, the system includes:
  • the resource request module is used by the user to request the use of the FPGA accelerator card to initiate a request for resource allocation to the cloud monitoring and management platform;
  • the test data sending module is used for the cloud monitoring management platform to notify the virtual machine to send data packets that are only used to test the delay in a broadcast manner;
  • the FPGA feedback module is used for the FPGA accelerator card in the resource pool to identify the data packet and feed back the FPGA identification information to the virtual machine that initiated the broadcast data packet;
  • the minimum delay determination module is used for the virtual machine to write the feedback FPGA identification information into the memory cache in order, save the first response data packet to the first position of the queue, and feed it back to the cloud monitoring management platform ;
  • the authorization module is used for the cloud monitoring and management platform to parse the feedback data packet according to the protocol, obtain the FPGA board information with the smallest network delay with the virtual machine, and send it to the user to generate an authorization file, and the user operates the FPGA board according to the authorization file .
  • the FPGA identification information includes a virtual ID and a virtual physical address.
  • the data packet used to test the delay sent by the virtual machine is discarded, and no response is made.
  • the memory buffer is a FIFO buffer.
  • the present invention aims at large-scale deployment of FPGA accelerator cards, and allocates and coordinates accelerator card resources according to the delay between the user host and the FPGA accelerator cards deployed in each network segment.
  • the FPGA accelerator card with the smallest delay between the FPGA resource pool and the host is allocated to the user, thereby realizing the allocation of FPGA cloud platform acceleration resources; the cloud monitoring and management platform can be based on the geographic location of each FPGA board in the FPGA resource pool ,
  • the invention not only effectively protects the FPGA accelerator card that is not authorized to the user, but also ensures that the network delay of the board assigned to the user is minimized, achieves the optimal acceleration effect, and enhances the user experience.
  • FIG. 1 is a flowchart of a method for allocating acceleration resources of an FPGA cloud platform provided in an embodiment of the present invention
  • Fig. 2 is a block diagram of a system for allocating acceleration resources of an FPGA cloud platform provided in an embodiment of the present invention.
  • the present invention discloses a method for allocating resources for acceleration of an FPGA cloud platform.
  • the method includes the following steps:
  • the user requests to use the FPGA accelerator card to initiate a request for resource allocation to the cloud monitoring and management platform;
  • the cloud monitoring and management platform notifies the virtual machine to send data packets that are only used for testing delay in broadcast mode
  • the FPGA accelerator card in the resource pool identifies the data packet, and feeds back the FPGA identification information to the virtual machine that initiated the broadcast data packet;
  • the virtual machine writes the feedback FPGA identification information into the memory cache in sequence, saves the first response data packet to the first position of the queue, and feeds it back to the cloud monitoring management platform;
  • the cloud monitoring management platform parses the feedback data packet according to the protocol, obtains the FPGA board card information with the smallest network delay with the virtual machine, and generates an authorization file and sends it to the user, and the user operates the FPGA board according to the authorization file.
  • the embodiment of the present invention allocates and coordinates the resources of the accelerator card according to the delay between the user host and the FPGA accelerator card deployed in each network segment for large-scale deployment of FPGA accelerator cards.
  • the FPGA The FPGA accelerator card with the closest "distance" from the host in the resource pool is allocated to users to solve the current problem of on-demand allocation.
  • the computer processor and the FPGA-based accelerator card are connected through the PCIe interface.
  • the host and the FPGA accelerator card and the accelerator card and the accelerator card exchange data through Ethernet.
  • the user accesses the FPGA accelerator card in the resource pool through the virtual machine in the data center.
  • the user accesses the FPGA device in the FPGA cloud platform resource pool through the Ethernet on the virtual machine side, and the user side passively receives the equipment allocated by the monitoring and management platform, so the cloud platform manager-the cloud platform management server is required, which is used as a virtual machine
  • the network address of the free FPGA device in the host and resource pool is used to allocate the most suitable device to the user.
  • the cloud monitoring management platform manages the usage of all FPGA accelerator cards and the detailed information of the board, including IP, physical address and board ID, etc.
  • the user requests to use the FPGA board, it will initiate the allocation of resources to the cloud monitoring management platform Request.
  • the cloud monitoring and management platform that receives the request informs the virtual machine to send a special data packet that can only be used to test the delay by broadcasting, and all FPGA boards in the network segment can receive the data packet.
  • the FPGA in the resource pool can identify the broadcast packet. After receiving the broadcast packet, it does not do any data layer analysis, and directly feeds back the information including its own virtual ID and virtual physical address to the server that initiated the broadcast. If there is an accelerator card that is not idle Status, the packet will be discarded without any response.
  • the virtual machine writes all the received feedback packets into a FIFO buffer opened in the memory in order.
  • the first response packet is stored in the first position of the queue, and the virtual machine stores This package is fed back to the cloud monitoring management platform.
  • the cloud monitoring management platform decodes the virtual ID and virtual physical address according to the protocol to obtain the board card information with the smallest network delay with the virtual machine. Finally, the authorization file generated by the board card information is sent to the user. The user can only obtain the authorization file. Really operate the FPGA and use the resources of the FPGA for acceleration.
  • the embodiments of the present invention are directed to large-scale deployment of FPGA accelerator cards. According to the delay between the user host and the FPGA accelerator cards deployed in each network segment, the accelerator card resources are allocated and coordinated.
  • the FPGA The FPGA accelerator card with the smallest delay between the host and the host in the resource pool is allocated to the user, thereby realizing the allocation of acceleration resources of the FPGA cloud platform; the cloud monitoring and management platform can obtain the virtual machine according to the geographic location of each FPGA board in the FPGA resource pool.
  • the board with the smallest delay is allocated to each user to achieve the best acceleration effect.
  • it can effectively prevent unauthorized users from accessing the acceleration resources in the resource pool at will, thus protecting the resource pool.
  • the effective equity of the owner The invention not only effectively protects the FPGA acceleration card that is not authorized to the user, but also ensures that the network delay of the board assigned to the user is minimized, achieves the optimal acceleration effect, and enhances the user experience.
  • the embodiment of the present invention also discloses a system for allocating resources for acceleration of an FPGA cloud platform, and the system includes:
  • the resource request module is used by the user to request the use of the FPGA accelerator card to initiate a resource allocation request to the cloud monitoring management platform;
  • the test data sending module is used for the cloud monitoring management platform to notify the virtual machine to send data packets that are only used to test the delay in a broadcast manner;
  • the FPGA feedback module is used for the FPGA accelerator card in the resource pool to identify the data packet and feed back the FPGA identification information to the virtual machine that initiated the broadcast data packet;
  • the minimum delay determination module is used for the virtual machine to write the feedback FPGA identification information into the memory cache in order, save the first response data packet to the first position of the queue, and feed it back to the cloud monitoring management platform ;
  • the authorization module is used for the cloud monitoring and management platform to parse the feedback data packet according to the protocol, obtain the FPGA board information with the smallest network delay with the virtual machine, and send it to the user to generate an authorization file, and the user operates the FPGA board according to the authorization file .
  • the cloud monitoring management platform manages the usage of all FPGA accelerator cards and the detailed information of the board, including IP, physical address and board ID, etc.
  • the user requests to use the FPGA board, it will initiate the allocation of resources to the cloud monitoring management platform Request.
  • the cloud monitoring and management platform that receives the request informs the virtual machine to send a special data packet that can only be used to test the delay by broadcasting, and all FPGA boards in the network segment can receive the data packet.
  • the FPGA in the resource pool can identify the broadcast packet. After receiving the broadcast packet, it does not do any data layer analysis, and directly feeds back the information including its own virtual ID and virtual physical address to the server that initiated the broadcast. If there is an accelerator card that is not idle Status, the packet will be discarded without any response.
  • the virtual machine writes all the received feedback packets into a FIFO buffer opened in the memory in order.
  • the first response packet is stored in the first position of the queue, and the virtual machine stores This package is fed back to the cloud monitoring management platform.
  • the cloud monitoring management platform decodes the virtual ID and virtual physical address according to the protocol to obtain the board information with the smallest network delay with the virtual machine. Finally, the authorization file generated by the board information is sent to the user. The user can only obtain the authorization file. Really operate the FPGA and use the resources of the FPGA for acceleration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种FPGA云平台加速资源的分配方法与系统
本申请要求于2019年9月21日提交中国专利局、申请号为201910895899.0、发明名称为“一种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资源的拥有者自定义。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

  1. 一种FPGA云平台加速资源的分配方法,其特征在于,所述方法包括以下步骤:
    S1、用户请求使用FPGA加速卡,向云监控管理平台发起分配资源的请求;
    S2、云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;
    S3、资源池内的FPGA加速卡识别该数据包,并反馈FPGA标识信息至发起广播数据包的虚拟机;
    S4、虚拟机将反馈的FPGA标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;
    S5、云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的FPGA板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该FPGA板卡。
  2. 根据权利要求1所述的一种FPGA云平台加速资源的分配方法,其特征在于,所述FPGA标识信息包括虚拟ID以及虚拟物理地址。
  3. 根据权利要求1所述的一种FPGA云平台加速资源的分配方法,其特征在于,所述FPGA加速卡为非空闲状态时,丢弃虚拟机发送的用于测试延时的数据包,不作回应。
  4. 根据权利要求1所述的一种FPGA云平台加速资源的分配方法,其特征在于,所述内存缓存为FIFO缓存。
  5. 一种FPGA云平台加速资源的分配系统,其特征在于,所述系统包括:
    资源请求模块,用于用户请求使用FPGA加速卡,向云监控管理平台发起分配资源的请求;
    测试数据发送模块,用于云监控管理平台通知虚拟机以广播的方式发送只用于测试延时的数据包;
    FPGA反馈模块,用于资源池内的FPGA加速卡识别该数据包,并反 馈FPGA标识信息至发起广播数据包的虚拟机;
    最小延时确定模块,用于虚拟机将反馈的FPGA标识信息按顺序写入内存缓存中,将最先回应的反馈数据包保存至队列的第一个位置,并将其反馈给云监控管理平台;
    授权模块,用于云监控管理平台按照协议解析该反馈数据包,获取与虚拟机网络延时最小的FPGA板卡信息,并将其生成授权文件发送给用户,用户根据授权文件操作该FPGA板卡。
  6. 根据权利要求5所述的一种FPGA云平台加速资源的分配系统,其特征在于,所述FPGA标识信息包括虚拟ID以及虚拟物理地址。
  7. 根据权利要求5所述的一种FPGA云平台加速资源的分配系统,其特征在于,所述FPGA加速卡为非空闲状态时,丢弃虚拟机发送的用于测试延时的数据包,不作回应。
  8. 根据权利要求5所述的一种FPGA云平台加速资源的分配系统,其特征在于,所述内存缓存为FIFO缓存。
PCT/CN2019/130083 2019-09-21 2019-12-30 一种fpga云平台加速资源的分配方法与系统 WO2021051714A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/761,421 US11789778B2 (en) 2019-09-21 2019-12-30 FPGA cloud platform acceleration resource allocation method, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910895899.0 2019-09-21
CN201910895899.0A CN110618871B (zh) 2019-09-21 2019-09-21 一种fpga云平台加速资源的分配方法与系统

Publications (1)

Publication Number Publication Date
WO2021051714A1 true WO2021051714A1 (zh) 2021-03-25

Family

ID=68923719

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/130083 WO2021051714A1 (zh) 2019-09-21 2019-12-30 一种fpga云平台加速资源的分配方法与系统

Country Status (3)

Country Link
US (1) US11789778B2 (zh)
CN (1) CN110618871B (zh)
WO (1) WO2021051714A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591415A (zh) * 2023-11-28 2024-02-23 中国大唐集团科学技术研究总院有限公司 一种用于一体机云门户平台的安全功能测试系统及方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324558B (zh) * 2020-02-05 2021-08-10 苏州浪潮智能科技有限公司 数据处理方法、装置、分布式数据流编程框架及相关组件
TWI811620B (zh) * 2020-03-24 2023-08-11 威盛電子股份有限公司 運算裝置與資料處理方法
US11941433B2 (en) 2020-03-24 2024-03-26 Via Technologies Inc. Computing apparatus and data processing method for offloading data processing of data processing task from at least one general purpose processor
CN111858035A (zh) * 2020-06-29 2020-10-30 浪潮电子信息产业股份有限公司 一种fpga设备分配方法、装置、设备及存储介质
CN112269656B (zh) * 2020-10-16 2022-12-02 山东云海国创云计算装备产业创新中心有限公司 一种基于多核处理器的应用配置方法、装置和系统
CN112286688B (zh) * 2020-11-05 2024-01-05 北京深维科技有限公司 一种内存管理和使用方法、装置、设备和介质
CN112416840B (zh) * 2020-11-06 2023-05-26 浪潮(北京)电子信息产业有限公司 一种计算资源的远程映射方法、装置、设备及存储介质
CN113703976B (zh) * 2021-08-27 2023-05-19 苏州浪潮智能科技有限公司 一种fpga资源分配方法、装置、设备及可读存储介质
CN114845244B (zh) * 2022-07-04 2022-09-13 深圳市盈润科技有限公司 一种基于云平台的农业物联网应用分析系统及方法
CN115604261B (zh) * 2022-09-27 2024-04-30 中国联合网络通信集团有限公司 云网服务资源处理方法、装置、设备及存储介质
CN115859879B (zh) * 2023-02-28 2023-05-09 湖南泛联新安信息科技有限公司 一种基于fpga云平台的硬仿验证流程实现的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577266A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
CN106681793A (zh) * 2016-11-25 2017-05-17 同济大学 一种基于kvm的加速器虚拟化数据处理系统及方法
CN108829512A (zh) * 2018-05-09 2018-11-16 济南浪潮高新科技投资发展有限公司 一种云中心硬件加速计算力的分配方法、系统和云中心
WO2019027554A1 (en) * 2017-08-02 2019-02-07 Advanced Micro Devices, Inc. COMPATIBLE FPGA CALCULATION MOTOR
US20190050263A1 (en) * 2018-03-05 2019-02-14 Intel Corporation Technologies for scheduling acceleration of functions in a pool of accelerator devices
CN109976912A (zh) * 2019-03-27 2019-07-05 湖南理工学院 一种基于fpga的分布式计算的实现方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10037230B2 (en) * 2016-07-29 2018-07-31 Hewlett Packard Enterprise Development Lp Managing data processing resources
US10540200B2 (en) * 2017-11-10 2020-01-21 Advanced Micro Devices, Inc. High performance context switching for virtualized FPGA accelerators
CN109496415B (zh) * 2018-03-23 2021-02-09 华为技术有限公司 一种虚拟机访问远端加速设备方法及系统
CN110119311B (zh) * 2019-04-12 2022-01-04 华中科技大学 一种基于fpga的分布式流计算系统加速方法
US11388054B2 (en) * 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
US20220121455A1 (en) * 2021-11-16 2022-04-21 Adrian Hoban Intent-based cluster administration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577266A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
CN106681793A (zh) * 2016-11-25 2017-05-17 同济大学 一种基于kvm的加速器虚拟化数据处理系统及方法
WO2019027554A1 (en) * 2017-08-02 2019-02-07 Advanced Micro Devices, Inc. COMPATIBLE FPGA CALCULATION MOTOR
US20190050263A1 (en) * 2018-03-05 2019-02-14 Intel Corporation Technologies for scheduling acceleration of functions in a pool of accelerator devices
CN108829512A (zh) * 2018-05-09 2018-11-16 济南浪潮高新科技投资发展有限公司 一种云中心硬件加速计算力的分配方法、系统和云中心
CN109976912A (zh) * 2019-03-27 2019-07-05 湖南理工学院 一种基于fpga的分布式计算的实现方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591415A (zh) * 2023-11-28 2024-02-23 中国大唐集团科学技术研究总院有限公司 一种用于一体机云门户平台的安全功能测试系统及方法

Also Published As

Publication number Publication date
US11789778B2 (en) 2023-10-17
CN110618871A (zh) 2019-12-27
CN110618871B (zh) 2022-07-22
US20220413918A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
WO2021051714A1 (zh) 一种fpga云平台加速资源的分配方法与系统
US10924783B2 (en) Video coding method, system and server
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
WO2018027586A1 (zh) 云计算系统中虚拟机访问物理服务器的方法、装置和系统
US9325530B2 (en) Management of virtual desktop infrastructure (VDI) sessions using real-time network conditions
US20130093776A1 (en) Delivering a Single End User Experience to a Client from Multiple Servers
US8826271B2 (en) Method and apparatus for a virtual system on chip
US11201836B2 (en) Method and device for managing stateful application on server
WO2016107598A1 (zh) 一种业务加速方法及装置
US11500666B2 (en) Container isolation method and apparatus for netlink resource
KR20110083084A (ko) 가상화를 이용한 서버 운영 장치 및 방법
CN110545541A (zh) 防御攻击行为的方法、装置、设备、终端和介质
WO2013178099A1 (zh) 一种实现远程桌面的系统、方法、客户端和服务中心
WO2017185615A1 (zh) 一种业务处理设备的业务状态确定方法及调度设备
US11747986B2 (en) Container-based cloud service providing system and method therefor
TW202301118A (zh) 動態微服務分配機制
CN102891851A (zh) 虚拟桌面访问控制方法、设备及系统
Miura et al. Novel infrastructure with common API using docker for scaling the degree of platforms for smart community services
US9306995B2 (en) Communicating data in flows between first and second computers connected over a network
KR101262849B1 (ko) 가상화 시스템 상에서 영상장치를 할당 및 해제하기 위한 장치 및 방법
US20150012654A1 (en) Methods and apparatus for sharing a physical device between multiple physical machines
Tang et al. Towards high-performance packet processing on commodity multi-cores: current issues and future directions
US20170063966A1 (en) Real time data streaming from a mainframe computer to off platform destinations
KR102121713B1 (ko) 컨테이너 기반의 클라우드 서비스 제공 방법
US9668082B2 (en) Virtual machine based on a mobile device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19945537

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19945537

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19945537

Country of ref document: EP

Kind code of ref document: A1