一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种循环冗余校验码优化生成方法、系统、终端及介质与流程

2023-02-04 16:45:01 来源:中国专利 TAG:


1.本发明涉及数据存储和数据通信领域,更具体地说,它涉及一种循环冗余校验码优化生成方法、系统、终端及介质。


背景技术:

2.在数据存储系统以及数据通信系统中,为了保证数据的完整性,避免数据在传输过程中出现数据错误,从而保障数据的传输与通信质量,循环冗余校验码(cyclic redundancy check,crc)因其简单的计算方式以及实现方式而被广泛接受。然而,随着数据规模的不断增加,循环冗余校验码的计算延迟越来越长,尤其是在采用传统的串行计算方式的情况下,如图1所示,传统的crc串行计算方式,则是按照数据的流动方式,按照顺序对固定大小的数据块进行校验码的计算。这种情况下,数据无法实现并行计算,只有当前面的数据处理完成后,后续的数据才能进行计算。这样会导致校验码的计算延迟升高,进而无法满足系统的需求。为了优化循环冗余校验码的计算延迟,不同的计算平台例如intel以及arm,都在各自的处理器产品中引入了硬件指令,以及并行计算循环冗余校验码的方法。以intel平台为例,首先该平台提供了crc32,pclmulqdq等并行计算循环冗余校验码所必需的硬件指令,其次,通过将数据块进行切分,切分的数据块并行独立计算出对应的crc校验码,再次,将各个独立的计算结果利用pclmulqdq进行合并整合成为最后的结果,来缩短crc校验码的计算延迟。
3.然而,在不同的数据块大小情况下,循环冗余校验码串行和并行计算的性能具有较大的差异,这主要是由于数据分块以及最后的校验码合并所带来的开销。以intel平台为例子,当数据块比较小的时候,采用串行的计算方式,其延迟则比并行计算延迟低很多。而当数据块比较大的时候,采用并行的计算方式则能够显著降低计算延迟。现有的循环冗余校验码计算并没有考虑到这种情况,往往是要么采用串行的计算方案,要么是采用并行的计算方案。采用单一的计算方式,在数据块大小固定的情况下,是比较合适的。而当数据块大小不固定的情况下,采用单一的计算方式,则无法进一步提高循环冗余校验码的计算性能。
4.因此,如何研究设计一种能够克服上述缺陷的循环冗余校验码优化生成方法、系统、终端及介质是我们目前急需解决的问题。


技术实现要素:

5.为解决现有技术中的不足,本发明的目的是提供一种循环冗余校验码优化生成方法、系统、终端及介质,能够满足在数据处理变长系统中校验码计算的性能需求,缩短校验码的计算时间,提高数据处理系统的性能以及数据的可靠性以及循环冗余校验码硬件模块的设计效率。
6.本发明的上述技术目的是通过以下技术方案得以实现的:
7.第一方面,提供了一种循环冗余校验码优化生成方法,包括以下步骤:
8.依据测试得到的延迟性能数据集分别构建采用串行循环冗余校验码计算方式的第一性能预测模型和采用并行循环冗余校验码计算方式的第二性能预测模型;
9.将数据块大小信息分别输入第一性能预测模型、第二性能预测模型,分别得到串行延迟参数和并行延迟参数;
10.以满足延迟性能指标、功耗指标和数据块大小信息为约束条件,分析从硬件资源库中搜索组建不同计算方式下最优硬件模块的资源满足度;
11.结合资源满足度和延迟参数确定循环冗余校验码在不同计算方式的优先值;
12.选取优先值大的计算方式在相应最优硬件模块中计算得到循环冗余校验码。
13.进一步的,所述延迟性能数据的获得过程具体为:
14.分析cpu平台计算循环冗余校验码所提供的指定并行化指令,得到单个指令的性能参数;
15.依据不同计算方式所对应的所有指定并行化指令的性能参数之和,测试得到不同计算方式在对应数据块大小的延迟性能数据;
16.调整数据块大小以得到由多个延迟性能数据组成的延迟性能数据集。
17.进一步的,所述第一性能预测模型和第二性能预测模型的构建过程具体为:
18.将延迟性能数据集中同一计算方式下的延迟性能数据分为训练集与测试集;
19.结合卷积神经网络,并利用神经网络梯度下降训练算法构建得到对应计算方式下的第一性能预测模型和第二性能预测模型。
20.进一步的,所述最优硬件模块的搜索组建过程具体为:
21.输入约束条件;
22.利用模拟退火算法从硬件资源库中自动搜索出满足约束条件的硬件模块;
23.将搜索的所有硬件模块组建为最优硬件模块,并包装成带有axi接口的硬件ip核心。
24.进一步的,所述资源满足度的分析过程具体为:
25.依据最优硬件模块中各个指标的实际值与约束条件中各个指标的标准值之比得到相应指标的完成度;
26.以所有指标的完成度的权重作为最优硬件模块中的资源满足度。
27.进一步的,所述优先值依据资源满足度和延迟参数的均值或权重进行确定。
28.进一步的,所述优先值的确定过程具体为:
29.选取资源满足度和延迟参数中重要性强的一项作为基础项,剩余的一项作为修正项;
30.依据修正项对基础项进行修正处理,得到对应计算方式的优先值。
31.第二方面,提供了一种循环冗余校验码优化生成系统,包括:
32.模型构建模块,用于依据测试得到的延迟性能数据集分别构建采用串行循环冗余校验码计算方式的第一性能预测模型和采用并行循环冗余校验码计算方式的第二性能预测模型;
33.延迟预测模块,用于将数据块大小信息分别输入第一性能预测模型、第二性能预测模型,分别得到串行延迟参数和并行延迟参数;
34.资源分析模块,用于以满足延迟性能指标、功耗指标和数据块大小信息为约束条
件,分析从硬件资源库中搜索组建不同计算方式下最优硬件模块的资源满足度;
35.综合分析模块,用于结合资源满足度和延迟参数确定循环冗余校验码在不同计算方式的优先值;
36.优化计算模块,用于选取优先值大的计算方式在相应最优硬件模块中计算得到循环冗余校验码。
37.第三方面,提供了一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面中任意一项所述的一种循环冗余校验码优化生成方法。
38.第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行可实现如第一方面中任意一项所述的一种循环冗余校验码优化生成方法。
39.与现有技术相比,本发明具有以下有益效果:
40.1、本发明提供的一种循环冗余校验码优化生成方法,通过对比不同计算方式的计算延迟,来选择最优的计算方式,可以降低循环冗余校验码的计算时间,提高数据处理系统的性能;同时,虑到串行的计算方式以及并行的计算方式在专用硬件电路上实现所占用的资源以及功耗具有明显差异,而随着所需处理数据块大小的变化,单一的硬件电路实现方式无法充分满足性能的需求,难以达到性能、资源以及功耗间的平衡,在选择最终的计算方式时,综合考虑计算延迟和资源情况,可提高循环冗余校验码硬件模块的设计效率;
41.2、本发明在确定不同计算方式的优先值,依据资源满足度和延迟参数的重要性划分为基础项和修正项,并通过修正项在基础项的基础上进行修正,使得计算得到的优先值更加准确与可靠。
附图说明
42.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
43.图1是本发明实施例中的流程图;
44.图2是本发明实施例中的系统框图。
具体实施方式
45.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
46.实施例1:一种循环冗余校验码优化生成方法,如图1所示,包括以下步骤:
47.s1:依据测试得到的延迟性能数据集分别构建采用串行循环冗余校验码计算方式的第一性能预测模型和采用并行循环冗余校验码计算方式的第二性能预测模型;
48.s2:将数据块大小信息分别输入第一性能预测模型、第二性能预测模型,分别得到串行延迟参数和并行延迟参数;
49.s3:以满足延迟性能指标、功耗指标和数据块大小信息为约束条件,分析从硬件资源库中搜索组建不同计算方式下最优硬件模块的资源满足度;
50.s4:结合资源满足度和延迟参数确定循环冗余校验码在不同计算方式的优先值;
51.s5:选取优先值大的计算方式在相应最优硬件模块中计算得到循环冗余校验码。
52.延迟性能数据的获得过程具体为:分析cpu平台计算循环冗余校验码所提供的指定并行化指令,得到单个指令的性能参数;依据不同计算方式所对应的所有指定并行化指令的性能参数之和,测试得到不同计算方式在对应数据块大小的延迟性能数据;调整数据块大小以得到由多个延迟性能数据组成的延迟性能数据集。
53.其中,cpu平台如intel和arm,延迟测试是根据不同平台所提供的不同硬件指令来进行测试的,例如在x86上采用crc32、pclmulqdq指令,而在arm上则采用crc32cd、crc32cw、crc32ch、crc32cb指令。
54.串行循环冗余校验码是指数据不切分成独立的数据子块,而是整个数据块依次按照固定大小进行校验码计算的方式。并行循环冗余校验码是指数据按照硬件指令计算所需的数据块大小进行切分,切分后的数据块会利用cpu内部的硬件处理方式,来实现并行的计算,并行计算得到的结果,则进一步进行统一整合,来实现循环冗余校验码计算的性能加速。所以,串行与并行的计算方式具有部分相同的硬件指令。
55.不同数据块大小的数值分布在1bytes到16384bytes之间。实际采样分布则为16bytes、32bytes、64bytes、128bytes、256bytes、512bytes、1024bytes、2048bytes、3072bytes、4096bytes、8192bytes。
56.第一性能预测模型和第二性能预测模型的构建过程具体为:将延迟性能数据集中同一计算方式下的延迟性能数据分为训练集与测试集;结合卷积神经网络,并利用神经网络梯度下降训练算法构建得到对应计算方式下的第一性能预测模型和第二性能预测模型。
57.最优硬件模块的搜索组建过程具体为:输入约束条件;利用模拟退火算法从硬件资源库中自动搜索出满足约束条件的硬件模块;将搜索的所有硬件模块组建为最优硬件模块,并包装成带有axi接口的硬件ip核心。
58.资源满足度的分析过程具体为:依据最优硬件模块中各个指标的实际值与约束条件中各个指标的标准值之比得到相应指标的完成度;以所有指标的完成度的权重作为最优硬件模块中的资源满足度。
59.作为一种可选的实施方式,优先值依据资源满足度和延迟参数的均值或权重进行确定。
60.作为另一种可选的实施方式,优先值的确定过程具体为:选取资源满足度和延迟参数中重要性强的一项作为基础项,剩余的一项作为修正项;依据修正项对基础项进行修正处理,得到对应计算方式的优先值。
61.实施例2:一种循环冗余校验码优化生成系统,该系统用于实现实施例1中所记载的一种循环冗余校验码优化生成方法,如图2所示,包括模型构建模块、延迟预测模块、资源分析模块、综合分析模块和优化计算模块。
62.其中,模型构建模块,用于依据测试得到的延迟性能数据集分别构建采用串行循环冗余校验码计算方式的第一性能预测模型和采用并行循环冗余校验码计算方式的第二性能预测模型;延迟预测模块,用于将数据块大小信息分别输入第一性能预测模型、第二性能预测模型,分别得到串行延迟参数和并行延迟参数;资源分析模块,用于以满足延迟性能指标、功耗指标和数据块大小信息为约束条件,分析从硬件资源库中搜索组建不同计算方式下最优硬件模块的资源满足度;综合分析模块,用于结合资源满足度和延迟参数确定循
环冗余校验码在不同计算方式的优先值;优化计算模块,用于选取优先值大的计算方式在相应最优硬件模块中计算得到循环冗余校验码。
63.工作原理:本发明通过对比不同计算方式的计算延迟,来选择最优的计算方式,可以降低循环冗余校验码的计算时间,提高数据处理系统的性能;同时,虑到串行的计算方式以及并行的计算方式在专用硬件电路上实现所占用的资源以及功耗具有明显差异,而随着所需处理数据块大小的变化,单一的硬件电路实现方式无法充分满足性能的需求,难以达到性能、资源以及功耗间的平衡,在选择最终的计算方式时,综合考虑计算延迟和资源情况,可提高循环冗余校验码硬件模块的设计效率。
64.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
65.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
66.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
67.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
68.以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献