CN112241323A - 基于fpga服务器的计算资源发现及管理方法、系统 - Google Patents
基于fpga服务器的计算资源发现及管理方法、系统 Download PDFInfo
- Publication number
- CN112241323A CN112241323A CN202011149390.0A CN202011149390A CN112241323A CN 112241323 A CN112241323 A CN 112241323A CN 202011149390 A CN202011149390 A CN 202011149390A CN 112241323 A CN112241323 A CN 112241323A
- Authority
- CN
- China
- Prior art keywords
- fpga
- information
- management platform
- resource
- accelerator card
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于FPGA服务器的计算资源发现及管理方法、FPGA加速卡、FPGA服务器及基于FPGA服务器的计算资源发现及管理系统,该方法包括:获取并解析网络通信协议信息;基于网络通信协议信息与综合管理平台进行资源信息交互,以便综合管理平台发现FPGA加速卡;基于网络通信协议信息与综合管理平台进行管理信息交互,以便综合管理平台管理FPGA加速卡;该方法在FPGA加速卡与CPU等设备解耦后,通过将网络通信协议信息直接在FPGA加速卡上部署并实现的方式,在不存在CPU或BMC等设备的情况下允许FPGA加速卡直接与综合管理平台进行通信,缩短了数据传输路径,提高了数据交互效率。
Description
技术领域
本申请涉及异构计算技术领域,特别涉及一种基于FPGA服务器的计算资源发现及管理方法、FPGA加速卡、FPGA服务器及基于FPGA服务器的计算资源发现及管理系统。
背景技术
当前,FPGA(Field-Programmable Gate Array,现场可编程门阵列)被广泛应用以提高数据处理速度,为了更好地使用FPGA加速卡,一般采用综合管理平台对FPGA加速卡进行发现和监控管理。相关技术为了使综合管理平台发现并管理FPGA加速卡,由FPGA加速卡组成的设备需要利用CPU(中央处理器,Central Processing Unit)或BMC(BaseboardManagement Controller,基板管理控制器)与综合管理平台进行数据交互。而随着数据中心体系结构的不断发展演进,与CPU解耦的FPGA加速器,开始在数据中心部署,此时FPGA作为独立的加速单元,其不再通过PCIE部署在标准服务器内部,在下一代数据中心中FPGA加速器等异构设备,独立部署在没有CPU的服务器(FPGA服务器)中。在该数据中心的体系结构中,造成上述监控管理功能无法有效部署。
因此,如何在下一代数据中心体系结构中,完成对计算资源的设备发现及监控管理,即在不存在CPU和BMC等设备时如何利用综合管理平台对FPGA服务器进行发现及管理,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种基于FPGA服务器(FPGA Box)的计算资源发现及管理方法、FPGA加速卡、FPGA服务器及基于FPGA服务器的计算资源发现及管理系统,通过FPGA自身的网络以及板级MCU的网络,以不依赖服务器CPU或者主板BMC的方式,给出了可重构数据中心中综合管理平台对计算资源的发现方法、应用端设备弹性部署及资源发现方法以及计算资源不经CPU或主板BMC直接与综合管理平台沟通的监控管理方法。较好的解决了与CPU解耦的FPGA加速器设备监控管理、部署所面临的问题,并且也可以无缝的兼容现有机卡绑定的模式。缩短了数据传输路径,提高了数据交互效率。
为解决上述技术问题,本申请提供了一种基于FPGA服务器的计算资源发现及管理方法,包括:
获取并解析网络通信协议信息;
基于所述网络通信协议信息,与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡;
基于所述网络通信协议信息,与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡。
可选地,还包括:
获取所述综合管理平台发送的资源申请信息;所述综合管理平台在获取到客户端创建FPGA实例后向所述综合管理平台发送的FPGA配置信息和FPGA数量信息后发送所述资源申请信息;
利用可分配FPGA加速卡的设备ID、IP地址和MAC地址响应所述资源申请信息;
获取所述综合管理平台发送的资源池配置表;所述综合管理平台根据所述FPGA配置信息和FPGA数量信息,基于所述可分配FPGA加速卡的设备ID、IP地址和MAC地址生成所述资源池配置表;
根据所述资源池配置表与其他FPGA加速卡构建虚拟资源池。
可选地,还包括:
获取所述客户端发送的调用指令;其中,所述客户端获取并解密所述综合管理平台根据所述FPGA配置信息和所述FPGA数量信息,基于所述可分配FPGA加速卡的设备ID、IP地址和MAC地址生成的加密文件,在本地创建虚拟驱动及节点后,基于所述加密文件调用FPGA云接口发送所述调用指令;
在所述虚拟资源池内执行所述调用指令,得到执行结果;
基于所述网络通信协议信息向所述客户端反馈所述执行结果。
可选地,所述基于所述网络通信协议信息,与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡,包括:
基于所述网络通信协议信息,获取所述综合管理平台发送的资源IP;
利用所述资源IP和基础资源信息生成资源信息广播包;
发送所述资源信息广播包,以便所述综合管理平台发现所述FPGA加速卡。
可选地,所述基于所述网络通信协议信息,获取所述综合管理平台发送的资源IP,包括:
基于所述网络通信协议信息生成DHCP广播包,并发送所述DHCP广播包;
获取所述综合管理平台发送的广播包响应信息,并从所述广播包响应信息中获取所述资源IP。
可选地,还包括:
获取并存储所述综合管理平台发送的平台IP,以便利用所述平台IP与所述综合管理平台进行数据交互。
可选地,所述基于所述网络通信协议信息与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡,包括:
获取资源运行信息,并利用所述资源运行信息生成管理信息;所述资源运行信息包括板卡温度、FPGA core温度、功耗、负载、风扇转速、核心电压、核心电流;
按照预设周期向所述综合管理平台发送所述管理信息,以便所述综合管理平台基于所述管理信息对所述FPGA加速卡进行管理。
本申请还提供了一种FPGA加速卡,包括:
获取模块,用于获取并解析网络通信协议信息;
资源发现模块,用于基于所述网络通信协议信息与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡;
资源管理模块,用于基于所述网络通信协议信息与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡。
本申请还提供了一种FPGA服务器,包括多个FPGA加速卡,所述FPGA加速卡用于执行上述的基于FPGA服务器的计算资源发现及管理方法。
本申请还提供了一种基于FPGA服务器的计算资源发现及管理系统,包括FPGA服务器和综合管理平台,其中,所述FPGA服务器中包括多个FPGA加速卡,所述FPGA加速卡用于执行上述的基于FPGA服务器的计算资源发现及管理方法。
本申请提供的基于FPGA服务器的计算资源发现及管理方法,获取并解析网络通信协议信息;基于网络通信协议信息与综合管理平台进行资源信息交互,以便综合管理平台发现FPGA加速卡;基于网络通信协议信息与综合管理平台进行管理信息交互,以便综合管理平台管理FPGA加速卡。
可见,该方法由FPGA加速卡获取网络通信协议信息并解析,以便在FPGA板卡上部署并实现该网络通信协议信息对应的若干网络通信协议,进而实现与外界的数据交互,即允许FPGA加速卡与综合管理平台基于网络通信协议直接进行数据交互。具体的,基于网络通信协议信息与综合管理平台进行资源信息交互,即可使综合管理平台发现该FPGA加速卡;基于网络通信协议信息与网络管理平台进行管理信息交互,即可使综合管理平台管理FPGA加速卡。将网络通信协议信息直接在FPGA加速卡上实现的方式,在FPGA加速卡与CPU等设备的解耦后,即在不存在CPU或BMC等设备的情况下,允许FPGA加速卡直接与综合管理平台进行通信,缩短了数据传输路径,提高了数据交互效率,同时降低了硬件需求和成本。
此外,本申请还提供了一种FPGA加速卡、FPGA服务器及基于FPGA服务器的计算资源发现及管理系统,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理方法流程图;
图2为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理方法时序图;
图3为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理系统的拓扑结构图;
图4为本申请实施例提供的另一种基于FPGA服务器的计算资源发现及管理系统的拓扑结构图;
图5为本申请实施例提供的一种FPGA加速卡的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着人工智能及大数据的快速发展,数据中心的数据成倍增长,对数据中心的计算力的需求呈现指数级的提高,而CPU处理器计算能力的提升开始滞后于摩尔定律,在后摩尔时代,CPU的性能已无法成倍的提升,FPGA、ASIC(应用集成电路,Application SpecificIntegrated Circuit)等异构加速系统因其高并行计算能力、硬件可编程性、低功耗和低延迟等优势,开始应用于数据分析、网络数据处理、科学计算等领域。随着FPGA、ASIC等专用化异构加速硬件开始在数据中心大规模部署,如何在数据中心中通过自动化手段高效的完成上述异构设备的发现及管理工作,成为异构设备部署及弹性扩展中面临的十分重要的问题。
目前FPGA的部署方式,一般为将异构加速卡(即FPGA加速卡)通过服务器端的PCIE插槽与服务器相连,采用“一机一卡”或“一机多卡”的形式进行部署,云服务提供商在服务器中创建多个虚拟机,每个虚拟机绑定一张或多卡异构加速卡,用户通过分配的虚拟机来使用异构加速设备。云服务器提供商为保证服务质量,会对异构加速卡的健康状态进行监控。并且在异常状态下,可对加速卡实施掉电等保护措施。
当前数据中心中对FPGA、ASIC等异构加速设备运行状态进行采集的方式,主要有带内、带外两种方式,其中带内主要是服务器中的CPU通过PCIE接口读取异构加速卡提供的各类监控信息,带外读取的方式主要是基于服务器的基板管理控制器BMC通过SMBus获取相关信息。一种相关技术通过服务器中的BMC每隔预设时间采集GPU信息,其为典型的带外采集方式;在另一种相关技术中,增设传感器和无线传输模块进行数据采集和传输,该方式需要额外添加传感器、无线传输等设备,其造成两方面问题,1.现有的异构加速设备一般具备相关信息的提供能力,无法额外添置传感器。2.该方式受到无线传输设备的传输距离的限制,在跨区域的数据中心中无法大规模部署。在另一种相关技术中,可以通过带外BMC的方式读取FPGA异构加速卡的相关运行状态。
相关技术虽然在一定程度上解决了异构加速设备的监控管理功能,但无论是带外和带内其都依赖于板卡外部器件的参与。例如,带外模式需要服务器的基版管理控制器BMC的参与;而带内的模式,需要在服务器中安装部署信息采集程序,通过CPU执行。而随着数据中心体系结构的不断发展演进,与CPU解耦的FPGA加速器,开始在数据中心部署,此时FPGA作为独立的加速单元,其不在通过PCIE部署在服务器内部,造成上述监控管理功能无法有效部署。
为了解决上述问题,本发明提出一种不依赖于服务器主机的异构加速设备自动发现管理方法,解耦了FPGA、ASIC等异构加速设备在集群系统设备发现中对服务器主机部件(例如BMC、CPU等)的强依赖关系。
具体的,请参考图1,图1为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理方法流程图。该方法包括:
S101:获取并解析网络通信协议信息。
需要说明的是,可以由任一FPGA加速卡执行本实施例提供的计算资源发现及管阀方法中的步骤,其中,FPGA加速卡的具体类型不做限定。需要说明的是,该FPGA加速卡为没有被综合管理平台发现的资源,即为新的FPGA加速卡。可以理解的是,为了通过综合管理平台对FPGA加速卡进行管理或使用,需要综合管理平台发现新出现的FPGA加速卡,例如新接入异构计算系统的FPGA服务器。
网络通信协议为与综合管理平台进行数据交互所必须的协议,其具体内容不做限定,例如可以包括UDP协议(User Datagram Protocol,用户数据报协议)、DHCP协议(Dynamic Host Configuration Protocol,动态主机配置协议)、ARP协议(AddressResolution Protocol,地址解析协议)、ICMP协议(Internet Control Message Protocol,互联网控制消息协议)等。为了实现特殊的功能或与综合管理平台进行特殊的数据交互,网络通信协议还可以包括基于UDP自定义的自定义协议。自定义协议的具体内容可以根据实际需要进行设置,其具体定义方式可以参考相关技术,在此不再赘述。
网络通信协议信息可以为网络通信协议本身,也可以为基于网络通信协议得到的信息,利用网络通信协议信息可以得到网络通信协议。在获取网络通信协议后将其解析,使得网络通信协议在本地部署并实现,以便在后续利用网络通信息协议与综合管理平台进行数据交互,进而使综合管理平台发现新出现的计算资源,并对计算资源进行管理。本实施例并不限定网络通信协议的具体获取方式,例如可以通过预设接口获取发送的网络通信协议,并在本地按照网络通信协议的逻辑进行设置,以便利用FOGA卡实现网络通信协议的逻辑。
S102:基于网络通信协议信息,与综合管理平台进行资源信息交互,以便综合管理平台发现FPGA加速卡。
在获取并解析网络通信息协议信息后,可以基于该网络通信协议信息与综合管理平台进行交互,完成对FPGA加速卡的发现。具体的,综合管理平台用于对FPGA加速卡进行监控,了解各个FPGA加速卡的状态,同时用于配合用户对FPGA加速卡进行调用,以便用户利用FPGA加速卡进行数据处理。综合管理平台具体可以为一台设备,例如一台计算机或一台服务器,或者可以为多台设备构成的集群,例如可以为若干台电脑和/或若干台服务器构成的集群。FPGA加速卡在获取到网络通信协议信息后,可以基于该网络通信协议信息与综合管理平台进行资源信息交互,使综合管理平台发现FPGA加速卡。
资源信息用于表示FPGA加速卡的配置情况,其可以包括一项或多项信息。例如当FPGA加速卡为FPGA加速卡时,其对应的资源信息可以包括FPGA芯片信息、DDR(Double DataRate双倍速率同步动态随机存储器)信息,固件版本号、开发工具类型等,其中,FPGA芯片信息可以包括芯片数量、芯片型号等信息,DDR信息可以包括DDR数量、DDR大小等信息。此外,资源信息还可以包括其他信息,例如MAC地址(Medium/Media Access Control地址,物理地址)、IP地址等。资源信息的具体获取方式不做限定,可以参考相关技术。FPGA加速卡在获取到自身的资源信息后,可以基于网络通信协议信息与综合管理平台进行资源信息交互,以便综合管理平台发现FPGA加速卡。
具体的,在一种可行的实施方式中,S102步骤可以包括:
步骤11:基于网络通信协议信息,获取综合管理平台发送的资源IP。
步骤12:利用资源IP和基础资源信息生成资源信息广播包。
步骤13:发送资源信息广播包,以便综合管理平台发现FPGA加速卡。
为了使综合管理平台得知存在新的FPGA加速卡需要被发现,可以先基于网络通信息协议信息向综合管理平台请求IP,获取综合管理平台发送的资源IP。通过获取资源IP的数据交互,可以使综合管理平台得知存在未被发现的FPGA加速卡,通过发送资源IP的形式对其进行标记,以便在获取资源信息后确定是哪一个FPGA加速卡的资源信息。因此在获取资源IP后,利用资源IP和基础资源信息(即非资源IP的其他的资源信息)生成资源信息广播包,并将资源信息广播包广播发送。综合管理平台在获取到资源信息广播包后即可得知FPGA加速卡的具体配置情况,且可以利用资源IP对其进行分辨,完成了对FPGA加速卡的发现。
具体的,步骤11可以包括:
步骤21:基于网络通信协议信息生成DHCP广播包,并发送DHCP广播包。
步骤22:获取综合管理平台发送的广播包响应信息,并从广播包响应信息中获取资源IP。
在本实施例中,综合管理平台可以支持DHCP服务,因此FPGA加速卡可以基于网络通信协议信息生成DHCP广播包,通过发送DHCP广播包的方式请求获取资源IP。综合管理平台在获取到DHCP广播包后,可以利用DHCP服务生成资源IP,并生成对应的广播包响应信息,将广播包响应信息以广播的方式发送,以便对DHCP广播包进行回应。FPGA加速卡在获取到广播包响应信息后对其进行解析,从中获取资源IP。
进一步,为了便于综合管理平台和FPGA加速卡之间的数据交互,在综合管理平台发现FPGA加速卡后,还可以向FPGA加速卡发送自身对应的平台IP。因此S102还可以包括:
步骤31:获取并存储综合管理平台发送的平台IP,以便利用平台IP与综合管理平台进行数据交互。
具体的,综合管理平台可以在发送平台IP时同时发送配置信息,以便FPGA加速卡将平台IP保存在配置信息指定的位置,进而利用该平台IP与综合管理平台进行数据交互,不需要采用广播的形式进行交互。
S103:基于网络通信协议信息,与综合管理平台进行管理信息交互,以便综合管理平台管理FPGA加速卡。
在综合管理平台发现FPGA加速卡后,FPGA加速卡还需要与综合管理平台进行管理信息交互,即将管理信息发送给综合管理平台,以便综合管理平台根据管理信息了解FPGA加速卡的状态,并根据该状态对FPGA加速卡进行管理。具体的,管理信息可以包括在线、故障等信息,或者还可以包括温度、功耗、风扇转速、负载率、核心电压、核心电流等信息。管理信息的获取方式不做限定,具体可以参考相关技术。在获取管理信息后,FPGA加速卡可以发送给综合管理平台,以便综合管理平台对FPGA加速卡进行管理。综合管理平台可以对发送的管理信息进行响应,或者可以不进行任何相应,或者可以根据管理信息内容的不同选择相应或不相应,本实施例对此不做限定。
在一种可行的实施方式中,管理信息可以包括计算资源的资源运行信息。S103步骤可以包括:
步骤41:获取资源运行信息,并利用资源运行信息生成管理信息。
步骤42:按照预设周期向综合管理平台发送管理信息,以便综合管理平台基于管理信息对FPGA加速卡进行管理。
资源运行信息即为FPGA加速卡在运行时的指标信息,例如温度、功耗、风扇转速、负载率、核心电压、核心电流等,具体内容和数量可以根据需要进行设置。在获取资源运行信息后,可以利用其生成管理信息,具体过程可以为编码、压缩等处理,或者可以不做任何处理。按照预设周期发送管理信息,可以避免造成通信资源的消耗。通过将管理信息发送给综合管理平台的方式,使综合管理平台对FPGA加速卡的状态进行了解,进而基于管理信息对FPGA加速卡进行管理,例如在温度过高时对FPGA加速卡进行掉电处理;或者在其负载率过高时不再允许用户对其进行调用。
进一步,在一种可行的实施方式中,FPGA加速卡还可以与其他FPGA加速卡构成虚拟资源池,以便更灵活地为用户提供服务。还可以包括:
步骤51:获取综合管理平台发送的资源申请信息;综合管理平台在获取到客户端创建FPGA实例后向综合管理平台发送的FPGA配置信息和FPGA数量信息后发送资源申请信息;。
步骤52:利用可分配FPGA加速卡的设备ID、IP地址和MAC地址响应资源申请信息;
步骤53:获取综合管理平台发送的资源池配置表;综合管理平台根据FPGA配置信息和FPGA数量信息,基于可分配FPGA加速卡的设备ID、IP地址和MAC地址生成资源池配置表;
步骤54:根据资源池配置表与其他FPGA加速卡构建虚拟资源池。
具体的,用户在想要调用FPGA加速卡时,可以向综合管理平台发送申请,以便综合管理平台为其分配FPGA加速卡,例如可以通过客户端向综合管理平台发送请求。综合管理平台根据用户的需求选择合适的FPGA加速卡供用户调用,由于用户的需求可能存在多种情况,为了满足用户的各种需求,综合管理平台先向FPGA加速卡发送资源申请信息,以便确定哪些FPGA加速卡可分配,并在获取到可分配FPGA加速卡的设备ID、IP地址和MAC地址后根据FPGA配置信息和FPGA数量信息确定分配给客户端的FPGA加速卡,并向分配给客户端的FPGA加速卡发送配置表,该配置表中指定了分配给客户端的用于构建虚拟资源池的FPGA加速卡。FPGA加速卡在获取到资源池配置表后,可以与其他FPGA加速卡构成虚拟资源池,虚拟资源池内的各个FPGA加速卡相互配合,进行用户指定的数据处理。通过构建虚拟资源池的方式可以弹性灵活地为用户分配FPGA加速卡,满足其需要。
相应的,FPGA加速卡可以执行用户的调用指令,具体还可以包括:
步骤61:获取客户端发送的调用指令;其中,客户端获取并解密综合管理平台根据FPGA配置信息和FPGA数量信息,基于可分配FPGA加速卡的设备ID、IP地址和MAC地址生成的加密文件,在本地创建虚拟驱动及节点后,基于加密文件调用FPGA云接口发送调用指令。
步骤62:在虚拟资源池内执行调用指令,得到执行结果。
步骤63:基于网络通信协议信息向客户端反馈执行结果。
由于在本地实现了网络通信协议信息,因此可以直接与客户端进行通信,接收客户端发送的调用指令。用户可以通过客户端发送调用指令,具体发送方式不做限定。具体的,客户端获取综合管理平台根据FPGA配置信息和FPGA数量信息,基于可分配FPGA加速卡的设备ID、IP地址和MAC地址生成的加密文件后,对其进行解析和解密,然后在本地创建虚拟驱动及节点后,基于加密文件调用FPGA云接口发送调用指令。FPGA加速卡在获取的调用指令后,在虚拟资源池内执行调用指令,得到执行结果,调用指令的具体执行方式不做限定,例如可以在本地进行某些数据处理后将数据处理结果发送给虚拟资源池中的其他FPGA加速卡,由其他FPGA加速卡进行数据处理,并获取对应的新的数据处理结果,利用该数据处理结果继续进行计算,得到执行结果。在得到执行结果后可以基于网络通信协议将执行结果发送给客户端,完成本次调用。
应用本申请实施例提供的基于FPGA服务器的计算资源发现及管理方法,由FPGA加速卡获取网络通信协议信息并解析,以便在FPGA板卡上部署并实现该网络通信协议信息对应的若干网络通信协议,进而实现与外界的数据交互,即允许FPGA加速卡与综合管理平台基于网络通信协议直接进行数据交互。具体的,基于网络通信协议信息与综合管理平台进行资源信息交互,即可使综合管理平台发现该FPGA加速卡;基于网络通信协议信息与网络管理平台进行管理信息交互,即可使综合管理平台管理FPGA加速卡。将网络通信协议信息直接在FPGA加速卡上实现的方式,在FPGA加速卡与CPU等设备的解耦后,即在不存在CPU或BMC等设备的情况下,允许FPGA加速卡直接与综合管理平台进行通信,缩短了数据传输路径,提高了数据交互效率,同时降低了硬件需求和成本。
基于上述实施例,本实施例将说明一种具体的计算资源发现、管理及调用过程。请参考图2,图2为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理方法时序图。该计算资源发现、管理及调用过程可以基于图3和图4中的拓扑结构,图3为本申请实施例提供的一种基于FPGA服务器的计算资源发现及管理系统的拓扑结构图,图4为本申请实施例提供的另一种基于FPGA服务器的计算资源发现及管理系统的拓扑结构图。请参考图3,图3中的基于FPGA服务器的计算资源发现及管理系统由FPGA加速卡服务器和综合管理平台构成,其中FPGA加速卡服务器即为FPGA box,也可以称为FPGA服务器,多个FPGA box共同构成FPGA异构加速卡资源池。每个FPGA box包括多个FPGA加速卡。FPGA box和FPGA云平台综合管理系统(即综合管理平台)通过交换机进行数据交互,不需要通过CPU或BMC。用户可以通过VPN(Virtual Private Network,虚拟专用网络)、路由器、防火墙和入侵检测与核心交换机相连,以便与综合管理平台或FPGA box中的FPGA加速卡进行数据交互。
请参考图4,图4中的FPGA加速卡包括kernel(核心)用户加速引擎,用于进行数据处理。网络通信协议信息包括DHCP、UDP、ARP、ICMP等标准协议,还可以包括基于UDP的自定义协议。FPGA加速卡在上电后利用上述协议和综合管理平台中的DHCP服务进行交互,获取DHCP服务给FPGA加速卡分配的IP地址(即资源IP)后,由FPGA IP获取模块进行处理,将IP地址存至指定的寄存器中。其中FPGA资源发现模块在FPGA加速卡获取IP地址后,基于自定义的协议规约,以广播的方式向综合管理平台发送设备上线报文(即资源信息广播包),包含该FPGA加速卡的基本信息(FPGA芯片、DDR大小、固件版本号、开发工具类型)。综合管理平台计算收到上述报文后,由计算资源发现模块进行处理,确认FPGA加速卡资源后,完成计算资源在综合管理平台上的添加。FPGA在线保持模块,以固定频率利用自定义协议的指定字段,向综合管理平台的计算资源运行状态监控模块同步在线、故障等信息。FPGA运行状态采集模块,其以固定频率利用自定义协议的指定字段,向综合管理平台的计算资源运行状态监控模块同步计算资源运行状态,包括FPGA加速卡当前温度、功耗、主动散热风扇转速、负载率、核心电压、电流等信息。虚拟弹性资源池信息模块,当用户通过综合管理平台申请满足应用的实际的需求的板卡数量后,综合管理平台的弹性部署模块会划分指定数量的FPGA加速卡,并将指定的FPGA加速卡的MAC地址、IP地址、ID号等信息,通过自定义的协议规约,向指定的FPGA加速卡进行同步,划分虚拟的资源池。指定的FPGA加速卡只能在该虚拟资源池之间进行控制命令及数据的交互。并且虚拟资源池内的所有FPGA加速卡的MAC地址、IP地址、ID号等信息会以加密文件的形式提供给用户。
用户在综合管理平台申请FPGA加速卡成功后,综合管理平台会向用户提供包含FPGA加速卡的MAC地址、IP地址、ID号等信息的加密文件。用户在使用FPGA加速卡时,需要在本地端利用提供的编程接口API,将加密文件导入,本地端底层代码会对上述加密文件进行解密,获取所有FPGA加速卡的MAC地址、IP地址、ID号等信息,后台程序依据上述信息,在本地建立虚拟的加速卡节点,用户在实际使用时和在本地使用板卡无其他特殊区别。
基于图2对整个过程进行说明,FPGA加速卡上电后与综合管理平台的DHCP服务进行交互完成IP地址的获取。具体为发送DHCP广播包,综合管理平台得到该DHCP广播包后向FPGA加速卡发送资源IP。FPGA加速卡获取IP地址后,发送自定义协议格式的广播包(即资源信息广播包),该广播包包括FPGA加速卡的MAC/IP地址以及FPGA的相关信息。综合管理平台接收到含有FPGA加速卡信息的广播包后,通过解包后获取FPGA板卡的MAC地址、IP地址以及FPGA加速卡的基本信息,管理平台为加速卡统一分配ID,此时FPGA加速卡与综合管理平台建立通信,并被管理平台管理。综合管理平台向已被管理的加速卡通过自定义协议发送配置指令,向加速卡配置管理平台服务器的IP地址(即发送平台IP)。FPGA加速卡收到管理平台服务器的IP地址后,配置至指定的寄存器。FPGA加速卡正常上电后,使用自定义数据包周期性向管理平台上报板卡的运行状态包括板卡温度、FPGA core(核心)温度、功耗、负载等健康状态信息。还可以周期性上报在线保持数据包,以便与综合管理平台进行交互,确定计算资源是否在线并保持正常。用户根据其自身业务的实际需求通过客户端向综合管理平台创建所需的FPGA实例,向管理平台提交FPGA配置以及数量等需求。综合管理平台统一向计算池申请设备,并获取待分配FPGA加速卡的设备ID、IP以及MAC地址。综合管理平台将需分配的各FPGA加速卡的ID、IP、MAC生成加密文件,并将该文件发送给用户(即客户端)。同时,综合管理平台将需分配的各FPGA加速卡的ID、IP、MAC形成配置表,通过自定义指令的形式发送给分配给该用户的所有的FPGA板卡,以此形成虚拟的资源池。用户获取到加密文件后,通过本地的软件栈解密加密文件后,获取虚拟资源池的所有FPGA设备信息,并在本地创建虚拟驱动及节点。虚拟驱动创建完成后,用户通过调用FPGA云相关API,可无差别使用远端设备。FPGA加速卡在运算完成后,将结果通过网络返给用户。
下面对本申请实施例提供的FPGA加速卡进行介绍,下文描述的FPGA加速卡与上文描述的基于FPGA服务器的计算资源发现及管理方法可相互对应参照。
请参考图5,图5为本申请实施例提供的一种FPGA加速卡的结构示意图,包括:
获取模块110,用于获取并解析网络通信协议信息;
资源发现模块120,用于基于网络通信协议信息与综合管理平台进行资源信息交互,以便综合管理平台发现FPGA加速卡;
资源管理模块130,用于基于网络通信协议信息与综合管理平台进行管理信息交互,以便综合管理平台管理FPGA加速卡。
可选地,还包括:
资源申请模块,用于获取综合管理平台发送的资源申请信息;综合管理平台在获取到客户端创建FPGA实例后向综合管理平台发送的FPGA配置信息和FPGA数量信息后发送资源申请信息;
信息响应模块,用于利用可分配FPGA加速卡的设备ID、IP地址和MAC地址响应资源申请信息;
配置表获取模块,用于获取综合管理平台发送的资源池配置表;综合管理平台根据FPGA配置信息和FPGA数量信息,基于可分配FPGA加速卡的设备ID、IP地址和MAC地址生成资源池配置表;
资源池构建模块,用于根据资源池配置表与其他FPGA加速卡构建虚拟资源池。
可选地,还包括:
调用指令获取模块,用于获取客户端发送的调用指令;其中,客户端获取并解密综合管理平台根据FPGA配置信息和FPGA数量信息,基于可分配FPGA加速卡的设备ID、IP地址和MAC地址生成的加密文件,在本地创建虚拟驱动及节点后,基于加密文件调用FPGA云接口发送调用指令;
执行模块,用于在虚拟资源池内执行调用指令,得到执行结果;
结果反馈模块,用于基于网络通信协议信息向客户端反馈执行结果。
可选地,资源发现模块,包括:
资源IP获取单元,用于基于网络通信协议信息,获取综合管理平台发送的资源IP;
广播包生成单元,用于利用资源IP和基础资源信息生成资源信息广播包;
广播包发送单元,用于发送资源信息广播包,以便综合管理平台发现FPGA加速卡。
可选地,资源IP获取单元,包括:
DHCP广播包发送子单元,用于基于网络通信协议信息生成DHCP广播包,并发送DHCP广播包;
资源IP获取子单元,用于获取综合管理平台发送的广播包响应信息,并从广播包响应信息中获取资源IP。
可选地,还包括:
平台IP获取模块,用于获取并存储综合管理平台发送的平台IP,以便利用平台IP与综合管理平台进行数据交互。
可选地,资源管理模块,包括:
管理信息生成单元,用于获取资源运行信息,并利用资源运行信息生成管理信息;资源运行信息包括板卡温度、FPGA core温度、功耗、负载、风扇转速、核心电压、核心电流;
管理信息发送单元,用于按照预设周期向综合管理平台发送管理信息,以便综合管理平台基于管理信息对FPGA加速卡进行管理。
下面对本申请实施例提供的FPGA服务器进行介绍,下文描述的FPGA服务器与上文描述的基于FPGA服务器的计算资源发现及管理方法可相互对应参照。
本申请还提供了一种FPGA服务器,包括多个FPGA加速卡,FPGA加速卡用于执行上述的基于FPGA服务器的计算资源发现及管理方法。
下面对本申请实施例提供的基于FPGA服务器的计算资源发现及管理系统进行介绍,下文描述的基于FPGA服务器的计算资源发现及管理系统与上文描述的基于FPGA服务器的计算资源发现及管理方法可相互对应参照。
本申请还提供了一种基于FPGA服务器的计算资源发现及管理系统,包括FPGA服务器和综合管理平台,其中,FPGA服务器中包括多个FPGA加速卡,FPGA加速卡用于执行上述的基于FPGA服务器的计算资源发现及管理方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于FPGA服务器的计算资源发现及管理方法,其特征在于,包括:
获取并解析网络通信协议信息;
基于所述网络通信协议信息,与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡;
基于所述网络通信协议信息,与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡。
2.根据权利要求1所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,还包括:
获取所述综合管理平台发送的资源申请信息;所述综合管理平台在获取到客户端创建FPGA实例后向所述综合管理平台发送的FPGA配置信息和FPGA数量信息后发送所述资源申请信息;
利用可分配FPGA加速卡的设备ID、IP地址和MAC地址响应所述资源申请信息;
获取所述综合管理平台发送的资源池配置表;所述综合管理平台根据所述FPGA配置信息和所述FPGA数量信息,基于所述可分配FPGA加速卡的设备ID、IP地址和MAC地址生成所述资源池配置表;
根据所述资源池配置表与其他FPGA加速卡构建虚拟资源池。
3.根据权利要求2所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,还包括:
获取所述客户端发送的调用指令;其中,所述客户端获取并解密所述综合管理平台根据所述FPGA配置信息和所述FPGA数量信息,基于所述可分配FPGA加速卡的设备ID、IP地址和MAC地址生成的加密文件,在本地创建虚拟驱动及节点后,基于所述加密文件调用FPGA云接口发送所述调用指令;
在所述虚拟资源池内执行所述调用指令,得到执行结果;
基于所述网络通信协议信息向所述客户端反馈所述执行结果。
4.根据权利要求1所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,所述基于所述网络通信协议信息,与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡,包括:
基于所述网络通信协议信息,获取所述综合管理平台发送的资源IP;
利用所述资源IP和基础资源信息生成资源信息广播包;
发送所述资源信息广播包,以便所述综合管理平台发现所述FPGA加速卡。
5.根据权利要求4所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,所述基于所述网络通信协议信息,获取所述综合管理平台发送的资源IP,包括:
基于所述网络通信协议信息生成DHCP广播包,并发送所述DHCP广播包;
获取所述综合管理平台发送的广播包响应信息,并从所述广播包响应信息中获取所述资源IP。
6.根据权利要求4所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,还包括:
获取并存储所述综合管理平台发送的平台IP,以便利用所述平台IP与所述综合管理平台进行数据交互。
7.根据权利要求1所述的基于FPGA服务器的计算资源发现及管理方法,其特征在于,所述基于所述网络通信协议信息与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡,包括:
获取资源运行信息,并利用所述资源运行信息生成管理信息;所述资源运行信息包括板卡温度、FPGA core温度、功耗、负载、风扇转速、核心电压、核心电流;
按照预设周期向所述综合管理平台发送所述管理信息,以便所述综合管理平台基于所述管理信息对所述FPGA加速卡进行管理。
8.一种FPGA加速卡,其特征在于,包括:
获取模块,用于获取并解析网络通信协议信息;
资源发现模块,用于基于所述网络通信协议信息与综合管理平台进行资源信息交互,以便所述综合管理平台发现FPGA加速卡;
资源管理模块,用于基于所述网络通信协议信息与所述综合管理平台进行管理信息交互,以便所述综合管理平台管理所述FPGA加速卡。
9.一种FPGA服务器,其特征在于,包括多个FPGA加速卡,所述FPGA加速卡用于执行如权利要求1至7任一项所述的基于FPGA服务器的计算资源发现及管理方法。
10.一种基于FPGA服务器的计算资源发现及管理系统,其特征在于,包括FPGA服务器和综合管理平台,其中,所述FPGA服务器中包括多个FPGA加速卡,所述FPGA加速卡用于执行如权利要求1至7任一项所述的基于FPGA服务器的计算资源发现及管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149390.0A CN112241323A (zh) | 2020-10-23 | 2020-10-23 | 基于fpga服务器的计算资源发现及管理方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149390.0A CN112241323A (zh) | 2020-10-23 | 2020-10-23 | 基于fpga服务器的计算资源发现及管理方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112241323A true CN112241323A (zh) | 2021-01-19 |
Family
ID=74169584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149390.0A Withdrawn CN112241323A (zh) | 2020-10-23 | 2020-10-23 | 基于fpga服务器的计算资源发现及管理方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241323A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023231330A1 (zh) * | 2022-05-31 | 2023-12-07 | 广东浪潮智慧计算技术有限公司 | 一种池化平台的数据处理方法、装置、设备和介质 |
-
2020
- 2020-10-23 CN CN202011149390.0A patent/CN112241323A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023231330A1 (zh) * | 2022-05-31 | 2023-12-07 | 广东浪潮智慧计算技术有限公司 | 一种池化平台的数据处理方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11611637B2 (en) | Scheduling services on a platform including configurable resources | |
US20210042160A1 (en) | Method and system for distributed edge cloud computing | |
US10547710B2 (en) | Device gateway | |
CN110113441B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
US9384030B2 (en) | System and method for deploying a dynamic virtual network address translation appliance | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
US20180210752A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
JP2021518018A (ja) | 関数チェックポイントを使用したサービスハブのための関数移植性 | |
CN112905305B (zh) | 基于vpp的集群式虚拟化数据转发方法、装置及系统 | |
US9130943B1 (en) | Managing communications between client applications and application resources of on-premises and cloud computing nodes | |
WO2014169870A1 (zh) | 虚拟网元自动装载及虚拟机ip地址获取的方法与系统、存储介质 | |
CN111625496B (zh) | 分布式文件系统在虚拟机环境下的部署方法、装置及设备 | |
Nugur et al. | Design and development of an IoT gateway for smart building applications | |
EP4049413A1 (en) | Method and system for distributed edge cloud computing | |
WO2021257982A1 (en) | Orchestrating configuration of a programmable accelerator | |
US12052175B2 (en) | Controlling a destination of network traffic | |
CN112187958A (zh) | 微服务注册、发现转发的方法及装置 | |
CN113810230A (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
Muralidharan et al. | Monitoring and managing iot applications in smart cities using kubernetes | |
CN112637265B (zh) | 一种设备管理方法、装置及存储介质 | |
CN114938375B (zh) | 一种容器组更新设备及容器组更新方法 | |
CN115499432A (zh) | 家庭终端算力资源管理系统及算力资源调度方法 | |
CN112241323A (zh) | 基于fpga服务器的计算资源发现及管理方法、系统 | |
US11385973B1 (en) | High-availability for power-managed virtual desktop access | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210119 |
|
WW01 | Invention patent application withdrawn after publication |