CN110034920A - 粗粒度可重构密码逻辑阵列的映射方法及装置 - Google Patents
粗粒度可重构密码逻辑阵列的映射方法及装置 Download PDFInfo
- Publication number
- CN110034920A CN110034920A CN201910280257.XA CN201910280257A CN110034920A CN 110034920 A CN110034920 A CN 110034920A CN 201910280257 A CN201910280257 A CN 201910280257A CN 110034920 A CN110034920 A CN 110034920A
- Authority
- CN
- China
- Prior art keywords
- mapping
- path
- coarse
- optimal
- logic array
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 13
- 239000003016 pheromone Substances 0.000 claims description 44
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 19
- 241000257303 Hymenoptera Species 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 15
- 239000008187 granular material Substances 0.000 abstract 1
- 238000013461 design Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000005712 elicitor Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供粗粒度可重构密码逻辑阵列的映射方法及装置,以简化映射过程。粗粒度可重构密码逻辑阵列包括全互联的可重构处理单元PE;方法包括:将密码算法数据流图中的运算节点划分为多个运算簇;将粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚁群算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。可见,在本发明实施例中,预先对密码算法数据流图进行了划分,随后基于运算簇进行映射,增大了密码算法数据流图的映射粒度,相应的降低算法映射复杂度。同时,采用蚁群算法完成粗粒度可重构密码逻辑阵列与运算簇间的映射,可加速映射收敛过程,提高映射性能及效率。
Description
技术领域
本发明涉及计算机领域,特别涉及粗粒度可重构密码逻辑阵列的映射方法及装置。
背景技术
粗粒度可重构密码逻辑阵列(Coarse-Grained Reconfigurable CryptographyLogic Array,CGRCLA)是面向密码领域的粗粒度可重构计算模型,其有效弥补了FPGA类细粒度可重构器件在粗粒度计算时的短板以及专用指令集密码处理器计算能力受限的问题。
基于CGRCLA的密码算法映射用于将密码算法的高层次描述(例如密码算法数据流图)与粗粒度可重构密码逻辑阵列相映射。
图1示出了密码算法数据流图的示例性结构,其一般包括多个运算节点(图1示出了运算节点A-F);CGRCLA包括多个可重构处理单元(reconfigurable ProcessingElement,PE),每一PE又进一步包括多个类型的可重构密码功能单元(reconfigurablecryptographic Function Unit,FU)。
现阶段基于CGRCLA的密码算法映射会将上述各运算节点与PE中的FU相映射,以指导布局布线,在映射时,常采用手工映射进行辅助,算法映射效率不高,映射过程比较复杂。
发明内容
有鉴于此,本发明提供粗粒度可重构密码逻辑阵列的映射方法及装置,以简化映射过程。
为了实现上述发明目的,本发明提供以下技术方案:
一种粗粒度可重构密码逻辑阵列的映射方法,所述粗粒度可重构密码逻辑阵列包括全互联的多个可重构处理单元PE;
所述方法包括:
将密码算法数据流图中的运算节点划分为多个运算簇;
将所述粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚁群算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
可选的,所述使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径包括:
根据粗粒度可重构密码逻辑阵列的拓扑结构,以及在至少一次训练中经优化的初始化信息素矩阵,进行多次迭代以寻找最优映射路径,直至满足停止条件。
可选的,所述粗粒度可重构阵列中PE的总数量为m×n,m、n为不小于1的自然数;
初始化信息素矩阵Θ定义为:
Θ中的T0至Tmn-1为子矩阵,以Ti表示T0至Tmn-1中的任一子矩阵,Ti定义为:
其中,为PEi到PEj间路径映射的初始化信息素浓度,PEi和PEj表示所述粗粒度可重构阵列中的任一PE,0≤i≤mn-1,0≤j≤mn-1。
可选的,每一次迭代包括:
从所述粗粒度可重构密码逻辑阵列中选择一个PE作为起点;所述起点与第一个运算簇相映射;令k只的蚂蚁从起点出发,探索各自的寻优路径;k为不小于1的自然数;
从各蚂蚁的寻优路径中确定本次迭代的最优路径,并根据本次失代的最优路径和历史最优路径,确定当前最优路径;根据当前最优路径,优化初始化信息素矩阵,以用于下一次迭代;其中,所述最优映射路径为最后一次迭达确定的当前最优路径。
可选的,任一只蚂蚁对寻优路径的探索包括:
确定目标运算簇;所述目标运算簇为下一待映射运算簇;
依据本次迭代所使用的初始化信息素矩阵中的信息素浓度,计算当前所在PE与各候选PE之间的转移概率;其中,每一候选PE为根据所述拓扑关系确定的、下一步映射可选择的PE;
根据所述转移概率,从各候选PE中确定与所述目标运算簇相映射的目标PE;
基于所述拓扑关系,判断所述当前所在PE与所述目标PE之间是否存在可用路径;
若不存在,所述任一只蚂蚁死亡;
若存在,从可用路径中选择最短路径,完成所述当前所在PE与所述目标PE之间的互联;
判断是否遍历完所有运算簇,若是,得到所述任一只蚂蚁的寻优路径;
若否,返回所述确定目标运算簇的步骤。
可选的,初始化信息素矩阵中的根据如下公式进行优化:
其中:
若PEi和PEj均为所述当前最优路径中的节点,
若PEi和PEj中至少一个不为所述当前最优路径中的节点,且
若PEi和PEj中至少一个不为所述当前最优路径中的节点,且Ni,j=0;
为在上一次迭代中经优化后的信息素浓度增量,在首次训练的首次迭代中,Ni,j为本次迭代中经优化的信息素浓度增量;
μ表示第一学习效率因子,λ表示第二学习效率因子。
可选的,还包括:根据最优映射路径输出配置信息;所述配置信息表征了所述目标PE与运算簇的映射关系,任一所述目标PE为所述最优映射路径中的节点。
可选的,所述配置信息至少包括所述目标PE中的可重构密码功能单元FU的输入来源配置信息,所述输入来源配置信息表征了FU与运算簇中的运算节点的映射关系。
一种粗粒度可重构密码逻辑阵列的映射装置,所述粗粒度可重构密码逻辑阵列包括全互联的多个可重构处理单元PE;
所述映射装置包括:
划分单元,用于将密码算法数据流图中的运算节点划分为多个运算簇;
映射单元,用于将所述粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
可选的,在使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径的方面,所述映射单元具体用于:根据粗粒度可重构密码逻辑阵列的拓扑结构,以及在至少一次训练中经优化的初始化信息素矩阵,进行多次迭代以寻找最优映射路径,直至满足停止条件。
可见,在本发明实施例中,预先对密码算法数据流图进行了划分,随后基于运算簇进行映射,增大了密码算法数据流图的映射粒度,相应的降低算法映射复杂度。同时,采用蚁群算法完成粗粒度可重构密码逻辑阵列与运算簇间的映射,可加速映射收敛过程,提高密码算法映射性能及效率。
附图说明
图1为密码算法数据流图的示例性结构;
图2a为本发明实施例提供的CGRCLA示例性结构图;
图2b为本发明实施例提供的PE_L全互联示意图;
图2c为本发明实施例提供的PE_L结构示意图;
图2d为本发明实施例提供的数据流图;
图3为本发明实施例提供的映射装置的示例性结构;
图4为本发明实施例提供的映射方法的示例性流程图;
图5为本发明实施例提供的跨度示意图;
图6为本发明实施例提供的运算节点与FU的映射示意图;
图7为本发明实施例提供的映射方法的另一示例性流程图。
具体实施方式
为方便理解本发明实施例提供的方案,先介绍粗粒度可重构密码逻辑阵列和密码算法数据流图。
粗粒度可重构密码逻辑阵列(Coarse-Grained Reconfigurable CryptographyLogic Array,CGRCLA)是基于密码算法特点进行设计,其硬件结构适合基于数据流的密码算法映射。
CGRCLA可包括全互联的多个可重构处理单元((reconfigurable
Processing Element,PE)。
PE为采用可重构技术设计的面向密码算法处理的运算结构集,请参见图2a,PE共有三种类型:可重构S盒单元(PE_S)、可重构密钥存储单元(PE_K),以及可重构逻辑处理单元(PE_L)。
相邻的PE之间(即各PE_L之间、PE_L与PE_S之间、PE_L与PE_K之间、以及PE_S与PE_K之间),可通过连接器(Connect Box,CB)进行互连,各CB之间则通过双向互连结构开关盒(Switch Box,SB)互连,上述连接形成一个2D-Mesh的拓扑结构。
需要说明的是,本发明提供的映射方案,重点是为了实现密码算法数据流图中的运算节点与PE_L之间的映射,因此如无特别声明,后续提及的“PE”均特指“PE_L”。图2a和图2b示出了16个PE_L间的全互联示意图。
请参见图2c,PE_L进一步又包含四类可重构密码运算元素(reconfigurablecryptographic Function Unit,FU):算术类可重构密码功能单元(FU_AL)、置换类可重构密码功能单元(FU_BP)、逻辑类可重构密码功能单元(FU_LG),以及,非线性类可重构密码功能单元(FU_NF),其中,FU_NF用于加速密码运算处理过程。
此外,还有寄存类可重构密码功能单元(FU_E),用于平衡算法时序。
各FU的输入来自于输入互连网络(Input Network),FU的运算结果经一级可旁路寄存器(Data Flip-Flop,DFF)选择是否寄存后输出至输出互连网络(Output Network)。输入、输出互连网络采用Crossbar全互连结构设计,以满足任意输入、输出的互连需求。
至于密码算法数据流图,其示例性的结构请参见图1。需要说明的是,数据流图中的运算节点表示的是运算处理(不包括数值),运算节点之间的连线,代表连接或依赖关系。
举例来讲,假定密码算法为:(A+B)*C-d,其数据流图如图2d所示。
现阶段基于CGRCLA的密码算法的映射粒度为“运算节点级别”,在映射时,会将密码算法数据流图中的各运算节点与PE中的FU相映射。
为简化映射过程,本发明实施例要求保护的映射方法的核心思想为:
将密码算法数据流图中的运算节点划分为多个运算簇;将粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
由于在进行映射前,预先对密码算法数据流图进行了划分,得到运算簇。这使得本发明的映射粒度为“运算簇级别”,与运算节点相比,映射粒度更大,相应的可降低算法映射复杂度。同时,采用蚁群算法完成CGRCLA与运算簇间的映射,可加速映射收敛过程,提高密码算法映射性能及效率。
蚁群算法一般采用初始化信息素矩阵进行路径寻优,在现有蚁群算法中,初始化信息素矩阵中的各元素均为0。
然而发明人发现:密码算法具有结构上的相似性,例如分组密码算法中的SP结构、Feistel结构、L-M结构,序列密码中的反馈移位寄存器结构等,因此密码算法数据流图也具有一定的相似性,进而使得基于CGRCLA的密码算法映射结果也具有一定相似性。
基于上述发现,可利用训练样本预先进行训练,在训练过程中对初始化信息素矩阵进行优化,使矩阵中的元素不再全部为零。之后再使用优化的初始化信息素矩阵完成CGRCLA与运算簇间的映射,这样可进一步提升映射的收敛速度,使具有相似结构的密码算法能收敛于相似的硬件映射。
图3示出了执行上述映射方法的映射装置的示例性结构,其可包括:
划分单元301,用于将密码算法数据流图中的运算节点划分为多个运算簇;
映射单元302,用于将CGRCLA中的PE作为蚂蚁节点,使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
此外,映射装置还可包括训练单元303,以根据训练样本进行训练,优化初始化信息素矩阵。
或者,也可采用独立的训练装置进行训练。
下面将基于上面所述的本发明涉及的共性方面,对本发明实施例进行进一步详细说明。
图4示出了由上述控制装置执行的映射方法的一种示例性流程,至少可包括如下步骤:
S1:将密码算法数据流图中的运算节点划分为多个运算簇。
步骤S1可由前述的划分单元301执行。
在一个示例中,划分出运算簇应满足如下约束条件:
①,数目:
受CGRCLA计算资源的限制,运算簇内任一运算类型的运算节点的数目,应小于等于PE中相应运算类型所包含的FU的数目。
前述提及了,PE_L包含四类FU:
FU_AL、FU_BP、FU_LG和FU_NF。
以FU_AL为例,假定PE_L中包括n个FU_AL,则每一运算簇中所包含的算术类的运算节点的数目应小于等于n,以此类推,从而满足映射需求。
一般情况下,PE_L中FU_AL、FU_BP、FU_LG和FU_NF的个数均为一个,则在划分运算簇时应使簇内所包含运算节点的运算类型互斥。
②,入度及出度
运算簇的入度定义为簇的输入数目,运算簇的出度定义为簇的输出数目,因此,运算簇的入度及出度即对应PE的输入及输出端口数目。
受阵列互连资源的限制,PE的输入及输出均需通过CB实现交互,因此,划分运算簇时,应保证运算簇的入度及出度应小于等于与PE相连接的CB数目。
③,簇间不存在数据环路
运算簇间存在数据环路的定义为:两个运算簇存在输入与输出的数据依赖。
举例来讲,运算簇A的输出为运算簇B的输入来源,而运算簇B的输出又为运算簇A的输入来源,这样,运算簇A和运算簇B之间就形成了输入输出环路(也即数据环路)。
簇间数据环路将影响数据流图的数据流向,造成数据引用失序等错误,因此,在进行数据流图的划分时应避免运算簇间数据环路的产生。
但是,簇内的运算节点之间可以存在数据环路。
④,簇内运算节点的跨度连续
运算节点的跨度可定义为:运算节点到包含系统输入节点间有向跨越节点数目的最大值。
以图5所示数据流图为例,运算节点A为输入节点,跨度为1;运算节点B、C和运算节点A直接相连,跨度为2;运算节点D和运算节点B直接相连,跨度为3;运算节点E分别和运算节点A、B直接相连,因此取跨越节点的最大值,即运算节点E的跨度为3;以此类推。
从跨度连续角度来看,运算节点A、B、E可划分在同一簇中,但运算节点A、B、E、J则不宜划在同一簇中,因为运算节点J的跨度为5,而运算节点A、B、E的跨度分别为1、2、3,与5是不连续的。
当然若运算簇中运算节点的跨度分别是2、2、3,也是连续的。
节点间跨度连续确保了划分后算法数据流图的紧凑性,降低了因簇间过长连线导致映射失败的风险。
步骤S1可基于粗粒度可重构密码逻辑阵列的密码算法映射的预处理过程,结合粗粒度可重构密码逻辑阵列结构特征对数据流图进行预处理,能有效减少待映射数据流图节点数目,降低映射复杂度,提升密码算法的映射速度。
S2:根据经优化的初始化信息素矩阵中的信息素浓度,以及,各PE间的拓扑结构,进行多次迭代以寻找最优映射路径,直至满足停止条件。
步骤S2可由前述的映射单元302执行。
需要说明的是,最优映射路径是最后一次迭达更新得到的当前最优路径。
最优映射路径中的每一PE与一个运算簇相映射。
由于PE内部的各FU采用Crossbar全互连网络结构设计,因此无需考虑簇内运算节点的连接关系。
在一个示例中,停止条件可包括:达到预定迭代步数(例如10万次)或出现停滞现象。
本文后续将介绍每一次迭代所包括的步骤,以及什么是停滞现象。
S3:根据最优映射路径输出配置信息。
步骤S3可由前述的映射单元302执行。
配置信息至少反映了目标PE与运算簇的映射关系。这里的目标PE指最优映射路径中的节点。
更具体的,前述提及了,PE包括四类FU,则在一个示例中,配置信息可包括目标PE中各FU的输入来源配置信息,输入来源配置信息反映了FU与运算节点间的映射关系。运算节点间的连线则对应粗粒度可重构密码逻辑阵列的互连网络。
配置信息的形式可为二进制,因此配置信息也可称为配置比特流。
举例来讲,假定图6中的运算节点A与PE0中的FU_AL0相映射,运算节点B与PE0中的FU_BP0相映射,运算节点C与PE0中的FU_LG0相映射,而运算节点A又为系统输入节点,则FU_AL0的输入来源配置为外部输入,FU_BP0的输入来源配置为FU_AL0,FU_LG0的输入来源配置为FU_AL0。
可见,在本发明实施例中,预先对密码算法数据流图进行了划分,随后基于运算簇进行映射,增大了密码算法数据流图的映射粒度,相应的降低算法映射复杂度。同时,采用蚁群算法完成粗粒度可重构密码逻辑阵列与运算簇间的映射,可加速映射收敛过程,提高密码算法映射性能及效率。
下面将以一次迭代为例,进行介绍。请参见图7,在训练过程中,或者真正使用过程中,蚁群算法的每一次迭代可包括如下步骤:
S700:从粗粒度可重构密码逻辑阵列中选择一个PE作为起点。
其中,起点与第一个运算簇相映射,第一个运算簇指包含系统输入节点的运算簇。
起点一般为粗粒度可重构密码逻辑阵列中包含从外部输入接口的PE,在其中可随机选择。
S701:令k只的蚂蚁从起点出发,探索各自的寻优路径。
本领域技术人员可根据实际需要灵活设计k的取值,例如,在CGRCLA包含16个PE的情况下,k的取值为40左右,收敛速度较快。
在一个示例中,仍请参见图7,任一只蚂蚁探索寻优路径的流程如下:
S7011:确定下一待映射运算簇(目标运算簇)。
在一个示例中,可依据广度优先搜索算法遍历划分后的密码算法数据流图,确定目标运算簇。
之所以采用广度优先搜索算法,是因为布线比较整齐。
S7012:依据本次迭代所使用的初始化信息素矩阵中的信息素浓度,计算蚂蚁当前所在PE(简称为当前PE)与各候选PE之间的转移概率。
其中,每一候选PE为根据CGRCLA的拓扑关系和互连资源确定的、下一步映射可选择的PE,或者也可认为,候选PE为候选PE集中的PE。
具体的,已被映射的PE不能作为候选PE,另外,虽未被映射但与当前所在PE(简称当前PE)之间无可用路径的PE也不能作为候选PE。
假定粗粒度可重构阵列中PE的总数量为m×n(m、n为不小于1的自然数);
则初始化信息素矩阵Θ定义为:
Θ中的T0至Tmn-1为子矩阵,以Ti表示T0至Tmn-1中的任一子矩阵,子矩阵Ti定义为:
其中,为PEi到PEj间路径映射的初始化信息素浓度,PEi和PEj表示粗粒度可重构阵列中的任一PE,0≤i≤mn-1,0≤j≤mn-1。
以PE0为例,假定PE的总数量为16,则子矩阵T0表示PE0与其他15个PE之间的信息素浓度,其定义为:
在首次训练的首次迭代之前,的取值为零,否则,初始化信息素矩阵中的信息素浓度根据上一次迭代结果进行了更新(优化)。
转移概率计算公式如下:
其中,Jk(i)为候选PE集,τi,j(t)为t时刻PEi和PEj间的信息素浓度,并以固定比例ρ进行挥发,ηi,j(t)为t时刻PEi与PEj间启发因子,其反比于PEi与PEj间的最短距离(CB、SB数目之和),α为信息素的相对重要程度,β为启发因子的相对重要程度。
需要说明的是,t时刻是广义范围的时刻,当蚂蚁在起点(第0步映射)时,t取值为0,每映射一步,t加1。也即,将为第3步映射时,t取值为3。
在t=0时,τi,j(t)的取值由PE间的距离决定,在一个示例中,可使用PE间的距离的反比来计算τi,j(0)。以i=0,j=1为例,假定PE0与PE1间的距离为s0,1(0),则τ0,1(0)=1/s0,1(0)。再以τ0,1(0)为基础,算第t步的信息素浓度,计算方式可参考现有方法,在此不作赘述。
至于两PE间的距离,则根据两PE间的连接器(前述的CB和SB均为连接器)的数量而确定。
举例来讲,PEi到PEj共有Q条路径,每条路径中包括的连接器分别为N0,N1,……,NQ-1,则在一个示例中,PEi到PEj的距离si,j(0)可通过下式计算:
其中,w0,w1,……,wQ-1为权重。
w0,w1,……,wQ-1的取值可依经验值设定,一般情况下,连接器较多,其对应的权重越小。
本领域技术人员可根据需要设计ρ、α和β的取值,以实现快速收敛。
S7013:根据计算的转移概率,从各候选PE中确定与目标运算簇相映射的目标PE。
具体的方式可包括:生成0-1间的随机小数,选取转移概率与随机小数最接近的候选PE作为目标PE。
举例来讲,假定PE0与PE1-3间的转移概率分别是50%,30%和20%,生成随机小数,若随机小数在1-0.5之间,选PE1作为目标PE,若随机小数在0.5-0.3之间,选PE2作为目标PE,而若随机小数在0-0.3之间,选PE3作为目标PE。
S7014:基于CGRCLA的拓扑关系,判断当前PE与目标PE之间是否存在可用路径,若存在,至S7015,若不存在,蚂蚁死亡。
S7015:从可用路径中选择最短路径,完成当前PE与目标PE之间的互联。
需要说明的是,当前PE与目标PE之间的路径以当前PE为起点,目标PE为终点。
由于是全互连构,所以当前PE与目标PE之间有多条路径。但若路径中的节点已被映射,则该路径认为被占用,为不可用路径。
举例来讲,以PE1为当前PE,PE2为目标PE为例,假定二者间有5条路径,其中一条路径的一部分在之前的映射中已被映射,则该路径被占用。
仍以PE1为当前PE,PE2为目标PE为例,在互连资源允许的条件下,可采用最短路径法完成PE1和PE2间互连,若最短路径已被占用,则在剩余可行解(可用路径)中继续寻找最短路径,若无任一路径可达,则当前蚂蚁死亡。
需要说明的是,每进行一步映射,就更新该蚂蚁的PE集合的禁忌表。
禁忌表中的PE包括:已被映射的PE、不可使用的PE,以及虽未被映射但已无可用路径的PE。
在一个示例中,在每次迭代开始时,k只蚂蚁可以有共同的初始禁忌表。这是考虑到粗粒度可重构密码逻辑阵列中可能只分配部分PE用于某一密码算法,未分配的PE将包含在初始的禁忌表里。
S7016:判断是否所有运算簇均遍历完,若是,得到该蚂蚁的寻优路径(S7017),进入S702,若否,返回S7011。
S702:从各蚂蚁的寻优路径中确定本次迭代的最优路径,根据本次迭代的最优路径,更新当前最优路径。
在一个示例中,可将本次迭代中实验性能最佳的寻优路径确定为本次迭代的最优路径。之后,将本次迭代的最优路径与已存储的最优路径比较,将实验性能更好的路径作为当前最优路径。
在另一个示例中,也可将从各寻优路径和已存储的最优路径中,选择实验性能最佳的路径作为当前最优路径。
所谓实验性能最佳可包括:被映射的密码算法的性能最佳,以及,蚁群算法的收敛时间最少。
S703:根据本次迭代的最优路径或当前最优路径,优化初始化信息素矩阵,以用于下一次迭代。
此外,还可清空禁忌表。
在一个示例中,初始化信息素矩阵中的可根据如下公式进行优化:
其中:
若PEi和PEj均为当前最优路径中的节点,
若PEi和PEj中至少一个不为当前最优路径中的节点,且
若PEi和PEj中至少一个不为当前最优路径中的节点,且Ni,j=0;
为在上一次迭代中经优化后的信息素浓度增量,在首次训练的首次迭代中,而Ni,j为本次迭代中经优化的信息素浓度增量;
μ表示第一学习效率因子,λ表示第二学习效率因子,二者均为经验值。上标θ是一个控制参数,调节信息素浓度使用。
S704:判断是否满足停止条件,若满足,至S705,否则返回S700。
其中停止条件包括:迭代步数达到预定迭代步数(例如10万次)或出现停滞现象。
所谓的停滞现象可包括如下情况:
一,PE已全部映射完但还存在未映射的运算簇;
二,互连资源用完(k只蚂蚁全部死亡)。
S705:根据最优映射路径输出配置信息。
需要说明的是,最优映射路径是最后一次迭达更新得到的当前最优路径。
S705与前述的S3相同,在此不作赘述。
S700-S705可由前述的映射单元302实现,或者,在训练过程中,S700-S705可由前述的训练单元303或独立的训练装置执行。
综上,本发明的技术方案基于数据流图优化(Data Flow Graph Optimization,DFGO)及蚁群优化算法(Ant Colony Optimization,ACO)进行设计,包含了面向密码算法数据流图的簇划分算法以及智慧蚁群优化算法,能有效提升从算法数据流图到阵列配置流的生成过程,加速映射收敛过程,提高密码算法映射性能及效率。
具体的,在本发明实施例中,通过构建由密码算法数据流图到粗粒度可重构密码逻辑阵列映射二进制配置流的映射方法,实现了密码算法映射的自动化;以粗粒度可重构密码逻辑阵列计算及互连资源等为约束,通过构建密码算法数据流图划分算法,降低密码算法映射复杂度,提升映射算法收敛速度;通过构建智慧蚁群搜索算法,并基于大量样本映射学习,优化初始化信息素矩阵,以已知优化的算法映射结果,指导未知算法映射,使具有相似结构的密码算法能收敛于相似的硬件映射,从而提升映射算法的收敛速度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种粗粒度可重构密码逻辑阵列的映射方法,其特征在于,所述粗粒度可重构密码逻辑阵列包括全互联的多个可重构处理单元PE;
所述方法包括:
将密码算法数据流图中的运算节点划分为多个运算簇;
将所述粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚁群算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
2.如权利要求1所述的方法,其特征在于,所述使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径包括:
根据粗粒度可重构密码逻辑阵列的拓扑结构,以及在至少一次训练中经优化的初始化信息素矩阵,进行多次迭代以寻找最优映射路径,直至满足停止条件。
3.如权利要求2所述的方法,其特征在于,所述粗粒度可重构阵列中PE的总数量为m×n,m、n为不小于1的自然数;
初始化信息素矩阵Θ定义为:
Θ中的T0至Tmn-1为子矩阵,以Ti表示T0至Tmn-1中的任一子矩阵,Ti定义为:
其中,为PEi到PEj间路径映射的初始化信息素浓度,PEi和PEj表示所述粗粒度可重构阵列中的任一PE,0≤i≤mn-1,0≤j≤mn-1。
4.如权利要求3所述的方法,其特征在于,每一次迭代包括:
从所述粗粒度可重构密码逻辑阵列中选择一个PE作为起点;所述起点与第一个运算簇相映射;
令k只的蚂蚁从起点出发,探索各自的寻优路径;k为不小于1的自然数;
从各蚂蚁的寻优路径中确定本次迭代的最优路径,并根据本次失代的最优路径和历史最优路径,确定当前最优路径;
根据当前最优路径,优化初始化信息素矩阵,以用于下一次迭代;
其中,所述最优映射路径为最后一次迭达确定的当前最优路径。
5.如权利要求4所述的方法,其特征在于,任一只蚂蚁对寻优路径的探索包括:
确定目标运算簇;所述目标运算簇为下一待映射运算簇;
依据本次迭代所使用的初始化信息素矩阵中的信息素浓度,计算当前所在PE与各候选PE之间的转移概率;其中,每一候选PE为根据所述拓扑关系确定的、下一步映射可选择的PE;
根据所述转移概率,从各候选PE中确定与所述目标运算簇相映射的目标PE;
基于所述拓扑关系,判断所述当前所在PE与所述目标PE之间是否存在可用路径;
若不存在,所述任一只蚂蚁死亡;
若存在,从可用路径中选择最短路径,完成所述当前所在PE与所述目标PE之间的互联;
判断是否遍历完所有运算簇,若是,得到所述任一只蚂蚁的寻优路径;
若否,返回所述确定目标运算簇的步骤。
6.如权利要求4所述的方法,其特征在于,初始化信息素矩阵中的根据如下公式进行优化:
其中:
若PEi和PEj均为所述当前最优路径中的节点,
若PEi和PEj中至少一个不为所述当前最优路径中的节点,且
若PEi和PEj中至少一个不为所述当前最优路径中的节点,且Ni,j=0;
为在上一次迭代中经优化后的信息素浓度增量,在首次训练的首次迭代中,Ni,j为本次迭代中经优化的信息素浓度增量;
μ表示第一学习效率因子,λ表示第二学习效率因子。
7.如权利要求1所述的方法,其特征在于,还包括:根据最优映射路径输出配置信息;所述配置信息表征了所述目标PE与运算簇的映射关系,任一所述目标PE为所述最优映射路径中的节点。
8.如权利要求7所述的方法,其特征在于,所述配置信息至少包括所述目标PE中的可重构密码功能单元FU的输入来源配置信息,所述输入来源配置信息表征了FU与运算簇中的运算节点的映射关系。
9.一种粗粒度可重构密码逻辑阵列的映射装置,其特征在于,所述粗粒度可重构密码逻辑阵列包括全互联的多个可重构处理单元PE;
所述映射装置包括:
划分单元,用于将密码算法数据流图中的运算节点划分为多个运算簇;
映射单元,用于将所述粗粒度可重构密码逻辑阵列中的PE作为蚂蚁节点,使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径;其中,最优映射路径中的每一PE与一个运算簇相映射。
10.如权利要求9所述的映射装置,其特征在于,在使用蚂蚁算法计算得到粗粒度可重构密码逻辑阵列与运算簇间的最优映射路径的方面,所述映射单元具体用于:
根据粗粒度可重构密码逻辑阵列的拓扑结构,以及在至少一次训练中经优化的初始化信息素矩阵,进行多次迭代以寻找最优映射路径,直至满足停止条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280257.XA CN110034920B (zh) | 2019-04-09 | 2019-04-09 | 粗粒度可重构密码逻辑阵列的映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280257.XA CN110034920B (zh) | 2019-04-09 | 2019-04-09 | 粗粒度可重构密码逻辑阵列的映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110034920A true CN110034920A (zh) | 2019-07-19 |
CN110034920B CN110034920B (zh) | 2023-03-31 |
Family
ID=67237718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910280257.XA Active CN110034920B (zh) | 2019-04-09 | 2019-04-09 | 粗粒度可重构密码逻辑阵列的映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110034920B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738703A (zh) * | 2020-05-29 | 2020-10-02 | 中国科学院计算技术研究所 | 一种加速安全散列算法的加速器 |
CN111930680A (zh) * | 2020-09-17 | 2020-11-13 | 北京清微智能科技有限公司 | 一种可重构阵列映射方法和装置 |
CN112612744A (zh) * | 2020-12-14 | 2021-04-06 | 上海交通大学 | 一种基于数据流解耦的可重构阵列映射方法 |
CN116611125A (zh) * | 2023-07-20 | 2023-08-18 | 中国电子信息产业集团有限公司第六研究所 | 一种高速可重构密码处理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868532A (zh) * | 2012-09-12 | 2013-01-09 | 清华大学 | 基于可重构技术的加解密算法中基本算子的提取方法 |
CN106599936A (zh) * | 2016-12-29 | 2017-04-26 | 湖北工业大学 | 一种基于二进制蚁群算法的特征选择方法及系统 |
CN107222906A (zh) * | 2017-07-03 | 2017-09-29 | 哈尔滨理工大学 | 基于蚁群算法的leach协议优化方法 |
CN108400866A (zh) * | 2018-03-01 | 2018-08-14 | 中国人民解放军战略支援部队信息工程大学 | 一种粗粒度可重构密码逻辑阵列 |
US20180267931A1 (en) * | 2017-03-14 | 2018-09-20 | Yuan Li | Private Memory Structure for Reconfigurable Parallel Processor |
-
2019
- 2019-04-09 CN CN201910280257.XA patent/CN110034920B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868532A (zh) * | 2012-09-12 | 2013-01-09 | 清华大学 | 基于可重构技术的加解密算法中基本算子的提取方法 |
CN106599936A (zh) * | 2016-12-29 | 2017-04-26 | 湖北工业大学 | 一种基于二进制蚁群算法的特征选择方法及系统 |
US20180267931A1 (en) * | 2017-03-14 | 2018-09-20 | Yuan Li | Private Memory Structure for Reconfigurable Parallel Processor |
CN107222906A (zh) * | 2017-07-03 | 2017-09-29 | 哈尔滨理工大学 | 基于蚁群算法的leach协议优化方法 |
CN108400866A (zh) * | 2018-03-01 | 2018-08-14 | 中国人民解放军战略支援部队信息工程大学 | 一种粗粒度可重构密码逻辑阵列 |
Non-Patent Citations (3)
Title |
---|
周理: "高效可重构阵列计算:体系结构,设计方法与", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
江明 等: "基于改进蚁群算法的移动机器人路径规划研究", 《仪器仪表学报》 * |
陈宇涵: "分组密码算法的可重构关键技术研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738703A (zh) * | 2020-05-29 | 2020-10-02 | 中国科学院计算技术研究所 | 一种加速安全散列算法的加速器 |
CN111930680A (zh) * | 2020-09-17 | 2020-11-13 | 北京清微智能科技有限公司 | 一种可重构阵列映射方法和装置 |
CN112612744A (zh) * | 2020-12-14 | 2021-04-06 | 上海交通大学 | 一种基于数据流解耦的可重构阵列映射方法 |
CN116611125A (zh) * | 2023-07-20 | 2023-08-18 | 中国电子信息产业集团有限公司第六研究所 | 一种高速可重构密码处理系统及方法 |
CN116611125B (zh) * | 2023-07-20 | 2023-12-05 | 中国电子信息产业集团有限公司第六研究所 | 一种高速可重构密码处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110034920B (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110034920B (zh) | 粗粒度可重构密码逻辑阵列的映射方法及装置 | |
Steck et al. | Bayesian belief networks for data mining | |
Gall et al. | Quantum advantage for the LOCAL model in distributed computing | |
Hollanders et al. | The complexity of policy iteration is exponential for discounted Markov decision processes | |
Bhatt et al. | Optimal emulations by butterfly-like networks | |
CN115700641A (zh) | 最短路径的确定方法、装置、电子设备和存储介质 | |
Baswana et al. | Faster algorithms for all-pairs approximate shortest paths in undirected graphs | |
Marom et al. | Zero-shot transfer with deictic object-oriented representation in reinforcement learning | |
Sarbazi-Azad | Performance analysis of wormhole routing in multicomputer interconnection networks | |
Mohtavipour et al. | A large-scale application mapping in reconfigurable hardware using deep graph convolutional network | |
CN115473838A (zh) | 网络请求的处理方法、装置、计算机可读介质及电子设备 | |
Guo et al. | Embedding hierarchical cubic networks into k-rooted complete binary trees for minimum wirelength | |
Lam et al. | Distributed data mining of probabilistic knowledge | |
Zaitsev et al. | Modeling multidimensional communication lattices with moore neighborhood by infinite Petri nets | |
Jana et al. | OTIS-MOT: an efficient interconnection network for parallel processing | |
Maiti et al. | Linear time algorithm for identifying the invertibility of null-boundary three neighborhood cellular automata | |
Parhami et al. | Why network diameter is still important | |
Huang et al. | The minimum regret path problem on stochastic fuzzy time-varying networks | |
Datta et al. | An efficient approach to find reliable topology of stochastic flow networks under cost constraint | |
Parhami et al. | The robust-algorithm approach to fault tolerance on processor arrays: fault models, fault diameter, and basic algorithms | |
US5327579A (en) | Scanning systems using tree structures | |
Al-Sadi | Hamiltonian cycle within extended OTIS-Cube topology | |
CN111953614B (zh) | 数据传输方法、装置、处理设备及介质 | |
Al-Salami | Reliability Analysis of Flow Networks | |
Wu et al. | Scheduling traffic matrices on general switch fabrics |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |