CN111352735A - 数据加速方法、装置、存储介质及设备 - Google Patents
数据加速方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN111352735A CN111352735A CN202010124620.1A CN202010124620A CN111352735A CN 111352735 A CN111352735 A CN 111352735A CN 202010124620 A CN202010124620 A CN 202010124620A CN 111352735 A CN111352735 A CN 111352735A
- Authority
- CN
- China
- Prior art keywords
- acceleration
- units
- data
- unit
- 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.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 597
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000003068 static effect Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 10
- 239000002609 medium Substances 0.000 description 12
- 230000006978 adaptation Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000013307 optical fiber Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000001816 cooling Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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
- 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)
- Power Sources (AREA)
Abstract
本发明实施例公开了数据加速方法、装置、存储介质及设备。该方法包括:获取加速需求信息,加速需求信息中包含已申请的加速任务的数量和每个加速任务对应的加速业务类型;根据加速需求信息和多个加速单元的状态信息,确定多个加速单元的配置策略;依据配置策略控制多个加速单元针对加速需求信息执行相应的加速任务。通过采用上述技术方案,在数据加速设备中设置多个加速单元,根据已申请的加速任务的数量和每个加速任务对应的加速业务类型对多个加速单元进行动态配置,提升数据加速方案的灵活性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及数据加速方法、装置、存储介质及设备。
背景技术
随着大数据时代的降临,在商业、经济、物联网及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉。准确、高效地从大数据中挖掘出潜在的有用信息进而支持决策变得越发重要,并逐步成为数据科学领域关注的热点。基于x86架构的中央处理器(Central Processing Unit,CPU)的处理速率已经满足不了很多业务的需求,比如深度学习模型需要极为大量的数据和计算能力,从而提出了大数据加速的概念。
现有的解决方案使用图像处理单元(Graphics Processing Unit,GPU),尽管GPU对深度学***台可以达到较高的性能功耗比,基于FPGA的大数据加速的案例也越来越多。但当存在多种业务需求时,目前的数据加速方案不够灵活,需要改进。
发明内容
本发明实施例提供了数据加速方法、装置、存储介质及设备,可以优化现有的数据加速方案。
第一方面,本发明实施例提供了一种数据加速方法,应用于数据加速设备,所述数据加速设备中包括多个加速单元,所述方法包括:
获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
第二方面,本发明实施例提供了一种数据加速装置,集成于数据加速设备,所述数据加速设备中包括多个加速单元,所述装置包括:
加速需求获取模块,用于获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
配置策略确定模块,用于根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
加速控制模块,用于依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的数据加速方法。
第四方面,本发明实施例提供了一种数据加速设备,包括电源管理单元、通信接口、处理单元、存储单元、多个加速单元以及存储在存储单元上并可在处理单元上运行的计算机程序;
其中,所述通信接口用于与申请加速任务的服务器进行通信;
所述处理单元执行所述计算机程序时实现本发明实施例提供的数据加速方法。
本发明实施例中提供的数据加速方案,获取加速需求信息,加速需求信息中包含已申请的加速任务的数量和每个加速任务对应的加速业务类型,根据加速需求信息和多个加速单元的状态信息,确定多个加速单元的配置策略,依据配置策略控制多个加速单元针对加速需求信息执行相应的加速任务。通过采用上述技术方案,在数据加速设备中设置多个加速单元,根据已申请的加速任务的数量和每个加速任务对应的加速业务类型对多个加速单元进行动态配置,提升数据加速方案的灵活性。
附图说明
图1为本发明实施例提供的一种数据加速方法的流程示意图;
图2为本发明实施例提供的又一种数据加速方法的流程示意图;
图3为本发明实施例提供的另一种数据加速方法的流程示意图;
图4为本发明实施例提供的一种效率权衡算法示意图;
图5为本发明实施例提供的另一种数据加速方法的流程示意图;
图6为本发明实施例提供的一种数据加速装置的结构框图;
图7为本发明实施例提供的一种数据加速设备的结构框图;
图8为本发明实施例提供的一种加速单元的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本发明实施例提供的一种数据加速方法的流程示意图,该方法可以由数据加速装置执行,其中该装置可由软件和/或硬件实现,一般可集成在数据加速设备中,数据加速设备中包括多个加速单元。如图1所示,该方法包括:
步骤101、获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型。
示例性的,提出数据加速服务申请的设备可以是服务器,又称host。现有技术中,用于提供数据加速服务的装置,如FPGA加速卡,一般内置于服务器内,而局限于FPGA加速板卡重配置接口对用户的不开放以及服务器主机内部接口的有限,如高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)接口,导致加速服务配置灵活性较差。本发明实施例中的数据加速设备可以是独立外挂设备,可在不改变服务器原有结构的前提下,快速实现数据加速设备与服务器的对接,由于是独立设备,可快速与服务器对接实现加速资源的扩充,无需服务器升级硬件。可选的,可采用光纤接口实现数据加速设备与服务器的通信,也即接口形态为光纤接口,保证较高的数据传输效率。示例性的,host申请加速时需要将加速业务类型发送给数据加速设备,host与数据加速设备之间遵循约定的接口协议。host提出数据加速服务申请时,数据加速设备根据该申请确定相应的加速任务,每个加速任务对应着固定的加速业务类型,加速任务也可称为加速业务。
本发明实施例中,加速单元的具体数量不做限定,可根据实际需求进行设置,可灵活应对用户对成本或效率的关注。加速单元可以基于FPGA开发,具体结构不做限定。加速单元中可预置加速算法,也可通过动态配置重配置加载新的加速算法,加速算法一般与加速业务类型对应,可根据具体需求进行设置。对于预置的加速算法来说,具体的算法种类和数量不做限定,例如可以是四种。
示例性的,加速需求信息中包含已申请的加速任务的数量和每个加速任务对应的加速业务类型(也即所要进行的加速业务类型)。加速需求信息可存储在数据加速设备的预设寄存器中,在本发明实施例中可以称为host寄存器,用于表示处理与host相关数据。可选的,在需要获取加速需求信息时,可立即读取host寄存器。
在一些实施例中,可以在检测到新的加速任务申请时获取加速需求信息,也可以在检测到已进行的加速任务完成时获取加速需求信息。这样设置的好处在于,及时地重新确定多个加速单元的配置策略,有业务结束时不会让某些加速单元闲置,有新业务申请时也不会让新host处于等待状态,将发挥出更高的效率。
步骤102、根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略。
示例性的,状态信息可包括能够参与加速任务的加速单元的数目、位置编号以及目前支持的加速业务类型等信息。可选的,可以通过自检的方式对状态信息进行更新,自检可以规避因某一加速单元的损坏而导致加速资源的分配出现问题,为加速服务做好准备。例如,可以在检测到上电复位时对加速单元进行自检,也可在检测到不存在数据加速任务时(也即处于空闲状态时)对加速单元进行自检。示例性的,在检测到不存在数据加速任务时,基于预设自检规则对所述多个加速单元进行自检,以更新所述多个加速单元的状态信息。预设自检规则例如可以是定期自检。完成所有加速服务且未收到新的加速申请,空闲计时器值自动累加,空闲计数器值达到阈值即触发自检流程。空闲计数器值累加过程中,若接收到新任务申请,空闲计时器立即清零。自检流程短,即使自检过程中接收到新任务申请,host处于等待的时间也很短。
示例性的,本发明实施例中的多个加速单元可以全部为静态加速单元,也可以全部为动态加速单元,也可以包含部分静态加速单元和部分动态加速单元。静态加速单元对应的加速业务类型固定,动态加速单元对应的加速业务类型支持重新配置。可以根据加速需求信息和多个加速单元的状态信息,确定具体由哪个或哪些加速单元来执行已申请的某个加速任务,得到多个加速单元的配置策略。示例性的,可以先根据加速业务类型裁决每个加速任务对应的加速单元的单元数,再按照效率权衡算法将加速单元分配给各个加速任务。对于动态加速单元来说,可以进行业务类型适配,对于静态加速单元来说,可以省略适配流程。
步骤103、依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
示例性的,接收host发送的加速任务对应的任务数据,按照配置策略将任务数据分发至对应的加速单元,控制加速单元利用与加速业务类型对应的加速算法执行相应的加速任务。
可选的,本步骤可具体包括:依据所述配置策略对所述加速任务对应的数据并行进行分割,并将分割后的数据分发给所述多个加速单元,以指示所述多个加速单元并行基于所接收到的数据进行相应的加速处理。对多个加速业务并行进行分割,分割方法与加速业务类型有关,分割后的数据依次发给已分配的加速单元做并行处理。每个业务的数据都通过光纤接口发送给数据加速设备,业务数据的分割可以使每个加速单元都收到同样大小的数据块,这样分配给某个加速业务的加速单元都承担了相同数据量的处理工作,这也方便数据加速设备完成各个加速单元的输出数据的拼接工作。
本发明实施例中提供的数据加速方案,获取加速需求信息,加速需求信息中包含已申请的加速任务的数量和每个加速任务对应的加速业务类型,根据加速需求信息和多个加速单元的状态信息,确定多个加速单元的配置策略,依据配置策略控制多个加速单元针对加速需求信息执行相应的加速任务。通过采用上述技术方案,在数据加速设备中设置多个加速单元,根据已申请的加速任务的数量和每个加速任务对应的加速业务类型对多个加速单元进行动态配置,提升数据加速方案的灵活性。
图2为本发明实施例提供的又一种数据加速方法的流程示意图,本发明实施例在上述各可选实施例基础上进行优化。
示例性的,所述多个加速单元中包含多个静态加速单元和至少一个动态加速单元,所述多个静态加速单元对应的加速业务类型固定,所述状态信息中包含能够参与加速的加速单元的总数量。所述根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略,包括:获取每个所述加速任务对应的加速业务类型的预设权重因子,其中,所述预设权重因子的数值与对应的加速业务类型的复杂程度相关;根据所述预设权重因子和所述总数量为每个所述加速任务分配对应的加速单元集合,其中,所述加速单元集合中包含至少一个静态加速单元。这样设置的好处在于,能够实现加速单元的高效分配,在合理处理多host对共享的加速资源的竞争的基础上,最大程度地追求各host的加速效率。
可选的,该方法包括:
步骤201、在检测到新的加速任务申请时或检测到已进行的加速任务完成时,获取加速需求信息。
其中,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型。检测到已进行的加速任务完成时,获取加速需求信息,加速单元的分配方案可依然参照host寄存器的值,并且在效率权衡算法的指导下进行分配,也即针对已申请单未完成的加速任务,重新进行加速单元的分配。
步骤202、获取每个加速任务对应的加速业务类型的预设权重因子,其中,预设权重因子的数值与对应的加速业务类型的复杂程度相关。
示例性的,本发明实施例中所涉及的效率权衡算法的核心是静态预留以及动态调度,其原理是根据各加速业务的运行频率选定比例并将所有的加速单元按照这个比例划分为静态加速单元和动态加速单元,可以为每个加速业务预先分配固定的静态加速单元,静态加速单元可以快速响应并执行新的加速业务,动态加速单元可以通过重配置快速扩充加速业务可调用的硬件资源。可选的,为每个加速业务运行频率可以根据已处理过的业务进行统计得知。例如,在多host同时加速的情况下,各host会分别有很多业务运行过,统计可以得知有些业务运行的次数多,有些运行的次数少,进而得知每个加速业务对应的运行频率。效率权衡算法可以为不同的加速业务分配权重因子,权重因子的大小与业务复杂程度相关,若单个加速单元完成加速任务的时间越长则权重因子越大,参与不同加速业务的加速单元的数目的分配与权重因子有关。权重因子的具体数值可以在使用过程中动态调整。
步骤203、根据预设权重因子和能够参与加速的加速单元的总数量为每个加速任务分配对应的加速单元集合,得到所述多个加速单元的配置策略,其中,加速单元集合中包含至少一个静态加速单元。
示例性的,对于第一加速任务,若所述第一加速任务对应的加速单元集合中包含动态加速单元,则在确定所包含的动态加速单元当前支持的加速业务类型与所述第一加速任务不匹配时,对所包含的动态加速单元进行重新配置。其中,第一加速任务可以为所述已申请的加速任务中的任意一个任务。为满足多种业务的加速需求,若加速单元被分配执行某一加速任务,加速单元工作前需要与加速任务的加速业务类型进行适配。适配主要为查验加速单元当前支持的业务类型与加速业务类型是否一致,若不一致,则立即对加速单元重配置以满足需求。效益权衡算法将加速单元分为静态加速单元和动态加速单元,因每种加速业务都有对应的静态加速单元,故分配给某种加速业务的静态加速单元肯定支持这种加速业务且可以跳过适配,而动态加速单元则需要进行适配的工作。
可选的,动态加速单元中包含FPGA和复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)。所述对所包含的动态加速单元进行重新配置,包括:通过所包含的动态加速单元中的CPLD获取所述第一加速任务对应的加速业务类型的配置文件,并将所述配置文件载入对应的FPGA内部存储空间中,以实现对所包含的动态加速单元的重新配置。这样设置的好处在于,能够快速实现动态加速单元的重新配置。具体的,若本地保存的配置文件对应的加速业务不满足新业务需求,FPGA先通过PCIe接口接收配置数据,然后转发给CPLD,CPLD将配置数据存储到外部的RAM和FLASH,最后CPLD独立完成FPGA的重配置;若本地保存的配置文件对应的加速业务满足需求,CPLD从FLASH中读取合适的配置文件,然后对FPGA进行重配置。
步骤204、依据配置策略对加速任务对应的数据并行进行分割,并将分割后的数据分发给多个加速单元,以指示多个加速单元并行基于所接收到的数据进行相应的加速处理。
本发明实施例中提供的数据加速方法,基于静态预留以及动态调度的思想设置静态加速单元和动态加速单元,在进行加速单元配置时,充分考虑加速业务类型的复杂程度,合理对加速单元进行分配,通过动态重配置可满足多种加速业务需求,并充分利用硬件资源,最大限度减少加速单元的闲置,提升加速灵活性以及加速效率。
图3为本发明实施例提供的另一种数据加速方法的流程示意图,为了方便描述,以大数据加速业务为例,假设有host A对应的业务A、host B对应的业务B、host C对应的业务C和host D对应的业务D,每个业务的权重因子分别为0.1、0.3、0.2、0.4,默认每个业务的执行频率相同,每个业务的静态加速单元各保留一个,其余12个加速单元全为动态加速单元。本实施例中的方法具体可以由数据加速设备中的处理单元(也可称为资源调度处理单元)执行。如图3所示,该方法可包括:
步骤301、无加速任务时定期对数据加速设备内的加速单元进行自检。
为host提供加速服务前,资源调度处理单元除了检测到上电复位时对加速单元进行自检,处于空闲状态即无加速任务时会定期进行自检。完成所有加速服务且未收到新的加速申请,空闲计时器值自动累加,空闲计数器值达到阈值即触发自检流程。自检主要获取可参与加速任务的加速单元的数目、位置编号、目前支持的加速服务类型等信息。经过自检,得知可参与加速任务的加速单元数目为16,位置编号0-15(0,1,2,3,4,…,14,15),位置编号0-3的加速单元分别支持业务A、业务B、业务C、业务D的加速,位置4-6的加速单元支持业务A,位置7-9的加速单元支持业务B,位置10-12的加速单元支持业务C,位置13-15的加速单元支持业务D。其中,位置0-3为静态加速单元,位置4-15为动态加速单元。
步骤302、刷新host寄存器,根据加速业务类型裁决参与加速的单元数。
host与本发明实施例的数据加速设备之间遵循约定的接口协议,资源调度处理单元通过光纤接口接收到host A和host C发出的加速申请,读取host寄存器后,已申请加速的host数目M为2,加速业务为业务A和业务C,故可参与业务A和业务C的加速单元总数为14。
步骤303、按照效率权衡算法将加速单元分配给各个加速业务。
图4为本发明实施例提供的一种效率权衡算法示意图,如图4所示,效率权衡算法的核心思路为,算法初始状态为等待,当资源调度处理单元检测到新业务申请或业务结束后时,首先鉴别静态加速单元和动态加速单元,按照算法预留静态单元或配置动态单元,配置动态单元时遵循效率最优原则,完成调度后回到等待状态,算法经过一段时间运行,会统计各个业务的运行频率,并根据该运行频率决策是否改变动态及静态单元的分配方案。算法在合理处理多host对共享的加速资源的竞争的基础上,最大程度地追求各host的加速效率。位置1和位置3的加速单元不参与加速本次任务,随时响应新的加速申请,位置0加速单元参与业务A加速,位置2加速单元参与业务C,其余加速单元按照1:2的比例分配给业务A和业务C,故参与业务A的加速有5个加速单元,参与业务C的加速有9个加速单元。其中,位置4-7的加速单元被分配给业务A,位置8-15的加速单元被分配给业务C。
步骤304、加速单元进行业务适配。
适配主要为查验加速单元当前支持的业务类型与加速业务类型一致,若不一致则立即对加速单元重配置以满足需求。位置0加速单元和位置2加速单元为静态加速单元,可以跳过适配,位置4-15的加速单元需进行适配。适配过程中,位置4-6和位置10-12的加速单元无需重配置,位置7的加速单元需重配置成支持业务A,位置8-9和位置13-15的加速单元需重配置成支持业务C。
步骤305、加速单元并行处理业务。
资源调度处理单元对业务A和业务C并行进行数据分割,分割后的数据依次发给已分配的加速单元做并行处理。每个业务的数据都通过光纤接口发送给资源调度处理单元,业务数据的分割使每个加速单元都收到同样大小的数据块,分配给业务A的加速单元都承担了相同数据量的处理工作,分配给业务C的加速单元也是如此。资源调度处理单元并行接收参与业务A和业务C的加速单元的返回数据,然后按时序进行拼接。
步骤306、检测到业务结束或新业务申请,重新进行加速单元的分配。
在业务A和业务C完成前,分配方案并不是固定不变的,若资源调度处理单元检测到业务B申请加速,立即重新规划加速单元分配方案。可见,已申请加速的host数目M由2变成3,为减少host B的等待,位置1加速单元立即参与业务B的加速,而参与业务A和业务C的动态加速单元数目需要在下次数据分割前调整为2和4,即参与业务A和业务C的动态加速单元数目分别减少2和4。位置6-7和位置12-15的加速单元将分配给业务B,在这些加速单元完成适配后,对业务B的数据分割进行调整以实现分发给7个加速单元。
本发明实施例提供的数据加速方法,加速单元可动态重配置满足多种加速业务需求,应对新业务需求时可避免硬件方案的改动,检测到业务结束或新业务申请,重新进行加速单元的分配,充分利用硬件资源,最大限度减少加速单元的闲置,在进行加速单元分配时运用效率权衡算法让用户获得最佳的加速体验,提升加速灵活性和加速效率。
图5为本发明实施例提供的另一种数据加速方法的流程示意图,可结合图5对上述实施例进行进一步理解。刷新host寄存器,得到已申请加速的host数据M,若M为0,则确定为空闲状态,定期对设备内的加速单元进行自检,若M不为0,则根据加速业务类型裁决参与加速任务的加速单元数n,依据效率权衡算法将加速单元分配给各个加速任务,加速单元适配后并行处理业务,当业务结束时M减值,当新host申请加速时,M加值,然后返回判断M是否为0。
图6为本发明实施例提供的一种数据加速装置的结构框图,该装置可由软件和/或硬件实现,具体集成在数据加速设备中,可通过执行数据加速方法来进行数据加速。如图6所示,该装置包括:
加速需求获取模块601,用于获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
配置策略确定模块602,用于根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
加速控制模块603,用于依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
本发明实施例中提供的数据加速装置,获取加速需求信息,加速需求信息中包含已申请的加速任务的数量和每个加速任务对应的加速业务类型,根据加速需求信息和多个加速单元的状态信息,确定多个加速单元的配置策略,依据配置策略控制多个加速单元针对加速需求信息执行相应的加速任务。通过采用上述技术方案,在数据加速设备中设置多个加速单元,根据已申请的加速任务的数量和每个加速任务对应的加速业务类型对多个加速单元进行动态配置,提升数据加速方案的灵活性。
可选的,所述获取加速需求信息,包括:
在检测到新的加速任务申请时和/或检测到已进行的加速任务完成时,获取加速需求信息。
可选的,所述装置还包括:
自检模块,用于在检测到不存在数据加速任务时,基于预设自检规则对所述多个加速单元进行自检,以更新所述多个加速单元的状态信息。
可选的,所述多个加速单元中包含多个静态加速单元和至少一个动态加速单元,所述多个静态加速单元对应的加速业务类型固定,所述状态信息中包含能够参与加速的加速单元的总数量;
所述根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略,包括:
获取每个所述加速任务对应的加速业务类型的预设权重因子,其中,所述预设权重因子的数值与对应的加速业务类型的复杂程度相关;
根据所述预设权重因子和所述总数量为每个所述加速任务分配对应的加速单元集合,得到所述多个加速单元的配置策略,其中,所述加速单元集合中包含至少一个静态加速单元。
可选的,该装置还包括:
配置模块,用于在所述根据所述预设权重因子和所述总数量为每个所述加速任务分配对应的加速单元集合之后,还包括:对于第一加速任务,若所述第一加速任务对应的加速单元集合中包含动态加速单元,则在确定所包含的动态加速单元当前支持的加速业务类型与所述第一加速任务不匹配时,对所包含的动态加速单元进行重新配置。
可选的,动态加速单元中包含现场可编程逻辑门阵列FPGA和复杂可编程逻辑器件CPLD;
所述对所包含的动态加速单元进行重新配置,包括:
通过所包含的动态加速单元中的CPLD获取所述第一加速任务对应的加速业务类型的配置文件,并将所述配置文件载入对应的FPGA内部存储空间中,以实现对所包含的动态加速单元的重新配置。
可选的,所述依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务,包括:
依据所述配置策略对所述加速任务对应的数据并行进行分割,并将分割后的数据分发给相应的加速单元,以指示所述多个加速单元并行基于所接收到的数据进行相应的加速处理。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行数据加速方法,该方法包括:
获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***。第二计算机***可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据加速操作,还可以执行本发明任意实施例所提供的数据加速方法中的相关操作。
本发明实施例提供了一种数据加速设备,该数据加速设备中可集成本发明实施例提供的数据加速装置。该数据加速设备,其特征在于,包括电源管理单元、通信接口、处理单元、存储单元、多个加速单元以及存储在存储单元上并可在处理单元上运行的计算机程序。其中,所述通信接口用于与申请加速任务的服务器进行通信;所述处理单元执行所述计算机程序时本发明实施例提供的数据加速方法。
本发明实施例提供的数据加速设备,设置多个加速单元,根据已申请的加速任务的数量和每个加速任务对应的加速业务类型对多个加速单元进行动态配置,提升数据加速方案的灵活性。
示例性的,图7为本发明实施例提供的一种数据加速设备的结构框图。数据加速设备可以包括:电源管理单元701、风冷单元702、光纤接口703、资源调度处理单元704、存储单元、PCIe接口707和加速单元708,其中,资源调度处理单元704用于执行本发明实施例的数据加速方法。
具体的,所述的电源管理单元701可包括AC-DC电路、DC-DC电路和电源滤波电路,主要满足设备工作所需的电源特性。风冷单元702用于大功率电源的散热。光纤接口703用于实现与host的数据交换。资源调度处理单元704可基于FPGA平台开发,将充分发挥并行处理的优势以追求数据的高速处理能力,主要完成加速单元的调度、加速业务数据的分割、加速处理后数据的拼接等工作,其软件核心即为本发明实施例提供的数据加速方法,合理调度加速资源以实现最佳的加速效率。存储单元主要为DDR内存705和FLASH706,分别为资源调度处理单元704提供数据缓存和数据记录。PCIe接口707用于实现资源调度处理单元704与加速单元708的数据交换。加速单元708用于实现不同的加速业务的加速服务。整个设备轻便,能同时满足四个host的加速服务需求,针对更多host的方案可按比例增加该设备。
图8为本发明实施例提供的一种加速单元的结构框图,如图4所示,加速单元基于FPGA开发,支持动态重配置。基于并行处理机制而设计的加速算法是加速单元的核心,加速算法与加速业务之间需要相互适应,不同的加速业务需要不同的加速算法。该装置满足了多种业务的加速需求,加速单元本地已存放四种加速算法,并且可通过动态重配置加载新加速算法。通过一个CPLD完成FPGA的重配置,若本地保存的配置文件对应的加速业务不满足新业务需求,FPGA先通过PCIe接口接收配置数据,然后转发给CPLD,CPLD将配置数据存储到外部的RAM和FLASH,最后CPLD独立完成FPGA的重配置;若本地保存的配置文件对应的加速业务满足需求,CPLD从FLASH中读取合适的配置文件,然后对FPGA进行重配置。另外,装置内装载的加速单元的数目在一定范围内自由可变,灵活应对用户对成本或效率的关注。加速单元数目的变化对资源调度处理单元没有影响,资源调度处理单元可自由应对,充分满足用户的使用要求。
上述实施例中提供的数据加速装置、存储介质以及数据加速设备可执行本发明任意实施例所提供的数据加速方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据加速方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据加速方法,其特征在于,应用于数据加速设备,所述数据加速设备中包括多个加速单元,所述方法包括:
获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
2.根据权利要求1所述的方法,其特征在于,所述获取加速需求信息,包括:
在检测到新的加速任务申请时和/或检测到已进行的加速任务完成时,获取加速需求信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
在检测到不存在数据加速任务时,基于预设自检规则对所述多个加速单元进行自检,以更新所述多个加速单元的状态信息。
4.根据权利要求1所述的方法,其特征在于,所述多个加速单元中包含多个静态加速单元和至少一个动态加速单元,所述多个静态加速单元对应的加速业务类型固定,所述状态信息中包含能够参与加速的加速单元的总数量;
所述根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略,包括:
获取每个所述加速任务对应的加速业务类型的预设权重因子,其中,所述预设权重因子的数值与对应的加速业务类型的复杂程度相关;
根据所述预设权重因子和所述总数量为每个所述加速任务分配对应的加速单元集合,得到所述多个加速单元的配置策略,其中,所述加速单元集合中包含至少一个静态加速单元。
5.根据权利要求4所述的方法,其特征在于,在所述根据所述预设权重因子和所述总数量为每个所述加速任务分配对应的加速单元集合之后,还包括:
对于第一加速任务,若所述第一加速任务对应的加速单元集合中包含动态加速单元,则在确定所包含的动态加速单元当前支持的加速业务类型与所述第一加速任务不匹配时,对所包含的动态加速单元进行重新配置。
6.根据权利要求5所述的方法,其特征在于,动态加速单元中包含现场可编程逻辑门阵列FPGA和复杂可编程逻辑器件CPLD;
所述对所包含的动态加速单元进行重新配置,包括:
通过所包含的动态加速单元中的CPLD获取所述第一加速任务对应的加速业务类型的配置文件,并将所述配置文件载入对应的FPGA内部存储空间中,以实现对所包含的动态加速单元的重新配置。
7.根据权利要求1所述的方法,其特征在于,所述依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务,包括:
依据所述配置策略对所述加速任务对应的数据并行进行分割,并将分割后的数据分发给相应的加速单元,以指示所述多个加速单元并行基于所接收到的数据进行相应的加速处理。
8.一种数据加速装置,其特征在于,集成于数据加速设备,所述数据加速设备中包括多个加速单元,所述装置包括:
加速需求获取模块,用于获取加速需求信息,所述加速需求信息中包含已申请的加速任务的数量和每个所述加速任务对应的加速业务类型;
配置策略确定模块,用于根据所述加速需求信息和所述多个加速单元的状态信息,确定所述多个加速单元的配置策略;
加速控制模块,用于依据所述配置策略控制所述多个加速单元针对所述加速需求信息执行相应的加速任务。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的方法。
10.一种数据加速设备,其特征在于,包括电源管理单元、通信接口、处理单元、存储单元、多个加速单元以及存储在存储单元上并可在处理单元上运行的计算机程序;
其中,所述通信接口用于与申请加速任务的服务器进行通信;
所述处理单元执行所述计算机程序时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124620.1A CN111352735A (zh) | 2020-02-27 | 2020-02-27 | 数据加速方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124620.1A CN111352735A (zh) | 2020-02-27 | 2020-02-27 | 数据加速方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111352735A true CN111352735A (zh) | 2020-06-30 |
Family
ID=71192491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010124620.1A Pending CN111352735A (zh) | 2020-02-27 | 2020-02-27 | 数据加速方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352735A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822051A (zh) * | 2021-01-06 | 2021-05-18 | 贵阳迅游网络科技有限公司 | 基于业务感知的业务加速方法 |
CN113703976A (zh) * | 2021-08-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种fpga资源分配方法、装置、设备及可读存储介质 |
CN114301756A (zh) * | 2021-12-23 | 2022-04-08 | 广州亿电邦科智能网络科技有限公司 | 一种iot设备管理***、方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577801A (zh) * | 2014-12-31 | 2016-05-11 | 华为技术有限公司 | 一种业务加速方法及装置 |
CN106445876A (zh) * | 2015-08-13 | 2017-02-22 | 阿尔特拉公司 | 基于应用的动态异构多核***和方法 |
CN107102824A (zh) * | 2017-05-26 | 2017-08-29 | 华中科技大学 | 一种基于存储和加速优化的Hadoop异构方法和*** |
CN107273331A (zh) * | 2017-06-30 | 2017-10-20 | 山东超越数控电子有限公司 | 一种基于cpu+gpu+fpga架构的异构计算***和方法 |
US20180052709A1 (en) * | 2016-08-19 | 2018-02-22 | International Business Machines Corporation | Dynamic usage balance of central processing units and accelerators |
CN110231986A (zh) * | 2019-06-18 | 2019-09-13 | 北京邮电大学 | 基于多fpga的动态可重配置的多任务调度和放置方法 |
-
2020
- 2020-02-27 CN CN202010124620.1A patent/CN111352735A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577801A (zh) * | 2014-12-31 | 2016-05-11 | 华为技术有限公司 | 一种业务加速方法及装置 |
CN106445876A (zh) * | 2015-08-13 | 2017-02-22 | 阿尔特拉公司 | 基于应用的动态异构多核***和方法 |
US20180052709A1 (en) * | 2016-08-19 | 2018-02-22 | International Business Machines Corporation | Dynamic usage balance of central processing units and accelerators |
CN107102824A (zh) * | 2017-05-26 | 2017-08-29 | 华中科技大学 | 一种基于存储和加速优化的Hadoop异构方法和*** |
CN107273331A (zh) * | 2017-06-30 | 2017-10-20 | 山东超越数控电子有限公司 | 一种基于cpu+gpu+fpga架构的异构计算***和方法 |
CN110231986A (zh) * | 2019-06-18 | 2019-09-13 | 北京邮电大学 | 基于多fpga的动态可重配置的多任务调度和放置方法 |
Non-Patent Citations (1)
Title |
---|
王益民: "《电子政务规划与设计》", 国家行政学院出版社, pages: 212 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822051A (zh) * | 2021-01-06 | 2021-05-18 | 贵阳迅游网络科技有限公司 | 基于业务感知的业务加速方法 |
CN112822051B (zh) * | 2021-01-06 | 2022-09-16 | 贵阳迅游网络科技有限公司 | 基于业务感知的业务加速方法 |
CN113703976A (zh) * | 2021-08-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种fpga资源分配方法、装置、设备及可读存储介质 |
CN113703976B (zh) * | 2021-08-27 | 2023-05-19 | 苏州浪潮智能科技有限公司 | 一种fpga资源分配方法、装置、设备及可读存储介质 |
CN114301756A (zh) * | 2021-12-23 | 2022-04-08 | 广州亿电邦科智能网络科技有限公司 | 一种iot设备管理***、方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107690622B9 (zh) | 实现硬件加速处理的方法、设备和*** | |
KR101553649B1 (ko) | 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법 | |
CN102958166A (zh) | 一种资源分配方法及资源管理平台 | |
US9619263B2 (en) | Using cooperative greedy ballooning to reduce second level paging activity | |
CN111352735A (zh) | 数据加速方法、装置、存储介质及设备 | |
US20130167152A1 (en) | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method | |
US20150112965A1 (en) | Database management system, computer, and database management method | |
CN105190567A (zh) | 用于管理存储***快照的***和方法 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
US10140161B1 (en) | Workload aware dynamic CPU processor core allocation | |
CN109976907B (zh) | 任务分配方法和***、电子设备、计算机可读介质 | |
US8213461B2 (en) | Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units | |
US10185384B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
KR20220002547A (ko) | 태스크 스케줄링 방법과 장치 | |
EP3274859B1 (en) | Cluster computing service assurance apparatus and method | |
JP2021026659A (ja) | ストレージシステム及びリソース割当て制御方法 | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
KR20130137503A (ko) | 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법 | |
CN108694083B (zh) | 一种服务器的数据处理方法和装置 | |
US11093291B2 (en) | Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost | |
JP6007516B2 (ja) | リソース配分システム、リソース配分方法、及びリソース配分プログラム | |
JP2013210833A (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
WO2011078162A1 (ja) | スケジューリング装置、スケジューリング方法及びプログラム | |
CN107430510A (zh) | 数据处理方法、装置和*** | |
US20160110221A1 (en) | Scheduling system, scheduling method, and recording medium |
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 |