CN112231096A - 一种fpga池化资源任务均衡的方法、系统、设备及介质 - Google Patents

一种fpga池化资源任务均衡的方法、系统、设备及介质 Download PDF

Info

Publication number
CN112231096A
CN112231096A CN202011032724.6A CN202011032724A CN112231096A CN 112231096 A CN112231096 A CN 112231096A CN 202011032724 A CN202011032724 A CN 202011032724A CN 112231096 A CN112231096 A CN 112231096A
Authority
CN
China
Prior art keywords
fpga
available capacity
total flow
flow
task
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.)
Granted
Application number
CN202011032724.6A
Other languages
English (en)
Other versions
CN112231096B (zh
Inventor
欧明阳
阚宏伟
赵坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011032724.6A priority Critical patent/CN112231096B/zh
Publication of CN112231096A publication Critical patent/CN112231096A/zh
Application granted granted Critical
Publication of CN112231096B publication Critical patent/CN112231096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5083Techniques for rebalancing the load in a distributed system
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Abstract

本发明公开了一种FPGA池化资源任务均衡的方法、系统、设备和存储介质,方法包括:在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;响应于接收到任务流,将任务流输入任务队列中以完成流量融合;判断资源状态表中的当前可用容量的总和是否大于任务队列的总流量;以及响应于资源状态表中的当前可用容量的总和大于任务队列的总流量,根据每个FPGA的当前可用容量对总流量进行分配。本发明将部署在大二层网络的FPGA加速器视为可以独立提供计算加速服务的实体,将任务流分配给每个FPGA,解决了VxLAN架构中的FPGA池化资源在系统延迟约束状态下的流量均衡问题。

Description

一种FPGA池化资源任务均衡的方法、系统、设备及介质
技术领域
本发明涉及FPGA领域,更具体地,特别是指一种FPGA池化资源任务均衡的方法、系统、计算机设备及可读介质。
背景技术
目前,数据中心部署大量服务器来执行不同任务,而同一服务又需要多台服务器组成的集群系统来提高整体的处理性能,因此需要将不同任务的流调度以实现相应的需求,再通过流量调度器将用户对某一任务的大量请求均衡地分发到后端集群服务器上。由于数据中心网络规则的拓扑,端到端之间存在多条等价路径,需要负载均衡机制使得流量得以均分到各路径上,因此通常在三层交换机中采用ECMP(Equal-CostMultipathRouting,等价路由)和WCMP(Weighted Cost Multipath,加权多路由)两种机制在网络层实现等价路径的负载均衡。
当某个应用的流到达数据中心后,数据中心需要将该流路由到服务集群中某个具体的服务器进行处理,由于服务器负载情况的不同以及网络状态的变化,将流导入不同的服务器会造成不同的开销和性能,尤其是服务器的利用率会导致不同的流处理完成的时间,从而直接影响服务的完成质量。因此,需要部署流量调度器,通过负载均衡算法将大量用户的请求分发到后端集群的不同服务器上,以保证数据中心服务能力健壮性。
将FPGA(Field-programmable gate array,可编程逻辑阵列)池化资源划入VxLAN(Virtual Extensible LAN,虚拟可扩展局域网)进行管理虽然解决了FPGA池化资源的部署问题,但是并未解决资源的合理利用问题。以提供视频流鉴别的FPGA池化资源为例,当应用流到达数据中心后,需要解决如何将流路由到视频流加速器资源池的问题,当多条应用流同时到达数据中心后,则需要解决应用流在视频流加速器资源池的均衡问题。
现在提出针对数据中心任务的均衡方法,首先没有充分考虑到当FPGA可作为一个独立的网络计算设备部署在数据中心中。这就导致,现有的容器微服务架构,直接通过docker容器配合K8s来调度FPGA计算单元的方式,依然基于FPGA host-device的开发模式来设计并使用FPGA加速器。其本质,依然是将FPGA视作一个受主机端代码控制的从设备。
发明内容
有鉴于此,本发明实施例的目的在于提出一种FPGA池化资源任务均衡的方法、系统、计算机设备及计算机可读存储介质,通过将部署在大二层网络的FPGA加速器视为可以独立提供计算加速服务的实体,将任务流分配给每个FPGA,解决了VxLAN架构中的FPGA池化资源在系统延迟约束状态下的流量均衡问题。
基于上述目的,本发明实施例的一方面提供了一种FPGA池化资源任务均衡的方法,包括如下步骤:在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;响应于接收到任务流,将所述任务流输入任务队列中以完成流量融合;判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量;以及响应于所述资源状态表中的当前可用容量的总和大于所述任务队列的总流量,根据每个FPGA的当前可用容量对所述总流量进行分配。
在一些实施方式中,所述判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量包括:确定所述资源状态表中添加状态为正常的FPGA,并判断所述添加状态为正常的FPGA的可用容量的总和是否大于所述任务队列的总流量。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:根据所述总流量占所述当前可用容量的比例将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述总流量剩余的流量占所述当前可用容量的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述处理容量对每个添加状态为正常的FPGA分配权重,并根据所述权重分配所述总流量剩余的流量。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:随机将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,还包括:根据服务类型将每一个FPGA划入相应的虚拟可扩展局域网。
本发明实施例的另一方面,还提供了一种FPGA池化资源任务均衡系统,包括:记载模块,配置用于在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;融合模块,配置用于响应于接收到任务流,将所述任务流输入任务队列中以完成流量融合;判断模块,配置用于判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量;以及分配模块,配置用于响应于所述资源状态表中的当前可用容量的总和大于所述任务队列的总流量,根据每个FPGA的当前可用容量对所述总流量进行分配。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过将部署在大二层网络的FPGA加速器视为可以独立提供计算加速服务的实体,将任务流分配给每个FPGA,解决了VxLAN架构中的FPGA池化资源在系统延迟约束状态下的流量均衡问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的FPGA池化资源任务均衡的方法的实施例的示意图;
图2为本发明提供的FPGA池化资源任务均衡的计算机设备的实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种FPGA池化资源任务均衡的方法的实施例。图1示出的是本发明提供的FPGA池化资源任务均衡的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;
S2、响应于接收到任务流,将任务流输入任务队列中以完成流量融合;
S3、判断资源状态表中的当前可用容量的总和是否大于任务队列的总流量;以及
S4、响应于资源状态表中的当前可用容量的总和大于任务队列的总流量,根据每个FPGA的当前可用容量对总流量进行分配。
考虑到FPGA加速器作为一个独立的计算资源时具备的功能特质,可以认为每个FPGA都可提供一个服务,如视频流鉴别、文件压缩、目标检测等。这是本申请实施例与现有方案的根本区别,即将部署在大二层网络的FPGA加速器视为可以独立提供计算加速服务的实体来实现FPGA池化资源的流量均衡。
在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态。已有的加速器资源类型、处理容量、可用容量和添加状态,由池化资源服务均衡器维护在资源状态表中。其中,处理容量的定义为,设在100ms延时内,允许的最大任务队列长度。当可用容量小于1时添加状态为False,表示加速器处于忙状态,均衡器不向其注入新的任务;当添加状态为True则表示FPGA加速器任务队列的空闲,均衡器可以注入新的任务。
响应于接收到任务流,将任务流输入任务队列中以完成流量融合。当接收到任务流时,可以将任务流输入资源池中以完成流量融合。
判断资源状态表中的当前可用容量的总和是否大于任务队列的总流量。在一些实施方式中,所述判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量包括:确定所述资源状态表中添加状态为正常的FPGA,并判断所述添加状态为正常的FPGA的可用容量的总和是否大于所述任务队列的总流量。例如,当前包括四个FPGA,FPGA0的处理容量为14,可用容量为3,添加状态为True;FPGA1的处理容量为20,可用容量为10,添加状态为True;FPGA2的处理容量为30,可用容量为15,添加状态为True;FPGA3的处理容量为18,可用容量为0,添加状态为False。当前可用容量的总和为3+10+15=28,判断任务队列的总流量是否小于28。
响应于资源状态表中的当前可用容量的总和大于任务队列的总流量,根据每个FPGA的当前可用容量对总流量进行分配。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:根据所述总流量占所述当前可用容量的比例将所述总流量分配给每个添加状态为正常的FPGA。继续上例,假如总流量为14,总流量占当前可用容量的比例为50%,因此,按照50%的比例将总流量分给FPGA0-2,也即是FPGA0分配1.5,FPGA1分配5,FPGA2分配7.5。进一步的,为了取整,可以给FPGA0分配1,FPGA1分配5,FPGA2分配8。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述总流量剩余的流量占所述当前可用容量的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA。例如,第一阈值可以是50%,FPGA0可用容量占处理容量的比例为21.4%,FPGA1和FPGA2可用容量占处理容量的比例均为50%,假如存在FPGA4,处理容量为20,可用容量为15,则可用容量占处理容量的比例为75%,可以先将总流量输入FPGA4,使得可用容量占处理容量的比例为50%,也即是先输入5,然后将剩余的流量9分配给每个添加状态为正常的FPGA。按照剩余的流量9占当前可用容量38的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA,可以进行适当的取整。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述处理容量对每个添加状态为正常的FPGA分配权重,并根据所述权重分配所述总流量剩余的流量。例如,可以给FPGA2分配0.4,给FPGA1和FPGA4分配0.25,给FPGA0分配0.1。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:随机将所述总流量分配给每个添加状态为正常的FPGA。例如,可以将总流量14随机分配给FPGA0-2,只需要满足给每个FPGA分配的流量小于或等于可用容量即可。
在一些实施方式中,还包括:根据服务类型将每一个FPGA划入相应的虚拟可扩展局域网。
本发明实施例充分考虑FPGA加速器可以作为一个独立的加速服务器的性能特点,通过构建任务队列以及维护加速资源状态,对VxLAN架构中的FPGA池化资源进行统一管理,解决了VxLAN架构中的FPGA池化资源在系统延迟约束状态下的流量均衡问题。本发明实施例可应用于现有的大数据处理框架中,将FPGA加速器用于构建实时大数据处理系统。
需要特别指出的是,上述FPGA池化资源任务均衡的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于FPGA池化资源任务均衡的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种FPGA池化资源任务均衡的系统,包括:记载模块,配置用于在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;融合模块,配置用于响应于接收到任务流,将所述任务流输入任务队列中以完成流量融合;判断模块,配置用于判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量;以及分配模块,配置用于响应于所述资源状态表中的当前可用容量的总和大于所述任务队列的总流量,根据每个FPGA的当前可用容量对所述总流量进行分配。
在一些实施方式中,所述判断模块配置用于:确定所述资源状态表中添加状态为正常的FPGA,并判断所述添加状态为正常的FPGA的可用容量的总和是否大于所述任务队列的总流量。
在一些实施方式中,所述分配模块配置用于:根据所述总流量占所述当前可用容量的比例将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述分配模块配置用于:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述总流量剩余的流量占所述当前可用容量的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述分配模块配置用于:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述处理容量对每个添加状态为正常的FPGA分配权重,并根据所述权重分配所述总流量剩余的流量。
在一些实施方式中,所述分配模块配置用于:随机将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,系统还包括:划分模块,配置用于根据服务类型将每一个FPGA划入相应的虚拟可扩展局域网。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;S2、响应于接收到任务流,将任务流输入任务队列中以完成流量融合;S3、判断资源状态表中的当前可用容量的总和是否大于任务队列的总流量;以及S4、响应于资源状态表中的当前可用容量的总和大于任务队列的总流量,根据每个FPGA的当前可用容量对总流量进行分配。
在一些实施方式中,所述判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量包括:确定所述资源状态表中添加状态为正常的FPGA,并判断所述添加状态为正常的FPGA的可用容量的总和是否大于所述任务队列的总流量。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:根据所述总流量占所述当前可用容量的比例将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述总流量剩余的流量占所述当前可用容量的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及根据所述处理容量对每个添加状态为正常的FPGA分配权重,并根据所述权重分配所述总流量剩余的流量。
在一些实施方式中,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:随机将所述总流量分配给每个添加状态为正常的FPGA。
在一些实施方式中,步骤还包括:根据服务类型将每一个FPGA划入相应的虚拟可扩展局域网。
如图2所示,为本发明提供的上述FPGA池化资源任务均衡的计算机设备的一个实施例的硬件结构示意图。
以如图2所示的装置为例,在该装置中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。
处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的FPGA池化资源任务均衡的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的FPGA池化资源任务均衡的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据FPGA池化资源任务均衡的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置303可接收输入的用户名和密码等信息。输出装置304可包括显示屏等显示设备。
一个或者多个FPGA池化资源任务均衡的方法对应的程序指令/模块存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的FPGA池化资源任务均衡的方法。
执行上述FPGA池化资源任务均衡的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,FPGA池化资源任务均衡的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种FPGA池化资源任务均衡的方法,其特征在于,包括以下步骤:
在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;
响应于接收到任务流,将所述任务流输入任务队列中以完成流量融合;
判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量;以及
响应于所述资源状态表中的当前可用容量的总和大于所述任务队列的总流量,根据每个FPGA的当前可用容量对所述总流量进行分配。
2.根据权利要求1所述的方法,其特征在于,所述判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量包括:
确定所述资源状态表中添加状态为正常的FPGA,并判断所述添加状态为正常的FPGA的可用容量的总和是否大于所述任务队列的总流量。
3.根据权利要求2所述的方法,其特征在于,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:
根据所述总流量占所述当前可用容量的比例将所述总流量分配给每个添加状态为正常的FPGA。
4.根据权利要求2所述的方法,其特征在于,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:
将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及
根据所述总流量剩余的流量占所述当前可用容量的比例将所述总流量剩余的流量分配给每个添加状态为正常的FPGA。
5.根据权利要求2所述的方法,其特征在于,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:
将所述总流量分配给所述可用容量占所述处理容量的比例高于第一阈值的FPGA以使每个FPGA的所述可用容量占所述处理容量的比例达到第一阈值;以及
根据所述处理容量对每个添加状态为正常的FPGA分配权重,并根据所述权重分配所述总流量剩余的流量。
6.根据权利要求2所述的方法,其特征在于,所述根据每个FPGA的当前可用容量对所述总流量进行分配包括:
随机将所述总流量分配给每个添加状态为正常的FPGA。
7.根据权利要求1所述的方法,其特征在于,还包括:
根据服务类型将每一个FPGA划入相应的虚拟可扩展局域网。
8.一种FPGA池化资源任务均衡的系统,其特征在于,包括:
记载模块,配置用于在资源状态表中记载每个FPGA的处理容量、当前可用容量和添加状态;
融合模块,配置用于响应于接收到任务流,将所述任务流输入任务队列中以完成流量融合;
判断模块,配置用于判断所述资源状态表中的当前可用容量的总和是否大于所述任务队列的总流量;以及
分配模块,配置用于响应于所述资源状态表中的当前可用容量的总和大于所述任务队列的总流量,根据每个FPGA的当前可用容量对所述总流量进行分配。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
CN202011032724.6A 2020-09-27 2020-09-27 一种fpga池化资源任务均衡的方法、系统、设备及介质 Active CN112231096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011032724.6A CN112231096B (zh) 2020-09-27 2020-09-27 一种fpga池化资源任务均衡的方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011032724.6A CN112231096B (zh) 2020-09-27 2020-09-27 一种fpga池化资源任务均衡的方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN112231096A true CN112231096A (zh) 2021-01-15
CN112231096B CN112231096B (zh) 2023-01-06

Family

ID=74108390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011032724.6A Active CN112231096B (zh) 2020-09-27 2020-09-27 一种fpga池化资源任务均衡的方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN112231096B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766032A (zh) * 2021-09-14 2021-12-07 烽火通信科技股份有限公司 转控分离架构vbras的业务保护方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577266A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
US20170109203A1 (en) * 2015-10-15 2017-04-20 International Business Machines Corporation Task scheduling
CN109800089A (zh) * 2019-01-24 2019-05-24 湖南国科微电子股份有限公司 一种缓冲资源分配方法、模块以及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577266A (zh) * 2012-07-31 2014-02-12 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
US20170109203A1 (en) * 2015-10-15 2017-04-20 International Business Machines Corporation Task scheduling
CN109800089A (zh) * 2019-01-24 2019-05-24 湖南国科微电子股份有限公司 一种缓冲资源分配方法、模块以及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766032A (zh) * 2021-09-14 2021-12-07 烽火通信科技股份有限公司 转控分离架构vbras的业务保护方法及系统

Also Published As

Publication number Publication date
CN112231096B (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN112153700B (zh) 一种网络切片资源管理方法及设备
EP2979409B1 (en) A method and system to allocate bandwidth for heterogeneous bandwidth request in cloud computing networks
CN105335229B (zh) 一种业务资源的调度方法和装置
CN113348651B (zh) 切片的虚拟网络功能的动态云间放置
Wang et al. Bandwidth guaranteed virtual network function placement and scaling in datacenter networks
CN106209402A (zh) 一种虚拟网络功能的伸缩方法和设备
CN102970379A (zh) 在多个服务器之间实现负载均衡的方法
CN105515977B (zh) 获取网络中传输路径的方法、装置和系统
AU2021259515B2 (en) Sharing geographically concentrated workload among neighboring mec hosts of multiple carriers
CN108401492A (zh) 一种基于混合资源的路由选路方法、装置和服务器
CN105391651B (zh) 一种虚拟光网络多层资源汇聚方法和系统
WO2020134133A1 (zh) 一种资源配置方法、变电站及计算机可读存储介质
CN109194578B (zh) 一种专线业务的开通方法及装置
CN112583734A (zh) 一种突发流量控制方法、装置、电子设备及存储介质
CN112231096B (zh) 一种fpga池化资源任务均衡的方法、系统、设备及介质
CN114528099A (zh) 一种gpu卡分配的方法、系统、设备和存储介质
CN113395183B (zh) 网络仿真平台vlan互联的虚拟节点调度方法与系统
CN115580618A (zh) 一种负载均衡方法、装置、设备及介质
Younis et al. Hybrid load balancing algorithm in heterogeneous cloud environment
CN117056064A (zh) 资源分配方法、装置、服务器、存储介质和程序产品
CN111770179B (zh) 一种高性能高可用云化联网网关实现方法、介质及终端
US20170118082A1 (en) Systems and methods for an intelligent, distributed, autonomous, and scalable resource discovery, management, and stitching
KR101787448B1 (ko) 단일 데이터 센터 클라우드 컴퓨팅 환경에서의 확률적 가상 네트워크 요청 방법, 이를 이용한 요청 수신 장치, 이를 이용한 자원 할당 방법, 자원 할당 장치, 이를 수행하는 프로그램 및 기록매체
Kang et al. Parcel-Fit: Low Network-Overhead Service-Chain Deployment for Better Datacenter Performance
CN112804162A (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
GR01 Patent grant
GR01 Patent grant