一种FPGA及其压缩数据的方法、加速卡与流程

文档序号:17922116发布日期:2019-06-15 00:10阅读:420来源:国知局
一种FPGA及其压缩数据的方法、加速卡与流程

本发明涉及电气工程技术领域,尤其涉及一种fpga及其压缩数据的方法、加速卡。



背景技术:

为了提高服务器的计算效率及存储效率,通常需要在服务器上插接加速卡,服务器可将待处理数据下发至加速卡进行压缩处理以释放服务器的计算负载。

目前,加速卡通常包括有连接接口及处理芯片,处理芯片上集成有gzip算法模型,集成有gzip算法模型的处理芯片可针对服务器发送至连接接口的的待处理数据进行压缩处理。

集成有gzip算法模型的处理芯片对待处理数据进行压缩处理时,存在大量的串行操作,压缩速率较低。



技术实现要素:

本发明提供一种fpga(field-programmablegatearray,现场可编程门阵列)及其压缩数据的方法、加速卡,可更为快速的实现对数据进行压缩。

第一方面,本发明提供了一种fpga,应用于加速卡,包括:

控制器、聚合处理模块、至少两个缓存区域及至少两个压缩处理模块;其中,所述至少两个缓存区域与所述至少两个压缩处理模块一一对应连接;

所述控制器,用于获取服务器向所述加速卡的连接接口发送的待处理数据,对所述待处理数据进行分块处理以形成多个待处理数据块;在每形成一个所述待处理数据块时,将形成的所述待处理数据块写入一个处于空闲态的所述缓存区域;

所述压缩处理模块,用于读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块进行压缩处理以形成压缩数据块后输出;

所述聚合处理模块,用于对所述至少两个压缩处理模块输出的各个所述压缩数据块进行聚合处理以形成压缩数据。

优选地,

所述压缩处理模块,包括:压缩处理单元和编码处理单元;其中,

所述压缩处理单元与一个所述缓存区域相连;

所述压缩处理单元,用于读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出所述待编码数据块;

所述编码处理单元,用于对与其相连的所述压缩处理单元输出的所述待编码数据块进行编码处理以形成压缩数据块,并输出所述压缩数据块。

优选地,

所述压缩处理单元,用于依次搜索所述待处理数据块所携带的各个字符串,针对于搜索的当前字符串,执行如下a1或a2:

a1:当已经搜索的各个历史字符串中存在字典字符串携带所述当前字符串时,确定所述当前字符串相对于所述字典字符串的重复长度及指回距离,利用所述重复长度及所述指回距离替换所述当前字符串;

a2:当已经搜索的各个历史字符串中不存在字典字符串携带所述当前字符串时,确定所述当前字符串的长度参数,在所述当前字符串之前插入所述长度参数。

优选地,

所述控制器,用于以设定大小对所述待处理数据所对应的数据流进行分块处理以形成多个待处理数据块。

优选地,

所述fpga,进一步包括:axi4-stream接口;

所述axi4-stream接口分别与所述加速卡的缓存管理模块以及所述控制器相连。

第二方面,本发明提供了一种利用第一方面中任一所述的fpga压缩数据的方法,包括:

利用所述控制器获取服务器向所述加速卡的连接接口发送的待处理数据,对所述待处理数据进行分块处理以形成多个待处理数据块;

利用所述控制模块在每形成一个所述待处理数据块时,将形成的所述待处理数据块写入一个处于空闲态的所述缓存区域;

利用各个所述压缩处理模块读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块进行压缩处理以形成压缩数据块后输出;

利用所述聚合处理模块对所述至少两个压缩处理模块输出的各个所述压缩数据块进行聚合处理以形成压缩数据。

优选地,

所述利用各个所述压缩处理模块读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块进行压缩处理以形成压缩数据块后输出,包括:

利用各个所述压缩处理单元分别读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出所述待编码数据块;

利用各个所述编码处理单元以预设规则对与其相连的所述压缩处理单元输出的所述待编码数据块进行编码处理以形成压缩数据块,并输出所述压缩数据块。

优选地,

所述对所述待处理数据进行分块处理以形成多个待处理数据块,包括:

以设定大小对所述待处理数据所对应的数据流进行分块处理以形成多个待处理数据块。

第三方面,本发明提供了一种加速卡,包括:

电路板基板、连接接口,以及如第一方面中任一所述的fpga;其中,

所述连接接口及所述fpga均设置在所述电路板基板上;

所述连接接口,用于连接外部的服务器,接收所述服务器发送的待处理数据,并通过所述电路板基板将接收的所述待处理数据提供给所述fpga。

优选地,

还包括:缓存管理模块;其中,

所述缓存管理模块设置在所述电路板基板上;

所述缓存管理模块,用于存储所述连接接口接收的所述待处理数据,通过所述电路板基板向所述fpga提供其存储的所述待处理数据。

本发明提供了一种fpga及其压缩数据的方法、加速卡,该fpga配置有控制器、聚合处理模块、至少两个缓存区域及至少两个压缩处理模块,且缓存区域与压缩处理模块一一对应连接;通过该fpga实现压缩数据时,控制器可对服务器下发的待处理数据进行分块处理以形成多个待处理数据块,并在每形成一个待处理数据块时将其写入一个处于空闲态的缓存区域中,基于fpga硬件本身具有的并发计算能力而配置的各个压缩处理模块,可并发的执行从相应缓存区域中读取待处理数据块、对读取的待处理数据块进行压缩处理以形成压缩数据块,最后由聚合处理模块对各个压缩数据块进行聚合处理以形成压缩数据,从而实现对待处理数据进行压缩;综上可见,本发明提供的技术方案充分利用fpga硬件本身具有的并发计算能力,将待处理数据拆分成多个数据块后,通过多个压缩处理模块并发的执行对不同数据块分别进行压缩,无需执行过多的串行操作,可更为快速的实现对数据进行压缩。

附图说明

为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种fpga的结构示意图;

图2为本发明一实施例提供的另一种fpga的结构示意图;

图3为本发明一实施例提供的又一种fpga的结构示意图;

图4为本发明一实施例提供的一种利用fpga压缩数据的方法的流程图;

图5为本发明一实施例提供的一种加速卡的结构示意图;

图6为本发明一实施例提供的另一种加速卡的结构示意图;

图7为本发明一实施例提供的另一种压缩数据的方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种fpga,应用于加速卡,包括:

控制器101、聚合处理模块102、至少两个缓存区域103及至少两个压缩处理模块104;其中,所述至少两个缓存区域103与所述至少两个压缩处理模块104一一对应连接;

所述控制器101,用于获取服务器向所述加速卡的连接接口发送的待处理数据,对所述待处理数据进行分块处理以形成多个待处理数据块;在每形成一个所述待处理数据块时,将形成的所述待处理数据块写入一个处于空闲态的所述缓存区域103;

所述压缩处理模块104,用于读取与其相连的所述缓存区域103中写入的所述待处理数据块,对所述待处理数据块进行压缩处理以形成压缩数据块后输出;

所述聚合处理模块102,用于对所述至少两个压缩处理模块104输出的各个所述压缩数据块进行聚合处理以形成压缩数据。

如图1所示的实施例,该fpga配置有控制器、聚合处理模块、至少两个缓存区域及至少两个压缩处理模块,且至少两个缓存区域与至少两个压缩处理模块一一对应连接;通过该fpga压缩数据时,控制器可对服务器下发的待处理数据进行分块处理以形成多个待处理数据块,并在每形成一个待处理数据块时将其写入一个处于空闲态的缓存区域中,基于fpga硬件本身具有的并发计算能力而配置的各个压缩处理模块,则可并发的执行从相应缓存区域中读取待处理数据块、对读取的待处理数据块进行压缩处理以形成压缩数据块,最后由聚合处理模块对各个压缩数据块进行聚合处理以形成压缩数据,实现对待处理数据进行压缩;综上可见,本发明实施例提供的技术方案充分利用fpga硬件本身具有的并发计算能力,将待处理数据拆分成多个数据块后,通过多个压缩处理模块并发的执行对不同数据块分别进行压缩,无需执行过多的串行操作,可更为快速的实现对数据进行压缩。

具体地,一个缓存区域内未存储已经写入的待处理数据块或一个缓存区域中写入的一个待处理数据块已经被与其相连的压缩处理模块读取时,表征该缓存区域处于空闲态。具体地,控制器具体可以通过对缓存区域进行监控或对压缩处理模块的运行状态进行监控以实现确定预期相连的各个缓存区域是否处于空闲态。

在一种可能实现的方式中,控制器对待处理数据进行分块处理时,还可记录形成的各个待处理数据块之间的分块顺序,以便后续过程中聚合处理模块根据各个待处理数据块之间的分块顺序对形成的各个压缩数据块进行聚合处理。

本领域技术人员应当理解的,可通过对fpga进行片内编程,将片内编程数据加载到片内随机存储器中,根据加载到片内随机存储器的片内编程数据在fpga内部对相应的逻辑单元进行配置以形成具有不同功能的逻辑电路模块,即实现在fpga内配置出能够实现相应业务功能的控制器、聚合处理模块及至少两个压缩处理模块;举例来说,可对fpga进行片内编程实现在fpga内加载多个压缩算法模型,fpga加载各个压缩算法模型后则可配置出多个能够实现对待处理数据块进行压缩的逻辑电路,一个逻辑电路及其对应的压缩算法模型在逻辑意义上构成本发明实施例中所述的压缩处理模块。

需要说明的是,缓存区域以及压缩处理模块的数量可以结合实际业务需求以及fpga的规模进行合理设置,当需要对重复率极高的医疗数据或其他数据进行压缩处理时,fpga上可配置16个用于缓存待处理数据块的缓存区域以及用于对待处理数据块进行压缩处理的压缩处理模块。

还需要说明的是,形成的每个待处理数据块的大小应当相同,待处理数据块的大小通常为32k。

本发明一个实施例中,所述压缩处理模块104,包括:压缩处理单元1041和编码处理单元1042;其中,

所述压缩处理单元1041与一个所述缓存区域103相连;

所述压缩处理单元1041,用于读取与其相连的所述缓存区域103中写入的所述待处理数据块,对所述待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出所述待编码数据块;

所述编码处理单元1042,用于对与其相连的所述压缩处理单元1041输出的所述待编码数据块进行编码处理以形成压缩数据块,并输出所述压缩数据。

该实施例中,具体可结合实际业务场景基于不同的压缩算法配置压缩处理单元,仅需要确保配置的压缩处理单元能够实现对待处理数据块所携带的各个重复字符串进行替换处理,且针对用于替换各个重复字符串的替换数据(相对信息):该替换数据的数据量应当小于其对应替换的字符串的数据量,该替换数据能够用于查询或指向被其替换的字符串。

该实施例中,通过编码处理单元进一步对待编码数据块进行编码处理,可方便对待处理数据块的压缩率以及后续过程中能够较为快速的实现对压缩数据进行解压缩,其编码规则可以结合实际业务场景进行不同的配置。

为了确保在压缩过程中不会损坏待处理数据的完整性,压缩处理单元可以基于lzo(lempel-ziv-oberhumer)算法进行配置,如此,本发明一个实施例中,所述压缩处理单元1041,用于依次搜索所述待处理数据块所携带的各个字符串,针对于当前时刻搜索的当前字符串,执行如下a1或a2:

a1:当已经搜索的各个历史字符串中存在字典字符串携带所述当前字符串时,确定所述当前字符串相对于所述字典字符串的重复长度及指回距离,利用所述重复长度及所述指回距离替换所述当前字符串;

a2:当已经搜索的各个历史字符串中不存在字典字符串携带所述当前字符串时,确定所述当前字符串的长度参数,在所述当前字符串之前插入所述长度参数。

该实施例中,基于lzo算法配置的压缩处理单元在能够读取与其相连的缓存区域中写入的待处理数据块的同时,可以通过字典技术在一个滑动窗口内对待处理数据块携带的各个字符串依次进行匹配搜索,最终实现确定出待处理数据块所携带的各个重复字符串,并采用重复长度及指回距离作为重复字符串的相对信息针对相应的重复字符串进行替换,且同时对可疑作为字典字符串的新字符串进行标记。

举例来说,基于lzo算法配置的压缩处理单元将待处理数据块读取到滑动窗口,滑动窗口显示待处理数据块具体为“abcdefghabcdefjklm”,对该待处理数据块携带的各个字符串进行依次搜索处理,搜索发现前8个字符中不存在重复字符,前8个字符中存在一个字符与第9个字符相同,此时,可以将前8个字符所组成的字符串作为首次搜索到的第一个字符串,显然的,此时对应的已经搜索的字符串数量为0,不存在字典字符串携带该字符串,即该字符串不是重复字符串,此时,即前8个字符所组成的字符串是一个可以作为字典字符串的新字符串,可确定并插入该字符串的长度参数8至该字符串的首字符a之前,实现对该新字符串进行标记;然后从第9个字符开始搜索,搜索发现第9个字符至第14字符串所组成的字符串与第一次搜索到的字符串“abcdefgh”的前6位相同,可将第9个字符至第14个字符所组成的字符串“abcdef”作为第二次搜索到的字符串,且该字符串为一个重复字符串,计算出该重复字符串“abcdef”相对于字典字符串“abcdefgh”的重复长度是6,重复字符串的首字符“a”与字典字符串“abcdefgh”中的字符“a”之间的字节距离(即指回距离)为8,重复长度6以及指回距离8即可作为该重复字符串的相对信息对该重复字符串进行替换;继续从第15个字符开始,搜索到第18个字符后已经不存在其他字符,此时将第15个字符至第18个字符所组成的字符串“jklm”作为第三次搜索到的字符串,且搜索发现历史字符串“abcdefgh”以及“abcdef”中均未携带第三次搜索到的字符串,此时,字符串“jklm”即是一个可以作为字典字符串的新字符串,可确定并插入长度参数4至第三次搜索到的字符串“jklm”的首字符“j”之前,实现对该新字符串进行标记;通过三次搜索处理,可形成待编码数据块“(08)abcdefgh(6,8)(04)jklm”,不难看出,形成的待编码数据块相对于其对应的待处理数据块的数据量已经得到压缩,同时,也能够通过该待编码字符串中的相对信息(6,8)中携带的重复长度及指回距离、长度参数查询到重复字符串为字典字符串“abcdefgh”的前六位。

相应的,在一种可能实现的方式中,基于lzo算法配置压缩处理单元时,编码处理单元可以针对由重复长度及指回距离组成的相对信息以及各个字典字符串以不同的编码规则进行编码;同时,还可按照相对信息中携带的重复长度,对不同长度的重复字符串所分别对应的相对信息以不同的编码规则进行编码;通过对编码规则进行配置,实现对待处理数据块所对应的压缩率进行调节。具体地,可通过预先配置编码表,以查表的方式具体实现以不同编码规则对待编码数据块中的字典字符串以及编码信息进行编码。

需要对服务器进行外接加速卡压缩数据的业务场景中,需要被压缩的待处理数据的数据量通常相对较大,加速卡中通常可以配置缓存管理模块以缓存服务器向连接接口下发的待处理数据。此时,控制器具体可以通过如下方式1或方式2中的任意一种实现对待处理数据进行分块处理以形成多个待处理数据块。

方式1,以设定大小对待处理数据所对应的数据流进行分块处理以形成多个待处理数据块。

方式2,根据待处理数据在加速卡的缓存管理模块上对应的存储地址进行拆分。

针对于上述方式1,控制器从缓存管理模块获取待处理数据时,缓存管理模块以数据流的形成向fpga的控制器提供待处理数据,控制器可记录接收的待处理数据所对应的数据流的大小,接收的数据流每增加设定大小(通常为32k)时,将最近接收的设定大小的数据流封装成待处理数据的一个待处理数据块,最终实现将待处理数据分成多个设定大小的待处理数据块。举例来说,控制器在t0时刻接收到待处理数据的首个字符时,实时记录于t0时刻开始累计接收数据流的大小,当记录到t0-t1时间段累计接收的数据流的大小达到通常为32k时,将t0-t1时间段接收的数据流封装成待处理数据的一个待处理数据块;当t2时刻记录到累计接收的数据流的大小达到64k时,将t1-t2时间段接收的数据流封装成待处理数据的一个待处理数据块。

针对于上述方式2,控制器可计算出设定大小(比如32k)的待处理数据块存储在缓存管理模块上时所对应的地址长度,控制器根据该地址长度以及待处理数据在缓存管理模块上的首地址对缓存管理模块上存储的待处理数据进行分段读取。

请参考图3,本发明一个优选实施例中,所述fpga,进一步包括:axi4-stream接口;其中,所述axi4-stream接口分别与所述加速卡的缓存管理模块以及所述控制器相连。

具体地,fpga的控制器通过axi4-stream接口与加速卡的缓存管理模块相连,axi4-stream接口仅占用fpga中少量的逻辑单元,在缓存管理模块与fpga实现端到端的通信以传输待处理数据时,axi4-stream接口能够对待处理数据进行高速传输。

不难理解的,如图3中所示的axi4-stream接口还可与聚合处理模块相连,以便将聚合处理模块所形成的压缩数据输出。当然,fpga内还可额外配置一个专用于输出压缩数据的axi4-stream接口。

基于与本发明前述各个实施例提供的fpga相同的构思,请参考图4,本发明实施例还提供了一种利用本发明任意一个实施例中提供的fpga压缩数据的方法,包括:

步骤401,利用所述控制器获取服务器向所述加速卡的连接接口发送的待处理数据,对所述待处理数据进行分块处理以形成多个待处理数据块;

步骤402,利用所述控制模块在每形成一个所述待处理数据块时,将形成的所述待处理数据块写入一个处于空闲态的所述缓存区域;

步骤403,利用各个所述压缩处理模块读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块进行压缩处理以形成压缩数据块后输出;

步骤404,利用所述聚合处理模块对所述至少两个压缩处理模块输出的各个所述压缩数据块进行聚合处理以形成压缩数据。

该实施例中,充分利用fpga硬件本身具有的并发计算能力,将待处理数据拆分成多个数据块后将其写入至空闲态的缓存区域中,通过多个压缩处理模块并发的执行对不同数据块分别进行压缩,无需执行过多的串行操作,可更为快速的实现对数据进行压缩。

具体地,本发明一个实施例中,步骤403,包括:

利用各个所述压缩处理单元分别读取与其相连的所述缓存区域中写入的所述待处理数据块,对所述待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出所述待编码数据块;

利用各个所述编码处理单元以预设规则对与其相连的所述压缩处理单元输出的所述待编码数据块进行编码处理以形成压缩数据块,并输出所述压缩数据块。

在一种可能实现的方式中,步骤401中,所述对所述待处理数据进行分块处理以形成多个待处理数据块,包括:以设定大小对所述待处理数据所对应的数据流进行分块处理以形成多个待处理数据块。

基于与本发明前述各个实施例提供的fpga相同的构思,请参考图5,本发明实施例还提供了一种加速卡,包括:

电路板基板501、连接接口502,以及如本发明任意一个实施例中提供的fpga503;其中,

所述连接接口502及所述fpga503均设置在所述电路板基板上;

所述连接接口502,用于连接外部的服务器,接收所述服务器发送的待处理数据,并通过所述电路板基板501将接收的所述待处理数据提供给所述fpga503。

请参考图6,本发明一个实施中,所述加速卡还包括:缓存管理模块601;其中,所述缓存管理模块601设置在所述电路板基板501上;所述缓存管理模块601,用于存储所述连接接口502接收的所述待处理数据,通过所述电路板基板501向所述fpga503提供其存储的所述待处理数据。

不难理解的,电路板基板上可部署相应的通信线路,这些通信线路用于实现连接接口与fpga之间、连接接口与缓存管理模块之间、缓存管理模块与fpga之间进行通信以传输相应的数据;具体地,这些通信线路可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线,其类型具体可以分为地址总线、数据总线、控制总线等。

为了更加清楚的说明本发明的技术方案及优点,下面具体以本发明实施例提供的fpga以及具有该fpga的加速卡实现压缩数据时的主要方法步骤进行进一步的举例说明,且具体以待处理数据大小时640k、fpga上配置有a1~a16共16个缓存区域为例,具体请参考图7。

步骤701,服务器向与其连接的加速卡的连接接口下发大小为640k的待处理数据。

步骤702,加速卡的电路板基板将连接接口接收的待处理数据传输至缓存管理模块进行存储。

步骤703,fpga的控制器获取缓存管理模块中存储的待处理数据。

fpga的控制器从缓存管理模块获取640k大小的待处理数据时,缓存管理模块具体以数据流的形式通过电路板基板以及与控制器相连的axi4-stream接口将其存储的待处理数据传输至控制器。

步骤704,fpga的控制器在接收到待处理数据所对应的数据流每增加32k时,将最近接收的32k大小的数据流封装成一个待处理数据块。

在fpga未执行对待处理数据进行压缩之前,fpga的a1~a16均不存在已经写入的待处理数据,即a1~a16均处于空闲态。

步骤705,fpga的控制器在每形成一个待处理数据块时,将形成的待处理数据块写入一个处于空闲态的缓存区域。

由于axi4-stream接口能够对待处理数据进行高速传输,控制器能够极为快速的对待处理数据所对应的数据流进行封装,封装的前16个数据块这里依次以x1~x16进行描述,连续封装的x1~x16共16个待处理数据块可依次写入a1~a16;针对于每一个缓存区域,写入该缓存区域的待处理数据块被与其相连的压缩处理单元读取后,该缓存区域即会进入空闲态,因此,a1~a4会较为快速的再次进入空闲态,控制器在写入a1~a4的待处理数据块x1~x4被读取后,后续封装的x17~x20共四个待处理数据块可依次写入处于空闲态的缓存区域a1~a4。

显而易见的,640k大小的待处理数据可封装为20个32k大小的数据块,当控制器完成对第20个数据块进行封装时,表征控制器已经完整获取640k大小的待处理数据。

步骤706,fpga的每一个压缩处理单元在与其相连的缓存区域中写入待处理数据块后,从与其相连的缓存区域中读取待处理数据块,对读取待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出待编码数据块。

这里具体以b1~b16共16个压缩处理单元为例,当a1~a16共16个缓存单元中依次被写入x1~x16共16个数据块时,b1~b16则可并发的执行从与其相连的缓存区域中读取待处理数据块、对读取待处理数据块所携带的各个重复字符串进行替换处理以形成待编码数据块,并输出。针对于b1~b4,由于a1~a4中会再次写入x17~x20,因此b1~b4还会并发的执行前述过程,形成并输出x17至x20所分别对应的待编码数据块。

步骤707,fpga的每一个编码处理单元对与其相连的压缩处理单元输出的待编码数据块进行编码处理以形成压缩数据块,并输出。

这里,各个编码处理单元并发执行编码任务的逻辑与前述各个压缩处理单元并发执行压缩任务的逻辑相同,这里不再赘述。

步骤708,fpga的聚合处理模块对各个压缩数据块进行聚合处理以形成压缩数据。

这里,以16个编码处理单元向聚合处理模块输出y1~y20共20个与待处理数据块x1~x20一一对应的压缩数据块为例,聚合处理模块仅需要按照y1~y20的顺序对20个压缩数据块进行组合封装即可。

步骤709,通过fpga的axi4-stream接口及电路板基板将聚合处理模块形成的压缩数据传输至缓存管理模块。

后续过程中,服务器则可从加速卡的缓存管理模块中提取待处理数据块所对应的压缩数据,并进行后续的处理,比如将其压缩数据存储至分布式文件系统,从而实现释放分布式系统中服务器的计算负载,降低落盘io(input/output,输入/输出),从硬件层面上进一步提升分布式系统的数据处理能力。

为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1