CN109542625A - 一种存储资源控制方法、装置及电子设备 - Google Patents
一种存储资源控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109542625A CN109542625A CN201811444821.9A CN201811444821A CN109542625A CN 109542625 A CN109542625 A CN 109542625A CN 201811444821 A CN201811444821 A CN 201811444821A CN 109542625 A CN109542625 A CN 109542625A
- Authority
- CN
- China
- Prior art keywords
- fpga card
- resource table
- resource
- fpga
- storage
- 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
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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种存储资源控制方法、装置及电子设备,第一FPGA卡根据第一资源表使用存储资源,并更新;将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新第二资源表;第一FPGA卡获取携带有待更新的第二资源表的更新消息;第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。通过配置共享的资源表,各个FPGA之间可以进行有效沟通,实现整个***的存储资源的动态配置,有效提高存储资源的使用效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种存储资源控制方法、装置及电子设备。
背景技术
近年来,随着数据正呈指数级增长,数据中心需要保持大规模性能需求和运营效率之间的平衡。为了既获取性能又兼具效率,新型异构计算架构势在必行,其中,作为加速器的FPGA(英文:Field Programmable Gate Array,中文:现场可编程门阵列)正成为数据中心加速应用的主流。
在目前的FPGA卡的架构中,参见图1,是本发明实施例提供的一种目前FPGA与服务器互联架构示意图,如图1所示,FPGA卡通常一端通过PCIE(英文:Peripheral ComponentInterconnect Express,中文:高速串行计算机扩展总线)金手指与服务器端的HOST(中文:主机)相连,另一端FPGA外部连接着存储器External Memory2,包括但不限于DDR(英文:Double Data Rate,中文:双倍速率同步动态随机存储器)等器件。在FPGA卡内,BSP(英文:Board Support Package,中文:加速基本功能逻辑支持包)部分的功能是实现FPGA卡的Kernel(中文:FPGA加速算法实现单元)与服务器端的HOST的联通,Kernel部分是通过FPGA硬件逻辑实现硬件加速功能的模块,而且在服务器端HOST还与存储器Memory1互联。在这样的***架构中,FPGA卡能够与服务器端的HOST进行信息交互,并可相互访问包括ExternalMemory2和Memory1的存储器。
然而,发明人通过研究发现,当一台或者多台服务器中插有多块FPGA卡,这时对于服务器而言,就存在很多的存储资源,包括FPGA卡内部的存储器,以及与其互联的外部存储器,如何管理动态有效使用这些存储资源成为一个***性的问题。针对存储资源的管理使用,目前通常使用固化逻辑的形式,即在初次分配存储资源的时候,由FPGA固化,每次改动存储资源的使用,需要重现改动烧写FPGA逻辑,这样,存在的问题是FPGA加速板卡只能使用本板卡的逻辑,没有充分使用整个***闲置的存储空间,不能实现动态可重构、一致性的使用整个***的存储空间资源。
因此,如何能够时间存储资源的动态重构,提升资源使用效率是本领域技术人员亟需解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储资源控制方法、装置及电子设备,用于解决现有技术中存储资源难以动态重构、资源使用效率低的问题。
为实现上述目的及其他相关目的,根据本发明的第一方面,本发明实施例提供一种存储资源控制方法,该方法包括以下步骤:
第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
可选地,所述第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,包括:
第一FPGA卡获取待运行程序的带宽请求值;
第一FPGA卡根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;
其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
可选地,所述第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,包括:
第一FPGA卡获取待运行程序的优先级;
第一FPGA卡根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;
其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
可选地,第一FPGA卡将更新后的第一资源表发送到第二FPGA卡之前,该方法还包括:
第一FPGA卡向第二FPGA卡发送第一指令,以指示第二FPGA卡禁止修改第二资源表。
可选地,该方法还包括:
第一FPGA卡获取第二FPGA卡的优先级;
当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FGPA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
根据本发明的第二方面,本发明实施例还提供一种存储资源控制装置,该装置包括:
分配模块,用于根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
发送模块,用于将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
获取模块,用于获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
更新模块,用于根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
可选地,所述分配模块用于,
获取待运行程序的带宽请求值;
根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;
其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
可选地,所述分配模块用于,
获取待运行程序的优先级;
根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;
其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
可选地,所述发送模块还用于,
将更新后的第一资源表发送到第二FPGA卡之前,向第二FPGA卡发送第一指令,以指示第二FPGA卡禁止修改第二资源表;或者,
获取第二FPGA卡的优先级
当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FGPA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
根据本发明的第三方面,本发明实施例还提供一种电子设备,所述电子设备包括第一FPGA卡和第二FPGA卡,
第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
如上所述,本发明实施例提供的一种存储资源控制方法、装置及电子设备,具有以下有益效果:第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。通过配置共享的资源表,各个FPGA之间可以进行有效沟通,实现整个***的存储资源的动态配置,有效提高存储资源的使用效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种目前FPGA与服务器互联架构示意图;
图2是本发明实施例提供的包括多块FPGA卡和多个服务器端的互联架构示意图;
图3是本发明实施例提供的一种FPGA卡的结构示意图;
图4是本发明实施例提供的一种存储资源控制方法的流程示意图;
图5是本发明实施例提供的一种资源分配方法的流程示意图;
图6是本发明实施例提供的另一种资源分配方法的流程示意图;
图7是本发明实施例提供的一种资源表共享控制方法流程示意图;
图8是本发明实施例提供的一种存储资源控制装置的结构示意图;
图9是本发明实施例提供的执行存储资源控制方法的电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参阅图1至图9。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参见图2,是本发明实施例提供的包括多块FPGA卡和多个服务器端的互联架构示意图。如图2所示,服务器1端与第一FPGA卡之间互联,服务器2端与第二FPGA卡之间互联,服务器N-1端与第(N-1)FPGA卡之间互联,服务器N端与第(N)FPGA卡之间互联,其中N为自然数,各个服务器端与相应的FPGA卡的互联形式可参见图1所示架构的描述在此不再赘述。同时,各个FPGA卡之间也进行互联并实现信息交互,在本发明实施例中,第一FPGA卡与第二FPGA卡之间互联,第一FPGA卡还与第(N-1)FGPA卡互联,第二FPGA卡与第(N)FPGA卡互联,第(N-1)FPGA卡与第(N)FPGA卡互联。服务器端与FPGA卡之间、以及FPGA卡之间互联的方式可以使用以太网光口的形式,在本发明实施例中不做限定。另外,服务器1端内部还配置有存储器Memory1_1,第一FPGA卡还与存储器External Memory2_1互联,服务器2端内部还配置有存储器Memory1_2,第二FPGA卡还与存储器External Memory2_2互联,服务器N-1端内部还配置有存储器Memory1_N-1,第(N-1)FPGA卡还与存储器External Memory2_N-1互联,服务器N端内部还配置有存储器Memory1_N,第(N)FPGA卡还与存储器External Memory2_N互联。
参见图3,是本发明实施例提供的一种FPGA卡的结构示意图,如图3所示,在FPGA卡中由逻辑(包括但不限于verilog或者VHDL等硬件描述语言)实现存储资源代理管理模块(Memory Control Adapter),此模块有一个用来记录***中存储资源信息的寄存器称为记录重构寄存器,这个寄存器记录着***的存储资源的情况。其中,该存储资源的情况可以使用资源表的形式进行描述,例如将包括服务器端内部和FPGA卡内部以及互联存储器的标识、读写权限、读写速度以及优先级等。这个模块在架构上一端和HOST服务器端相连(包括但不限于PCIE的接口形式),一端FPGA其他模块相联通(包括但不限于Kernel加速模块),另外和FPGA内部存储资源(包括但不限于on_chip ram、rom等)以及FPGA外部存储资源External Momory2(包括但不限于DDR等器件)相联通。本发明实施例中第一FPGA卡、第二FPGA卡、第(N-1)FPGA卡以及第(N)FPGA卡均具有图3所示的结构。
本发明实施例将结合图2和图3所示的架构,以2个FPGA卡和2个服务器端构成的***为例详细描述***内存储资源的控制方法,当然需要说明的是,上述架构仅是一示例性的架构,本发明实施例提供的存储资源控制方法还可以应用于例如一台服务器上配置多块FPGA卡等,以及多个服务器端和多块FPGA卡互联等其他任意架构的场景,在本发明实施例中不再赘述。
参见图4,是本发明实施例提供的一种存储资源控制方法的流程示意图,如图4所示,本发明实施例示出了第一FPGA卡中的存储资源代理管理模块执行该存储资源控制方法的过程:
步骤S101:第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表。
为了实现FPGA卡的资源配置精确性,满足不同程序或业务的需求,在第一种实施情况下,参见图5,是本发明实施例提供的一种资源分配方法的流程示意图,如图5所示,该方法包括以下步骤:
步骤S1011:第一FPGA卡获取待运行程序的带宽请求值。
第一FPGA卡可以获取待运行程序的带宽请求值,在一示例性实施例中,例如第一FPGA卡获取到需要运行在第一FPGA卡的待运行程序的带宽请求值为100kbps。
步骤S1012:第一FPGA卡根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
第一FPGA卡查询第一资源表,在一示例性实施例中,结合图2所示的***架构,当包括第一FPGA、第二FPGA以及服务器1端和服务器2端时,该第一资源表可以包括{ExternalMemory2_1:200Kbps,占用,优先级1}、{External Memory2_2:100Kbps,空闲,优先级2}、{Memory1_1:300Kbps,空闲,优先级3}、{Memory1_2:100Kbps,占用,优先级4}。通过此第一资源表,可以看到在包括第一FPGA、第二FPGA以及服务器1端和服务器2端的***架构中,所有存储资源的情况,即与第一FPGA卡互联的External Memory2_1存储器能够满足200Kbps的读写需求,目前状态是占用,优先级是1级;同样对于其他存储资源,与第二FPGA卡互联的External Memory2_2存储器能够满足100Kbps的读写需求,目前状态是空闲,优先级是2级;服务器1端的Memory1_1存储器能够满足300Kbps的读写需求,目前状态是空闲,优先级是3级;服务器2端Memory1_2存储器能够满足100Kbps的读写需求,目前状态是占用,优先级是4级。另外,整个存储资源中,按照优先级1>优先级2>优先级3>优先级4的顺序进行优先分配。
根据上述实施例的描述,待运行程序的带宽请求值为100Kbps,ExternalMemory2_2与该带宽请求值相匹配,而且处于空闲状态,则将External Memory2_2存储器分配给第一FGPA卡上的待运行程序使用。
为了提高资源分配的效率,针对不同的程序或业务分配资源,参见图6,是本发明实施例提供的另一种资源分配方法的流程示意图,如图6所示,该方法包括以下步骤:
步骤S1013:第一FPGA卡获取待运行程序的优先级。
在一示例性实施例中,第一FPGA卡获取待运行程序的优先级为优先级3。
步骤S1014:第一FPGA卡根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
同样,根据上述实施例描述的第一资源表,可以判断Memory1_1存储器处于空闲状态,而且与待运行程序的优先级相同,则第一FPGA卡将Memory1_1存储器分配给待运行程序使用。
另外,为了实现第一资源表和第二资源表的共享,防止发生资源分配冲突,在第一种实施情况下,在第一FPGA卡分配资源、执行后续步骤之前,还可以向第二FPGA卡发送第一指令,该第一指令用于指示第二FPGA卡禁止修改第二资源表。在具体实施时,第二资源表具有与第一资源表相同的形式或结构,并且第一资源表和第二资源表需要在资源分配过程中保持共享和信息一致。
在第二种实施情况下,参见图7,是本发明实施例提供的一种资源表共享控制方法流程示意图,如图7所示,该方法包括:
步骤S1015:第一FPGA卡获取第二FPGA卡的优先级。
在一示例性实施例中,可以建立第一FPGA卡和第二FPGA卡的优先级等级,以不同优先级的FPGA卡分配使用资源。
步骤S1016:当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FPGA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
当第一FPGA卡接收到来自第二FPGA卡的更新消息,表征第二FPGA卡也在请求资源,第一FPGA卡与第二FPGA卡之间可能存在资源请求冲突,进一步当第二FPGA卡的优先级大于第一FPGA卡的优先级时,表示第二FPGA卡具有更高的优先级,则第一FPGA卡向第二FPGA卡发送第二指令,以指示第二FPGA允许修改第二资源表,同时第一FPGA卡等待第二FPGA卡更新完成后,进行资源配置以及第一资源表的更新。
当第一FPGA卡的优先级大于第二FPGA卡的优先级时,则可以向第二FPGA卡发送第一指令,已指示第二FPGA卡禁止修改第二资源表,即暂停第二FPGA进行存储资源分配,以避免冲突。
步骤S102:第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表。
当第一FPGA卡资源分配完成后,更新第一资源表。根据上述实施例的描述,当将External Memory2_2存储器分配给第一FGPA卡上的待运行程序使用时,第一资源表被更新为{External Memory2_1:200Kbps,占用,优先级1}、{External Memory2_2:100Kbps,占用,优先级2}、{Memory1_1:300Kbps,空闲,优先级3}、{Memory1_2:100Kbps,占用,优先级4},进一步将更新后的第一资源表发送到第二资源表,以使第二FPGA卡上的第二资源表保持信息一致。
步骤S103:第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表。
同样地,当第二FPGA卡进行资源分配后,也需要将更新后的第二资源表发送到第一FPGA卡,以保证第一FPGA卡上的第一资源表与第二FPGA卡上的第二资源表信息一致。
步骤S104:第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表。
第一FPGA卡根据获取到的待更新的第二资源表,更新第一资源表。在一示例性实施例中,当第二FPGA卡将Memory1_1的存储器分配使用后,第二资源表更新为{ExternalMemory2_1:200Kbps,占用,优先级1}、{External Memory2_2:100Kbps,空闲,优先级2}、{Memory1_1:300Kbps,占用,优先级3}、{Memory1_2:100Kbps,占用,优先级4}。进一步,第一FPGA卡根据步骤S103接收到的更新消息,将第一资源表更新为第二资源表一致的内容,以保持信息一致。
当然需要说明的是,本发明实施例仅以由2个FPGA卡构成的***为例,并以第一FPGA卡作为实施主体描述存储资源的控制方法,不代表本发明实施例的执行主体被限制在第一FPGA卡。在具体实施时,一个***中的任意一个FPGA卡均可以作为实施主体实施上述方法,在本发明实施例中不做限定。
由上述实施例的描述可见,本发明实施例提供的一种存储资源控制方法,第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。通过配置共享的资源表,各个FPGA之间可以进行有效沟通,实现整个***的存储资源的动态配置,有效提高存储资源的使用效率。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
与本发明提供的存储资源控制方法实施例相对应,本发明还提供了一种存储资源控制装置。
参见图8,是本发明实施例提供的一种存储资源控制装置的结构示意图,如图8所示,该装置包括:
分配模块11,用于根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
发送模块12,用于将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
获取模块13,用于获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
更新模块14,用于根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
在第一种实施情况下,所述分配模块11还可以用于,获取待运行程序的带宽请求值;
根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;
其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
在第二种实施情况下,所述分配模块11还可以用于,获取待运行程序的优先级;
根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;
其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
另外,所述发送模块12还可以用于,将更新后的第一资源表发送到第二FPGA卡之前,向第二FPGA卡发送第一指令,以指示第二FPGA卡禁止修改第二资源表。
或者,所述发送模块12还可以用于,获取第二FPGA卡的优先级
当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FGPA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
本发明实施例与上述实施例相同之处,可参见上述实施例的描述,在此不再赘述。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的存储资源控制方法。
本发明实施例还提供一种电子设备,该电子设备包括至少第一FPGA卡和第二FPGA卡,该第一FPGA卡和第二FPGA卡具有如图3所示的架构,同时可以执行上述方法实施例所描述的资源控制方法,具有相同的技术效果,在本发明实施例中不再赘述。
图9是本发明实施例提供的执行存储资源控制方法的电子设备的硬件结构示意图,如图9所示,该设备包括:
一个或多个处理器910以及存储器920,图9中以一个处理器910为例。
执行存储资源控制方法的设备还可以包括:输入装置930和输出装置940。
处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器920作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的存储资源控制方法对应的程序指令/模块(例如,附图8所示的分配模块11、发送模块12、获取模块13和更新模块14)。处理器910通过运行存储在存储器920中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例存储资源控制方法。
存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据存储资源控制装置的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至存储资源控制装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置930可接收输入的数字或字符信息,以及产生与存储资源控制装置的用户设置以及功能控制有关的键信号输入。输出装置940可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器920中,当被所述一个或者多个处理器910执行时,执行上述任意方法实施例中的存储资源控制方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种存储资源控制方法,其特征在于,包括以下步骤:
第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
2.根据权利要求1所述的存储资源控制方法,其特征在于,所述第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,包括:
第一FPGA卡获取待运行程序的带宽请求值;
第一FPGA卡根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;
其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
3.根据权利要求1所述的存储资源控制方法,其特征在于,所述第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,包括:
第一FPGA卡获取待运行程序的优先级;
第一FPGA卡根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;
其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
4.根据权利要求1所述的存储资源控制方法,其特征在于,第一FPGA卡将更新后的第一资源表发送到第二FPGA卡之前,还包括:
第一FPGA卡向第二FPGA卡发送第一指令,以指示第二FPGA卡禁止修改第二资源表。
5.根据权利要求4所述的存储资源控制方法,其特征在于,还包括:
第一FPGA卡获取第二FPGA卡的优先级;
当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FGPA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
6.一种存储资源控制装置,其特征在于,包括:
分配模块,用于根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
发送模块,用于将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
获取模块,用于获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
更新模块,用于根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
7.根据权利要求6所述的存储资源控制装置,其特征在于,所述分配模块用于,
获取待运行程序的带宽请求值;
根据所述带宽请求值,从所述第一资源表中选择空闲的、与所述带宽请求值相匹配的存储资源;
其中,所述第一资源表包括按照读写操作速度排序的存储资源的记录。
8.根据权利要求6所述的存储资源控制装置,其特征在于,所述分配模块用于,
获取待运行程序的优先级;
根据所述优先级,从所述第一资源表中选择空闲的、与所述优先级相匹配的存储资源;
其中,所述第一资源表包括按照读写优先级排序的存储资源的记录。
9.根据权利要求6所述的存储资源控制装置,其特征在于,所述发送模块还用于,
将更新后的第一资源表发送到第二FPGA卡之前,向第二FPGA卡发送第一指令,以指示第二FPGA卡禁止修改第二资源表;或者,
获取第二FPGA卡的优先级
当第一FPGA卡接收到来自第二FPGA卡的更新消息、且第二FPGA卡的优先级大于第一FGPA卡的优先级时,向第二FPGA卡发送第二指令,以指示第二FPGA卡允许修改第二资源表。
10.一种电子设备,其特征在于,所述电子设备包括第一FPGA卡和第二FPGA卡,
第一FPGA卡根据存储在第一寄存器的第一资源表使用存储资源,并更新第一资源表;
第一FPGA卡将更新后的第一资源表发送到第二FPGA卡,以指示第二FPGA卡根据所述更新后的第一资源表更新存储在第二寄存器的第二资源表;
第一FPGA卡获取来自第二FPGA卡的更新消息,所述更新消息携带有待更新的第二资源表;
第一FPGA卡根据获取到的待更新的第二资源表,更新所述第一资源表;
其中,所述第一寄存器配置于第一FPGA卡,所述第二寄存器配置于第二FPGA卡,所述第一资源表和所述第二资源表均包括服务器***中所有存储资源的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811444821.9A CN109542625A (zh) | 2018-11-29 | 2018-11-29 | 一种存储资源控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811444821.9A CN109542625A (zh) | 2018-11-29 | 2018-11-29 | 一种存储资源控制方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542625A true CN109542625A (zh) | 2019-03-29 |
Family
ID=65852034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811444821.9A Withdrawn CN109542625A (zh) | 2018-11-29 | 2018-11-29 | 一种存储资源控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542625A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112469004A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 一种基站切换方法及装置 |
WO2021047120A1 (zh) * | 2019-09-12 | 2021-03-18 | 苏州浪潮智能科技有限公司 | 一种fpga异构加速卡集群中的资源调度方法、设备及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802590A (en) * | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
US20060179196A1 (en) * | 2005-02-04 | 2006-08-10 | Microsoft Corporation | Priority registers for biasing access to shared resources |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及*** |
CN102905371A (zh) * | 2011-07-27 | 2013-01-30 | 普天信息技术研究院有限公司 | 一种快速分配频域资源的方法 |
CN103797770A (zh) * | 2012-12-31 | 2014-05-14 | 华为技术有限公司 | 一种共享存储资源的方法和*** |
CN104363175A (zh) * | 2014-11-21 | 2015-02-18 | 迈普通信技术股份有限公司 | 一种资源表构建方法和装置 |
US20170083466A1 (en) * | 2015-09-22 | 2017-03-23 | Cisco Technology, Inc. | Low latency efficient sharing of resources in multi-server ecosystems |
US20170192819A1 (en) * | 2015-12-31 | 2017-07-06 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for resource allocation |
CN107861888A (zh) * | 2017-11-08 | 2018-03-30 | 郑州云海信息技术有限公司 | Fpga卡用ddr的方法、***、装置及可读存储介质 |
CN108228518A (zh) * | 2018-01-03 | 2018-06-29 | 山东超越数控电子股份有限公司 | 一种fpga集群的管理***及其应用 |
US20180330111A1 (en) * | 2014-09-22 | 2018-11-15 | Sebastian Käbisch | Device with communication interface and method for controlling database access |
-
2018
- 2018-11-29 CN CN201811444821.9A patent/CN109542625A/zh not_active Withdrawn
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802590A (en) * | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
US20060179196A1 (en) * | 2005-02-04 | 2006-08-10 | Microsoft Corporation | Priority registers for biasing access to shared resources |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102905371A (zh) * | 2011-07-27 | 2013-01-30 | 普天信息技术研究院有限公司 | 一种快速分配频域资源的方法 |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及*** |
CN103797770A (zh) * | 2012-12-31 | 2014-05-14 | 华为技术有限公司 | 一种共享存储资源的方法和*** |
US20180330111A1 (en) * | 2014-09-22 | 2018-11-15 | Sebastian Käbisch | Device with communication interface and method for controlling database access |
CN104363175A (zh) * | 2014-11-21 | 2015-02-18 | 迈普通信技术股份有限公司 | 一种资源表构建方法和装置 |
US20170083466A1 (en) * | 2015-09-22 | 2017-03-23 | Cisco Technology, Inc. | Low latency efficient sharing of resources in multi-server ecosystems |
US20170192819A1 (en) * | 2015-12-31 | 2017-07-06 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for resource allocation |
CN107861888A (zh) * | 2017-11-08 | 2018-03-30 | 郑州云海信息技术有限公司 | Fpga卡用ddr的方法、***、装置及可读存储介质 |
CN108228518A (zh) * | 2018-01-03 | 2018-06-29 | 山东超越数控电子股份有限公司 | 一种fpga集群的管理***及其应用 |
Non-Patent Citations (4)
Title |
---|
ELIO STROLLO 等: "A shared memory, parameterized and configurable in FPGA, for use in multiprocessor systems", 《2016 MIXDES - 23RD INTERNATIONAL CONFERENCE MIXED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
VIACHESLAV V. SKVORTSOV 等: "Sharing resources in heterogeneous multitasking computer systems based on FPGA with the use of partial reconfiguration", 《2018 IEEE CONFERENCE OF RUSSIAN YOUNG RESEARCHERS IN ELECTRICAL AND ELECTRONIC ENGINEERING (EICONRUS)》 * |
刘宇等: "一种动态连接存储资源和计算资源装置的设计与实现", 《计算机科学》 * |
葛立扬 等: "基于FPGA的移动DTV调制***的数字通信", 《电子技术应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112469004A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 一种基站切换方法及装置 |
WO2021047120A1 (zh) * | 2019-09-12 | 2021-03-18 | 苏州浪潮智能科技有限公司 | 一种fpga异构加速卡集群中的资源调度方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301022A (zh) | 一种基于容器技术的存储访问方法及*** | |
CN109634748A (zh) | 集群资源调度方法、装置、设备及计算机可读存储介质 | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
CN110650347B (zh) | 多媒体数据的处理方法及装置 | |
CN107924340A (zh) | 资源配置***、资源配置方法以及资源配置程序 | |
US20150347305A1 (en) | Method and apparatus for outputting log information | |
US20180152392A1 (en) | Hybrid cloud management | |
CN108964968A (zh) | 一种容器云环境下的服务接入管理方法和*** | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
US20160378754A1 (en) | Fast query processing in columnar databases with gpus | |
CN103593485B (zh) | 实现数据库实时操作的方法和设备 | |
CN109151824A (zh) | 一种基于5g架构的图书馆数据服务扩展***及方法 | |
CN104156381A (zh) | Hadoop分布式文件***的副本存取方法、装置和Hadoop分布式文件*** | |
CN109150608A (zh) | 用于语音对话平台的接口服务升级方法及*** | |
CN110166507A (zh) | 多资源调度方法和装置 | |
CN109542625A (zh) | 一种存储资源控制方法、装置及电子设备 | |
CN103294556A (zh) | 用于主机***准入控制的方法和*** | |
CN107678789A (zh) | Ui界面的更新方法及装置 | |
CN111159265B (zh) | 一种etl数据迁移方法和*** | |
CN109032788A (zh) | 预留资源池动态调度方法、装置、计算机设备及存储介质 | |
CN105009115B (zh) | 获取网络资源的方法和装置 | |
CN110286981A (zh) | 虚拟云桌面服务器的使用状态的显示方法及显示*** | |
CN106856441A (zh) | Nfvo中的vim选择方法和装置 | |
CN103631645A (zh) | 一种基于数字医疗的数字家庭中间件*** | |
CN104769552A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190329 |