数据压缩的系统和方法_3

文档序号:9791032阅读:来源:国知局
的可利用硬件信息。
[0054] 具体的,本发明实施例中,对于每个数据块,都会分配一个压缩处理器。
[0055] 例如,当预处理模块获取了N个数据块的压缩信息时,压缩模块130需要生成N个压 缩处理器分别来压缩每个数据块,N个压缩处理器中第i个压缩处理器的并行度为上述第i 个数据块对应的目标并行度Mi。
[0056] 当可利用的硬件资源不能一次配置N个并行度分别为的压缩处理器时,资源分 配信息可W指示将上述N个数据块分多次进行压缩。
[0057] 例如,当将N个数据块分3次压缩时,第一次生成化个压缩处理器,可W压缩化个数 据块,第二次生成化个压缩处理器,可W压缩化个数据块,第=次生成化个压缩处理器,可W 压缩N3个数据块,其中,Ni、化、化分别为大于1的正整数,且Ni+N2+化=N。
[005引又例如,预处理模块110获取了N个数据块的压缩信息,并将该N个压缩信息和N个 数据块发送给管理模块120,管理模块120分别为N个数据块确定了目标并行度。但是,可利 用硬件资源最多只能配置N个压缩处理器中的L个压缩处理器,L为小于N的正整数,即可W 对其中的L个数据块进行压缩。此时,管理模块120可W确定先对其中的L个数据块进行压 缩。当有一个数据块压缩完成时,动态生成目标并行度为化+1的压缩处理器,压缩第L+1个数 据块。
[0059] 例如,可利用硬件信息表示硬件资源最多能配置7个压缩处理器。预处理模块获取 了 12个数据块和该12个数据块的压缩信息。当用户需求为最高的系统压缩速度时,可W将 硬件资源配置为4个压缩处理器,对上述12个数据块分3次进行压缩。此时,每个压缩处理器 压缩数据块的目标并行度可W为该压缩处理器最大的并行度,运时,能够获得最高的系统 压缩速度。
[0060] 当用户需求为最优的能效水平时,可W将硬件资源配置为6个压缩处理器,对上述 12个数据块分2次进行压缩。每个压缩处理器压缩数据块的目标并行度可W不是压缩该数 据块的最大加速比对应的并行度,运时,在满足用户压缩速度需求的同时可W获得最优的 能效水平,即系统功耗最低。
[0061] 还可W结合用户需要的系统压缩速度和能效水平,确定最合适的压缩处理器的数 量和每个压缩处理器的并行度。又例如,可W将硬件资源配置为5个压缩处理器,使系统在 满足用户需求的系统压缩速度下具有最低的功耗。
[0062] 管理模块120将上述资源分配信息通过PCIe发送给压缩模块130。
[0063] 压缩模块130用于根据上述资源分配信息,生成N个压缩处理器,其中,该N个压缩 处理器中的第i个压缩处理器具有上述N个目标并行度中的第i个目标并行度,且第i个压缩 处理器用于压缩与第i个目标并行度对应的数据块,i的取值范围为1至N。
[0064] 可选的,作为一例,可W根据上述资源分配信息生成FPGA的配置文件,压缩模块 130加载该配置文件,生成上述N个压缩处理器。
[0065] 具体的,该配置文件可W为.bit文件。压缩模块将相应的配置文件加载到FPGA上, 在毫秒量级就可W生成具有多个功能模块的压缩处理器。
[0066] 可选的,作为另一例,可W根据上述资源分配信息生成FPGA的至少两个功能模块 的连接关系,运时不需要重新加载配置文件,而是通过模块重组的方式生成多个压缩处理 器。为了支持压缩模块的动态调控,可W将硬件资源例化为不同功能的多个功能模块,各功 能模块的数量可W根据数据处理需求和硬件资源进行设置。
[0067] 本发明实施例中各功能模块例如可W为控制模块、哈希计算器模块、哈希表模块、 匹配比较模块、历史字典模块和选择电路模块等。
[0068] 具体的,如图2所示,压缩模块130中可W包括控制器。图3为压缩模块130生成的第 i个压缩处理器的示意图,其中Mi=m,该压缩处理器i中包括了m个匹配比较模块,此时该压 缩处理器i可W同时比较m个匹配节点,从中选择匹配结果较长的结果输出。
[0069] 控制器可W接收管理模块120发送的资源分配信息和上述N个数据块,再根据资源 分配信息生成多个压缩处理器。然后控制器向并行度为Mi的压缩处理器发送数据块i。压缩 处理器对数据块i进行压缩,输出压缩块i。经过压缩模块130的压缩,可W分别获得与N个数 据块--对应的N个压缩块。
[0070] 可选的,在上述N个压缩处理器分别压缩N个数据块之后,压缩模块130可W获取第 i个压缩处理器压缩第i个数据块的第二压缩速度,并向管理模块120发送该第二压缩速度。
[0071] 管理模块120还用于计算第i个数据块的第二压缩速度和第i个数据块的第一压缩 速度的比值,根据所述比值修正所述第i个数据块对应的所述最优加速比。该第二压缩速度 可W为压缩处理器压缩数据块的硬件压缩速度。
[0072] 运里,根据比值修正第i个数据块对应的最优加速比,具体可W为将第i个数据块 对应的最优加速比替换为该比值,也可W将该第i个数据块对应的最优加速比替换为该比 值与该最优加速比的平均值。也可W将该第i个数据块对应的最优加速比替换为根据该比 值确定的另一加速比。本发明对此不限定。
[0073] 具体的,W上述表1为例进行说明。当软件压缩速度为lOOMB/s、软件压缩比为SCR-2的数据块i目标并行度为3,并且目标并行度对应的加速比为即寸,压缩模块130根据管理模 块120确定的资源分配信息生成并行度Mi为5的压缩处理器,并记录该压缩处理器压缩数据 块i的硬件压缩速度。
[0074] 管理模块120根据数据块i实际的硬件压缩速度和预压缩模块获得的软件压缩速 度,重新计算其存储的软件压缩速度lOOMB/s在并行度为5时的加速比,例如重新计算得到 该加速比为5.5。则管理模块120将表1中的软件压缩速度为10018/3、软件压缩比为50?-2的 数据块i的并行度3对应的加速比修正为5.5,或者将数据块i的并行度3对应的加速比修正 为5.25。同样的,管理模块还可W根据实际的硬件压缩速度修正拟合曲线。
[0075] 运样,通过修正管理模块120中预先存储的压缩信息和并行度对应的加速比的值, 可W使管理模块更加准确预测不同并行度对应的加速比,进而确定出更加满足需求的压缩 处理器的并行度。
[0076] 本发明实施例中,管理模块120中最初存储的第一压缩速度、并行度和加速比的函 数关系可W根据经验设置,也可W通过多次试验获得,例如预先压缩多个数据块获得该函 数关系,本发明对此不作限定。
[0077] 因此,本发明实施例能够对具有不同压缩信息的待压缩数据块动态调整压缩处理 器的并行度,使得压缩模块生成的多个压缩处理器的并行度在满足系统压缩速度的情况下 进一步的提高系统的能效水平,因而本发明实施例可W灵活、快速的实现数据的压缩。
[0078] 应注意,本发明实施例中,预处理模块110和管理模块120可W由处理器实现,压缩 模块可W由协处理器实现。如图4所示,系统200可W包括处理器210、协处理器220、存储器 230、收发器240和总线系统250。其中,存储器230可W用于存储处理器210和协处理器220执 行的代码等,收发器240可W用于接收和发送数据等。
[0079] 系统200中的各个组件通过总线系统250禪合在一起,其中总线系统250除包括数 据总线之外,还包括电源总线、控制总线和状态信号总线。
[0080] 图4所示的系统200的各个功能可W参照上述图1至图3描述的系统100的相应模块 的操作,为避免重复,运里不再寶述。
[0081] 图5示出了根据本发明实施例的数据压缩的方法300的示意性流程图。该方法300 由上述数据压缩的系统100执行或系统200执行。图5中的方法包括:
[0082] 310,获取N个数据块中的每个数据块的压缩信息,其中,N为大于1的正整数。
[0083] 320,根据所述每个数据块的压缩信息,确定资源分配信息,所述资源分配信息包 括与所述N个数据块一一对应的N个目标并行度。
[0084] 330,根据所述资源分配信息,生成N个压缩
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1