硬件加速方法、装置和系统与流程

文档序号:11780309阅读:234来源:国知局
硬件加速方法、装置和系统与流程
本发明涉及存储技术,尤其涉及一种硬件加速方法、装置和系统。

背景技术:
目前的数据处理中存在很多计算密集型的处理。例如,在存储系统中,重复数据删除技术(简称“重删”)及冗余数据压缩技术(简称“压缩”)都是较常采用的有效数据缩减技术;无论重删还是压缩,均包含大量的计算密集型处理,所述的计算密集型处理例如数据分块计算、分块数据的哈希计算以及哈希值比较等,这些处理的计算量很大,会占用相当多的处理器资源,可能对其它业务的性能造成影响。为了降低所述的计算密集型处理对处理器的依赖,当前主要采用硬件加速装置来辅助处理器进行计算。现有技术的硬件加速装置,例如可以为采用现场可编程门阵列(Field-ProgrammableGateArray,简称:FPGA)芯片为核心的硬件加速卡,通过该FPGA的硬件加速卡实现重删和压缩处理的硬件加速。但是,发明人经过研究发现,当前的FPGA所存在的技术缺陷是:FPGA均是采用一种固定的配置文件,FPGA也只能实现该配置文件所对应的逻辑功能,从而只能适应该配置文件对应的重删、压缩等各功能的性能组合分配。例如,FPGA中的处理资源包括1000个逻辑单元,根据配置文件的配置,该FPGA需要分配其中200个逻辑单元用于处理重删功能,分配其中800个逻辑单元用于处理压缩功能,即重删和压缩比例为1∶4的性能组合,所述的性能组合指的是各功能所占用的加速卡的处理资源的比例。然而,实际应用中,不同用户和不同的应用环境可能导致所需求的各功能的性能组合不同,例如,某用户可能有更多的数据重删需求,重删功能的资源需求量大于压缩功能(比如需要800个逻辑单元用于处理重删,200个逻辑单元用于处理压缩),但是很显然,现有技术的加速卡设计方式不能满足用户需求;尽管可以采用生产多种性能组合的加速卡来满足上述的不同用 户需求,例如生产对应多种性能组合的加速卡(每一种加速卡仍然只采用一种固定的配置文件且只对应一种性能组合),但这必然又会增加硬件加速装置的生产及管理成本,而且,当用户的应用环境及性能组合需求变化时,必须重新购买对应变化后的需求的加速卡。

技术实现要素:
本发明的第一个方面是提供一种硬件加速装置,以通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。本发明的另一个方面是提供一种硬件加速方法,以通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。本发明的另一个方面是提供一种硬件加速系统,以通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。本发明提供的硬件加速装置,包括:业务监测单元、配置加载单元、现场可编程门阵列FPGA和配置文件存放区;所述业务监测单元,用于分别获取对应至少两种数据处理业务的业务请求量,并将所述业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较,得到与所述业务请求量对应的所述数据处理业务的性能值;所述配置文件存放区,用于存放现场可编程门阵列FPGA配置文件,所述FPGA配置文件包括分别对应不同数据处理业务的配置文件,每一种数据处理业务的配置文件包括分别对应不同的业务性能值的配置文件;所述配置加载单元,用于根据得到的所述与业务请求量匹配的所述数据处理业务的性能值,获取与所述数据处理业务的性能值匹配的FPGA配置文件,加载所述匹配的FPGA配置文件,以实现对应所述FPGA配置文件的硬件加速。本发明提供的硬件加速方法,包括:获取数据处理业务的业务请求量,并将所述业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较,得到与所述业务请求量匹配的所述数据处理业务的性能值;根据得到的所述与业务请求量匹配的所述数据处理业务的性能值,获取与所述数据处理业务的性能值匹配的FPGA配置文件,加载所述匹配的FPGA 配置文件,以实现对应所述FPGA配置文件的硬件加速;所述FPGA配置文件包括分别对应不同数据处理业务的配置文件,每一种数据处理业务的配置文件包括分别对应不同的业务性能值的配置文件。本发明提供的硬件加速系统,包括:现场可编程门阵列FPGA、以及本发明所述的硬件加速装置。本发明硬件加速装置的技术效果是:通过设置业务监测单元、配置加载单元等,业务监测单元根据获取的请求量得到对应的性能值,并指示配置加载单元加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,该业务监测单元可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。本发明硬件加速方法的技术效果是:通过根据获取的请求量得到对应的性能值,并加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。本发明硬件加速系统的技术效果是:通过根据获取的请求量得到对应的性能值,并加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。附图说明图1为本发明硬件加速装置一实施例的结构示意图;图2为本发明硬件加速装置另一实施例的结构示意图;图3为本发明硬件加速装置另一实施例中的配置文件层次设计示意图;图4为本发明硬件加速装置另一实施例的结构示意图;图5为本发明硬件加速装置又一实施例的应用示意图;图6为本发明硬件加速方法实施例的流程示意图;图7为本发明硬件加速装置实施例的一应用场景示意图;图8为本发明硬件加速装置实施例的另一应用场景示意图。具体实施方式实施例一图1为本发明硬件加速装置一实施例的结构示意图,本实施例的硬件加速装置是以FPGA为核心的硬件加速卡。如图1所示,本实施例的硬件加速装置可以包括:业务监测单元11、配置加载单元12和配置文件存放区13。其中,配置文件存放区13,用于存放多个现场可编程门阵列FPGA配置文件,所述多个FPGA配置文件包括分别对应不同数据处理业务的配置文件,每一种数据处理业务的配置文件包括分别对应不同的业务性能值的配置文件;所述的数据处理业务的性能值指的是,例如,1秒钟能对100MB原始数据进行处理,或者1秒钟能对200MB原始数据进行处理等;与所述的性能值对应的FPGA配置文件指的是,该配置文件中包括一些FPGA的配置数据,若FPGA按照所述的配置数据进行配置,就可以达到数据处理业务的性能值,例如使得压缩业务达到1秒钟处理100MB原始数据的性能。为了获得具体上述的性能,FPGA必然需要对其自身具有的处理资源进行分配,例如,1个压缩通道需要占用100份逻辑资源,且1个压缩通道只能达到20MBps处理性能。最初FPGA的1000份逻辑资源中有100份用于处理压缩业务,只能达到20MBps的处理性能,则按照上述的性能值对应的配置文件,FPGA可能就会分配500份逻辑资源用于处理压缩业务,以达到5个压缩通道,即100MBps的处理性能。所述多个FPGA配置文件包括分别对应不同数据处理业务的配置文件,每一种数据处理业务的配置文件包括分别对应不同的业务性能值的配置文件;该多个配置文件可能是对应多个不同的数据处理业务,例如,对应重删业务的配置文件、对应压缩业务的配置文件等;对于同一种数据处理业务,也包括对应该业务的不同性能值的文件,例如,对应重删业务的配置文件有 多个,其中包括对应第一性能值的配置文件(1秒钟处理100MB重删业务)、对应第二性能值的配置文件(1秒钟处理200MB重删业务)等。业务监测单元11,用于获取数据处理业务的业务请求量,并将所述业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较,得到与所述业务请求量匹配的所述数据处理业务的性能值;可选的,例如,FPGA的硬件加速卡上会同时处理至少两种数据处理业务,该数据处理业务例如包括重删、压缩、数据分块、哈希等,相当于该FPGA的硬件加速卡所具有重删、压缩、数据分块、哈希等功能。具体的,该业务监测单元11可以获取数据处理业务的业务请求量,所述的业务请求量指的是,上述的针对重删、压缩等请求的数据量,例如,1秒内获取的压缩请求的个数为10个,这10个请求的数据量即请求进行压缩的数据为50MB,则压缩业务的请求量即为50MB。业务监测单元11将所述业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较;所述的请求量阈值可以预先设置在业务监测单元11中,该请求量阈值可以为一个数值或者为一个范围值,例如,预设的压缩业务请求量阈值为80MB,则为将上述的请求量50MB与80MB比较;或者,当阈值为范围值例如60B-80MB时,也是将上述的请求量50MB与该范围值比较。具体的,通过上述比较,业务监测单元11可以得到与业务请求量对应的数据处理业务的性能值。例如,最初所采用的压缩业务的配置文件是对应80MB性能值的配置文件,通过上述的实时监测压缩业务请求量及分析,发现目前的压缩请求量有所降低为50MB,且低于设定的请求量阈值,则表明目前的配置文件性能偏高,应该降低该业务的处理性能以降低功耗,将采用降低后的与所述业务请求量最接近的性能值,作为所述与业务请求量对应的性能值。此时,即业务监测单元11确定了与业务请求量对应的数据处理业务的性能值。值得注意的是,本发明实施例所说的与业务请求量“最接近”性能值包括与业务请求量“相同”的性能值。配置加载单元12,用于根据得到的所述与业务请求量匹配的所述数据处理业务的性能值,获取与所述数据处理业务的性能值匹配的FPGA配置文件,加载对应所述性能值的现场可编程门阵列FPGA配置文件,以实现对应所述 FPGA配置文件的硬件加速。具体的,在业务监测单元11确定了与业务请求量对应的数据处理业务的性能值之后,配置加载单元12可以根据该性能值获取所需要加载的配置文件,并对相应的配置文件进行加载。配置加载单元12可以根据所述的性能值,加载对应所述性能值的FPGA配置文件,例如上述的加载对应重删业务每秒100MB性能值的配置文件。通过对配置文件进行加载,可以实现该配置文件对应的业务性能值的硬件加速。例如,FPGA硬件加速卡需要实现压缩业务和重删业务,加载了对应压缩业务100Mps性能值的配置文件、以及对应重删业务300Mps性能值的配置文件,那么FPGA将按照对应的配置文件进行逻辑功能的设置,最终实现上述的数据处理业务的性能,即,经过按照上述配置文件进行配置之后,该FPGA硬件加速卡可以实现100Mps性能值的压缩业务以及300Mps性能值的重删业务,采用该FPGA硬件加速卡进行数据处理的硬件加速时,压缩业务和重删业务的处理性能组合为1∶3。由上述的分析可知,业务监测单元11可以通过实时监测数据处理业务的业务请求量,确定与该请求量对应的业务性能值;配置加载单元12可以加载对应该性能值的配置文件,从而实现了对FPGA硬件加速卡的功能的实时调整;例如,当用户的应用环境变化导致用户对不同业务的处理性能组合需求变化时,本实施例的FPGA硬件加速卡就可以通过自身的业务监测单元11实时监测出用户业务请求的变化,并采用上述的方法对自身的逻辑功能进行配置,最终实现对应用户性能组合需求的硬件加速,即能够自动适应性能组合需求变化,且平滑调整不中断业务。并且,通过自动适应性能组合需求变化,也能够降低FPGA硬件加速卡的功耗;通过一种硬件加速卡就可以实现上述功能,相比于现有技术中的多种加速卡,减少了生产和管理成本。本发明实施例的硬件加速装置,不仅可以应用到存储系统的数据缩减领域,还可以应用到存储系统中的数据异或运算、数据加密等运算密集型的应用中,此外还能应用到其他需要做多种算法硬件加速的非存储系统中。对于FPGA硬件加速卡,实际应用中通常有两种类型,即可部分重配置的FPGA以及不可部分重配置的FPGA,下面以两个实施例分别对这两种类型的FPGA硬件加速装置的结构和工作原理进行详细说明。实施例二图2为本发明硬件加速装置另一实施例的结构示意图,本实施例是对可部分重配置的FPGA硬件加速装置的结构和原理进行说明,该图2显示了该硬件加速装置的结构原理和工作原理;其中,可部分重配置的FPGA指的是可以对加载到该FPGA的配置文件中的其中一部分配置文件进行重新配置,例如,FPGA中包括对应业务A的配置文件和业务B的配置文件,可以仅更换业务B的配置文件。首先,对该硬件加速装置的FPGA的配置文件存放区13中所存放的配置文件进行说明。在配置文件存放区13中存放了分别对应不同数据处理业务的不同性能值的多个配置文件,即有多种配置文件可供加载配置,而现有技术的硬件加速装置只能采用一种固定形式的配置文件。具体的,参见图3,图3为本发明硬件加速装置另一实施例中的配置文件层次设计示意图。配置文件存放区中的文件是按照功能模块清晰划分的,例如可以包括A、B、C、D和E五个功能模块,所述的功能模块指的是例如,A表示用于处理压缩业务的压缩功能模块、B表示用于处理重删业务的重删功能模块、C表示用于处理数据分块业务的分块功能模块等,各功能模块间不存在直接的耦合关系,即相互直接是独立的。对于其中某一个功能模块,又包括对应不同的业务处理性能值的多个配置文件;例如,对于重删功能模块B,该B模块包括B1、B2、B3和B4四个配置文件,每一个配置文件对应重删的不同性能值,例如B1表示对应每秒处理100MB重删数据量的性能值,B2表示对应每秒处理200MB重删数据量的性能值,B3表示对应每秒处理300MB重删数据量的性能值等,FPGA加速卡加载所述配置文件后即可具有对应的业务处理性能。其中,具体设置哪些功能模块,以及每一种功能模块设置对应哪些性能值的配置文件,可以由硬件加速装置的生产厂家根据实际使用需求进行自主设定,在此不做限制。图3所对应的实施例中,配置加载单元所加载的一个所述配置文件为对应一种性能值,其中一种性能值对应一种数据处理业务,相应的:所述配置加载单元加载所述匹配的FPGA配置文件,具体包括分别加载与所述数据处理业务对应且与所述获取的所述数据处理业务的性能值匹配的子配置文件。参见图2,图2的FPGA配置文件存放区内放置了A、B、C三种功能模块,且每一种功能模块都包括了对应三种性能值的配置文件。其中,需要说 明的是,实际上,A1、A2、B1、B2等只是完整的FPGA配置文件中的其中一部分配置单元,比如FPGA需要加载A2和C3,则A2和C3的组合相当于一个完整的FPGA配置文件,FPGA在加载完毕A2和C3后才是配置加载完成,具有了A2和C3所决定的性能组合,而A2和C3中的其中一个只是所述完整配置文件中的其中一部分;但是,在本发明实施例中,为了简化表述,均采用配置文件来命名,对于A2、C3也称为配置文件,对于两者的组合也称为配置文件。此外,每一种功能模块中的不同性能值文件是按照递进层次设置的,例如,A1对应A功能的100MBps性能值,A2对应A功能的300MBps性能值,A3对应A功能的500MBps性能值,即,本实施例以性能值随序号递增而增加为例进行说明。图2所对应的实施例中,配置加载单元所加载的一个所述配置文件为对应至少两种性能值的组合文件,其中每种性能值对应一种数据处理业务,相应的:所述配置加载单元加载所述匹配的FPGA配置文件,具体包括加载与所述数据处理业务对应且与所述获取的所述数据处理业务的性能值匹配的组合文件。此外,图2中的“固定功能”和“基础功能架构”只是实现FPGA配置和逻辑功能的一些基础的功能配置,在此不再赘述。本实施例中,对于业务监测单元、配置加载单元和配置文件存放区的设置位置可以灵活设定,例如,图2中是将业务监测单元11、配置加载单元12均设置在FPGA上;其中,FPGA硬件加速装置通常是包括一个FPGA硬件加速卡和一个加速卡驱动/管理单元,FPGA硬件加速卡上包括所述的FPGA;例如,业务监测单元和配置加载单元可以设置在FPGA上,也可以设置在FPGA硬件加速卡的FPGA之外的区域,或者也可以设置在加速卡驱动/管理单元上;配置文件存放区可以设置在FPGA硬件加速卡的FPGA之外的区域,或者也可以设置在其他存储设备例如磁盘上等,只要该FPGA能够访问到配置文件的存储区即可。本发明实施例的硬件加速装置的各个功能单元的设置位置比较灵活,不做严格限制,只要能够实现本发明自适应调整性能组合的功能即可。采用本实施例的FPGA硬件加速装置进行硬件加速的配置流程如下:参见图4,图4为本发明硬件加速装置另一实施例中的结构示意图。硬件加速装置的业务监测单元11可以包括比较子单元111、第一处理子单元112和第 二处理子单元113。该比较子单元111可以获取该硬件加速装置接收到的业务请求量,并将所述业务请求量与预设的请求量阈值进行比较,其中,每一种数据处理业务对应的请求量阈值可以不同,例如,对于压缩业务,可以预设其请求量阈值为80MB;所述的阈值也可以为一范围值例如60MB-80MB。其中,第一处理子单元112,用于在业务请求量高于请求量阈值时,表明需要提升该业务处理的性能,则采用提升后的提升后的与所述业务请求量最接近的性能值,作为所述与业务请求量匹配的性能值;第二处理子单元113,用于在业务请求量低于请求量阈值时,表明需要降低该业务处理的性能,则采用降低后的与所述业务请求量最接近的性能值,作为所述与业务请求量对应的性能值。具体的,所述的提升后的性能值或者降低后的性能值可以有两种实现方式,例如,对于提升后的性能值的实现,假设目前FPGA硬件加速装置采用的是压缩业务的50MBps性能值对应的配置文件,经过请求量比较后,决定提升压缩业务的业务性能为150MBps,而对应压缩业务的配置文件包括50MBps性能值、100MBps性能值、150MBps性能值,则此时可以直接采用150M性能值的配置文件替换50MBps性能值的配置文件(相当于直接加载高性能配置文件),或者,也可以在50MBps性能值的基础上增加100MBps性能值的配置文件(相当于增加压缩业务的业务通道)。同理,对于降低后的性能值的实现,也可以采用上述的两种方式,即直接采用更低一级的性能值,或者减少业务通道。需要说明的是,在上述的根据请求量比较进行性能调整时,通常是将性能值逐级提升或者降低,在提升或者降低一级时,可以判断该性能是否与请求量匹配,若不匹配,则继续提升或者降低,直至达到与请求量匹配为止;并且,至于加载的配置文件的数量也不做限制,只要能够达到预设的性能即可。此外,本实施例在进行业务请求监测时,一般是多种业务请求同时监测,最后的具体每种数据处理业务的性能值的选择也需要将各业务的比较结果进行综合判断决定,例如,当压缩业务和分块业务都需要提升业务性能时,假设压缩业务需要提升业务性能至200MBps,分块业务需要提升业务性能至500MBps,则此时还需要考虑整个FPGA硬件加速装置的总的处理资源的容量极限,如果两种业务都按照上述要求进行提升将超过硬件加速装置的处理资源容量600MBps,则此时可以采用优先级设置方法,假设设置分块业务为 高优先级,优先满足分块业务的性能需要,将分块业务的性能提升至500MBps,而将系统剩余的100MBps资源分配至低优先级的压缩业务即可,此时是不能够满足压缩业务200MBps性能的要求的。由上述的分析可知,该业务监测单元11可以实时监测业务请求并实时加载对应的配置文件进行调整,例如,业务监测单元11可以通过实时监测数据处理业务的业务请求量,确定与该请求量对应的业务性能值,配置加载单元12从配置文件存放区13中调取对应该性能值的配置文件加载到FPGA中,从而实现了对FPGA硬件加速卡的功能的实时调整;例如,当用户的应用环境变化导致用户对不同业务的处理性能组合需求变化时,本实施例的FPGA硬件加速卡就可以通过自身的业务监测单元实时监测出用户业务请求的变化,并采用上述的方法对自身的逻辑功能进行配置,最终实现对应用户性能组合需求的硬件加速,即能够自动适应性能组合需求变化,且平滑调整不中断业务。并且,通过自动适应性能组合需求变化,也能够降低FPGA硬件加速卡的功耗;通过一种硬件加速卡就可以实现上述功能,相比于现有技术中的多种加速卡,减少了生产和管理成本。本实施例的硬件加速装置,通过设置业务监测单元、配置加载单元,业务监测单元根据获取的请求量得到对应的性能值,配置加载单元加载对应所述性能值的FPGA配置文件,可以实现对应的硬件加速,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。实施例三图5为本发明硬件加速装置又一实施例的应用示意图,本实施例是对不可部分重配置的FPGA硬件加速装置的结构和原理进行说明,该图5显示了该硬件加速装置的结构原理和工作原理。其中,不可部分重配置的FPGA指的是只能对该FPGA的配置文件整体进行重新配置,例如,FPGA中包括对应业务A和业务B的配置文件,则只能整体更换该包括业务A和业务B的配置文件,不能只更换其中一部分例如对应业务A的文件。本实施例的硬件加速装置与图2~图4实施例(以下简称上一实施例)的硬件加速装置的原理大致相同,因此本实施例只做简单描述,重点说明与上一实施例的硬件加速装置的区别所在。如图5所示,该硬件加速装置的主要 特点是配置文件存放区中存放的配置文件的结构与上一实施例是不同的。具体的,上一实施例中的每个配置文件是单独的对应某种数据处理业务的某种性能值,例如,配置文件A1是对应数据处理业务A(压缩业务)的100MBps性能值。而本实施例中的加载的配置文件是包括对应至少两种数据处理业务的组合文件,其中每种数据处理业务的配置文件对应该业务的其中一种性能值。例如,图5中所示的“功能性能组合2”就可以相当于图2中的A2和C3的组合,包括A、C两种功能(即数据处理业务),以及A中的性能A2、C中的性能C3。配置加载单元是直接将整个“功能性能组合2”进行整体加载的,而不是如上一实施例那样是A2、C3分别加载。例如,通过业务请求比较,得到需要配置压缩业务性能为100MBps,分块业务性能为200MBps,则就可以选择“功能性能组合2”,该组合中的A2就对应着性能为100MBps的压缩业务,C3对应性能为200MBps的分块业务。此外,本实施例的功能性能组合的配置文件的设置结构方式也可以适用于上一实施例,即,可部分重配置的FPGA硬件加速装置也可以采用功能性能组合的配置文件;但是,由于本实施例不能够部分重配置,因此上一实施例中的配置文件设置方式不能够适用于本实施例。本实施例的硬件加速装置,通过设置业务监测单元、配置加载单元等,业务监测单元根据获取的请求量得到对应的性能值,并指示配置加载单元加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,该业务监测单元可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。实施例四图6为本发明硬件加速方法实施例的流程示意图,如图6所示,该方法可以包括:601、获取数据处理业务的业务请求量,并将所述业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较,得到与所述业务请求量匹配的所述数据处理业务的性能值;其中,在将业务请求量与对应所述数据处理业务的预设的请求量阈值进 行比较时,若业务请求量高于所述请求量阈值,则采用提升后的性能值,作为所述与请求处理量对应的性能值;若所述业务请求量低于所述请求量阈值,则采用降低后的性能值,作为所述与请求处理量匹配的性能值。其中,将业务请求量与对应所述数据处理业务的预设的请求量阈值进行比较;若所述业务请求量高于所述请求量阈值,则采用提升后的与所述业务请求量最接近的,作为所述与业务请求量匹配的性能值;若所述业务请求量低于所述请求量阈值,则采用降低后的与所述业务请求量最接近的性能值,作为所述与业务请求量对应的性能值。602、根据得到的所述与业务请求量匹配的所述数据处理业务的性能值,获取与所述数据处理业务的性能值匹配的FPGA配置文件,加载所述匹配的FPGA配置文件,以实现对应所述FPGA配置文件的硬件加速。其中,若FPGA为不可部分重配置FPGA;则加载所述匹配的FPGA配置文件,包括:加载所述匹配的FPGA配置文件,所述配置文件为包括对应至少两种数据处理业务,且对应每种所述数据处理业务的一种性能值的组合文件,且所述组合文件中的所述数据处理业务的性能值与所述业务监测单元确定的业务请求量对应。若FPGA为可部分重配置FPGA;则加载所述匹配的FPGA配置文件,包括:分别加载对应不同数据处理业务的所述配置文件;加载的所述配置文件为对应一种数据处理业务的一种性能值。例如,本实施例的方法可以为本发明任意实施例的硬件加速装置所执行;具体的原理可以结合参见装置实施例所述。本实施例的硬件加速方法,通过根据获取的请求量得到对应的性能值,并加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。实施例五图7为本发明硬件加速装置实施例的一应用场景示意图,图8为本发明硬件加速装置实施例的另一应用场景示意图。本实施例主要是对本发明任意 实施例的硬件加速装置所应用的场景进行简单说明,但实际使用中并不局限于这两种场景。如图7所示,是一种典型的存储设备内部进行重删/压缩的方式。工作流程如下:应用服务器通过存储设备提供的存储服务接口进行数据存储;存储服务接口将数据传递给重删/压缩应用模块,该模块将数据存放到系统内存;重删/存储应用模块调用加速卡驱动提供的接口,命令硬件加速卡对前面存入系统内存的数据进行数据分块、哈希、压缩等处理;重删/压缩应用模块将加速卡处理完成的结果数据读取,并和磁盘中已存数据进行比较,选择不重复的新数据写入到磁盘中。如图8所示,是一种典型的存储设备链路复制传输时进行重删/压缩的方式。工作流程如下:存储系统A中的链路复制应用程序读出磁盘中拟传输的数据到内存,调用重删/压缩应用模块进行数据缩减;重删/压缩应用模块调用加速卡驱动,命令硬件加速卡对前面存入系统内存的数据进行数据分块、哈希、压缩等处理;链路复制应用模块将缩减后的数据从内存传递给链路传输模块,由链路传输模块将缩减后的数据传输给远端的存储系统B;存储系统B上对应的链路复制应用程序将这些缩减后的数据存储到自身的磁盘当中。本实施例的硬件加速装置,通过根据获取的请求量得到对应的性能值,并加载对应所述性能值的FPGA配置文件,可以实现对应由性能值确定的性能组合的硬件加速,可以实时监测业务请求并实时加载对应的配置文件进行调整,解决了硬件加速装置不能满足用户的不同性能组合需求的问题,实现了通过一种硬件加速装置自动适应不同的性能组合需求,降低硬件加速装置的生产成本。实施例六本发明实施例还提供了一种硬件加速系统,该系统包括现场可编程门阵列FPGA、以及本发明任意实施例所述的硬件加速装置。具体的工作原理可以结合参见装置和方法实施例所述,不再赘述。其中,所述硬件加速装置中的业务监测单元、配置加载控制单元或者FPGA配置文件存放区,设置于所述FPGA上或者设置于所述FPGA之外。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可 读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1