一种基于离散萤火虫算法的片上网络映射方法技术

技术编号:10491675 阅读:246 留言:0更新日期:2014-10-03 19:04
本发明专利技术公开了一种基于离散萤火虫算法的片上网络映射方法,其特征包括以下步骤:步骤1.参数定义;步骤2.初始化萤火虫个体集合及参数;步骤3.检查迭代终止条件,若满足迭代终止条件,则执行步骤9,否则执行步骤4;步骤4.获取第G次迭代时的最优萤火虫及全局最优萤火虫;步骤5.判断萤火虫个体的移动条件;步骤6.遍历萤火虫个体集合,并按照步骤5判断所有萤火虫个体的移动条件,遍历完成则执行步骤8;步骤7.更新萤火虫个体;步骤8.更新第G次迭代时的最优萤火虫;步骤9.获得最优映射方案。本发明专利技术能缩短优化时间,提高求解精度,获得更优映射结果。

【技术实现步骤摘要】
一种基于离散萤火虫算法的片上网络映射方法
本专利技术属于网络通信
,尤其涉及一种基于离散萤火虫算法的片上网络映射方法。
技术介绍
随着半导体芯片制造工艺水平的不断发展,半导体晶圆的面积不断增大,集成电路的特征尺寸越来越小,集成电路上的晶体管资源越来越多。单个芯片上集成晶体管数目的增加,使得多个芯片组成的系统朝着单芯片的片上系统(System-on-Chip)方向发展。目前,大多数的SoC上的各个功能部件、处理器核之间的互联都是基于总线结构,但是随着人们对芯片功能需求的提高,SoC集成组件也越来越多,传统的总线结构在可拓展性、可重用通信效率、时钟同步上开始出现劣势,这些都将成为减小系统功耗、减少面积、提高通信速度的瓶颈。因此将计算机的局域网网络结构思想移植到芯片设计上来,采用片上路由解决数据间的交流通信,从而提出了片上网络(Network-on-Chip,NoC)的概念。NoC由资源节点和通讯节点组成。NoC将逐渐成为未来集成电路的发展方向。IP核是指产品应用于专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)的逻辑块或数据块,将一些在数字电路中常用但比较复杂的功能块设计成可修改参数的模块,让其他用户可以直接调用这些模块。映射过程是指在已知NoC体系拓扑结构和IP核间通信量的基础上,按某种方法将各IP核分配到NoC的各资源节点上,以实现特定应用与NoC体系结构相互对应的过程,映射结果的优劣则通过比较目标函数而得出的。用数学方式描述映射过程:定义1:用应用特征图来表示特定应用:应用特征图Df(Vf,Ef),为有向非循环加权图,图中顶点Vfi∈Vf,表示执行第i个任务的IP核;有向弧Efi,fj∈Ef,表示顶点Vfi与Vfj之间的通讯关系,其权重vfi,fj表示顶点Vfi与Vfj之间的通讯量,bfi,fj则表示顶点Vfi与Vfj之间的通信带宽要求;定义2:NoC体系结构的表示方法给定NoC结构特征图Archf(Rf,Chf)为有向图。图中顶点ri∈Rf,表示NoC中的第i个通讯节点ri;有向弧Chi,j∈Chf表示从通讯节点ri到通讯节点rj的链路;表示通讯节点ri到通讯节点rj的能提供的最大通信带宽。映射则为一个Df(Vf,Ef)->Archf(R,Ch)函数,将应用特征图Df(Vf,Ef)中的每一个顶点Vfi∈Vf映射到NoC结构特征图Archf(R,Ch)中的每一个通讯节点顶点ri∈R上,即{map(r1),map(r2),...,map(ri),...,map(rT-1)}表示映射方案,并满足如下约束:1、特征应用图Df(Vf,Ef)中的顶点总数不大于NoC结构特征图Archf(R,Ch)中的通讯节点总数;2、带宽需求:3、IP核与通讯节点一一对应。在NoC系统设计中,片上网络映射问题成为首要的问题,好的映射可以改善整体系统的延迟、功耗等各方面的性能。而映射问题属于非确定多项式(NP)问题,其所搜空间随着网络尺寸的增长呈阶乘递增,因此寻找一种算法能在合理的时间内得到一个最优的结构是设计者面临的一个难题。现有技术中,发表于2014年2月的IEEETransactionsonverylargescaleintegrationsystems国际会议第300-312页的“ApplicationMappingOntoMesh-BasedNetwork-On-ChipUsingDiscreteParticleSwarmOptimization”论文,提出一种基于离散粒子群算法(DPSO)的映射方法,通过多次迭代该文所提出的基本粒子群算法或通过确定性产生初始样本的一部分,来实现离散粒子群算法。此方法的不足之处在于,对于粒子群算法(PSO),在PSO算法的位置更新公式中并没有加入随机因子,因此容易使优化结果陷入局部最优,无法获取全局最优解;在确定性产生初始样本的一部分过程中,限制了该算法的探索空间,可能会导致无法获得全局最优解。
技术实现思路
本专利技术为克服现有技术的不足之处,提出了一种基于离散萤火虫算法的片上网络映射方法,旨在缩短优化时间,提高求解精度,获得更优映射结果。本专利技术为达到上述目的所采用的技术方案是:本专利技术一种基于离散萤火虫算法的片上网络映射方法,所述片上网络是由资源节点和通讯节点组成,其特点是按如下步骤进行:步骤1、参数定义:定义所述片上网络的拓扑结构为R,且R={L,M,N},L表示片上网络的行数,M表示片上网络的列数,N表示片上网络的层数,L>0,M>0,N>0;以所述拓扑结构R的任一顶点为原点o,以所述拓扑结构R的行方向为x轴,列方向为y轴,层方向为z轴,建立笛卡尔直角坐标系o-xyz;令IP核c表征为所述片上网络的资源节点,则IP核集合为C={c0,c1,…,ca,…,cA-1},A表示IP核总数,A≤L×M×N,ca表示所述片上网络中的第a个IP核,0≤a≤A-1;定义萤火虫个体集合为X={X1(t1),X2(t2),…,Xk(tk),…,XK(tK)},K表示萤火虫个体总数,1≤k≤K,t表示萤火虫个体的更新次数,t≥0,tk表示第k只萤火虫个体的更新次数,Xk(tk)表示第tk次更新后的第k只萤火虫个体;定义Pk(tk)为所述第tk次更新后的第k只萤火虫个体Xk(tk)的映射方案,Pk(tk)={map(r0),map(r1),...,map(ri),...,map(rT-1)},r表示所述片上网络中的通讯节点,T为所述片上网络中的通讯节点总数,T=L×M×N,ri表示所述片上网络中的第i个通讯节点,0≤i≤T-1;假设按照所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)对所述IP核集合C进行映射后,若所述第i个通讯节点ri上未映射有IP核,则定义map(ri)=-1;若所述第i个通讯节点ri上映射有IP核,则定义map(ri)=a,表示映射在第i个通讯节点ri上的IP核为第a个IP核ca;定义所述第k只萤火虫个体Xk(tk)的荧光亮度为Ik(tk);定义所述第k只萤火虫个体Xk(tk)的映射方案的总通讯量为所述第k只萤火虫个体Xk(tk)的荧光亮度Ik(tk);定义Qk(tk)={R,Pk(tk)}表示所述片上网络的拓扑结构R和所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)的拼接;则将所述第k只萤火虫个体Xk(tk)表征为Xk(tk)={Qk(tk),Ik(tk)};定义wk为第k只萤火虫Xk(tk)与其他任意一只萤火虫个体之间计算归一化距离的次数,wk>0;定义为第wk次计算的第k只萤火虫Xk(tk)和其他任一只萤火虫个体Xs(ts)之间的归一化距离,1≤s≤K,且s≠k;定义光强吸收因子为γ,γ∈[0,1]、迭代次数为G、最大迭代次数为GMax、最大随机步长为α、最大吸引度为β0;步骤2、初始化萤火虫个体集合及参数:步骤2.1、随机产生映射方案Pk(tk),获得所述片上网络中映射有IP核的通讯节点的坐标;步骤2.2、利用式(1)获得荧光亮度Ik(tk):式(1)中,vi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间的通讯量;hi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间本文档来自技高网
...
一种基于离散萤火虫算法的片上网络映射方法

【技术保护点】
一种基于离散萤火虫算法的片上网络映射方法,所述片上网络是由资源节点和通讯节点组成,其特征是按如下步骤进行:步骤1、参数定义:定义所述片上网络的拓扑结构为R,且R={L,M,N},L表示片上网络的行数,M表示片上网络的列数,N表示片上网络的层数,L>0,M>0,N>0;以所述拓扑结构R的任一顶点为原点o,以所述拓扑结构R的行方向为x轴,列方向为y轴,层方向为z轴,建立笛卡尔直角坐标系o‑xyz;令IP核c表征为所述片上网络的资源节点,则IP核集合为C={c0,c1,…,ca,…,cA‑1},A表示IP核总数,A≤L×M×N,ca表示所述片上网络中的第a个IP核,0≤a≤A‑1;定义萤火虫个体集合为X={X1(t1),X2(t2),…,Xk(tk),…,XK(tK)},K表示萤火虫个体总数,1≤k≤K,t表示萤火虫个体的更新次数,t≥0,tk表示第k只萤火虫个体的更新次数,Xk(tk)表示第tk次更新后的第k只萤火虫个体;定义Pk(tk)为所述第tk次更新后的第k只萤火虫个体Xk(tk)的映射方案,Pk(tk)={map(r0),map(r1),...,map(ri),...,map(rT‑1)},r表示所述片上网络中的通讯节点,T为所述片上网络中的通讯节点总数,T=L×M×N,ri表示所述片上网络中的第i个通讯节点,0≤i≤T‑1;假设按照所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)对所述IP核集合C进行映射后,若所述第i个通讯节点ri上未映射有IP核,则定义map(ri)=‑1;若所述第i个通讯节点ri上映射有IP核,则定义map(ri)=a,表示映射在第i个通讯节点ri上的IP核为第a个IP核ca;定义所述第k只萤火虫个体Xk(tk)的荧光亮度为Ik(tk);定义所述第k只萤火虫个体Xk(tk)的映射方案的总通讯量为所述第k只萤火虫个体Xk(tk)的荧光亮度Ik(tk);定义Qk(tk)={R,Pk(tk)}表示所述片上网络的拓扑结构R和所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)的拼接;则将所述第k只萤火虫个体Xk(tk)表征为Xk(tk)={Qk(tk),Ik(tk)};定义wk为第k只萤火虫Xk(tk)与其他任意一只萤火虫个体之间计算归一化距离的次数,wk>0;定义为第wk次计算的第k只萤火虫Xk(tk)和其他任一只萤火虫个体Xs(ts)之间的归一化距离,1≤s≤K,且s≠k;定义光强吸收因子为γ,γ∈[0,1]、迭代次数为G、最大迭代次数为GMax、最大随机步长为α、最大吸引度为β0;步骤2、初始化萤火虫个体集合及参数:步骤2.1、随机产生映射方案Pk(tk),获得所述片上网络中映射有IP核的通讯节点的坐标;步骤2.2、利用式(1)获得荧光亮度Ik(tk):Ik(tk)=Σi=1L×M×NΣj=1L×M×Nvi,j×hi,j---(1)]]>式(1)中,vi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间的通讯量;hi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间的跳数,令映射有IP核的第i个通讯节点ri的坐标为(ix,iy,iz),映射有IP核的第j个通讯节点rj的坐标为(jx,jy,jz),则hi,j=|ix‑jx|+|iy‑jy|+|iz‑jz|;步骤2.3、按照步骤2.1和步骤2.2,初始化萤火虫个体集合中的每一个萤火虫个体;步骤2.4、初始化迭代次数G=0,输入光强吸收因子γ,γ∈[0,1]、最大迭代次数GMax=gmax、最大随机步长α=step,最大吸引度β0=1,更新次数tk=0,计算归一化距离的次数wk=1;步骤3、令迭代终止条件为G≥GMax,若满足所述迭代终止条件,则执行步骤9,否则执行步骤4;步骤4、获取第G次迭代时的最优萤火虫Xmin(G)及全局最优萤火虫Xgmin(G):遍历所述萤火虫个体集合并比较任意两只萤火虫个体的荧光亮度,寻找荧光亮度最小的萤火虫个体记为第G次迭代时的最优萤火虫Xmin(G);当G=0时,全局最优萤火虫Xgmin(G)=Xmin(G),当G≠0时,若Xgmin(G)>Xmin(G),则更新全局最优萤火虫Xgmin(G)=Xmin(G),否则全局最优萤火虫Xgmin(G)保持不变;步骤5、判断第k只萤火虫个体Xk(tk)的移动条件:步骤5.1、令s=1,则第t1次更新后的第1只萤火虫个体表示为X1(t1);步骤5.2、判断s=K是否成立,若成立则执行步骤6,否则执行步骤5.3;步骤5.3、将wk+1赋值给wk,利用式(2)获得所述第k只萤火虫个体Xk(tk)到第s只萤火虫个体Xs(ts)之...

【技术特征摘要】
1.一种基于离散萤火虫算法的片上网络映射方法,所述片上网络是由资源节点和通讯节点组成,其特征是按如下步骤进行:步骤1、参数定义:定义所述片上网络的拓扑结构为R,且R={L,M,N},L表示片上网络的行数,M表示片上网络的列数,N表示片上网络的层数,L>0,M>0,N>0;以所述拓扑结构R的任一顶点为原点o,以所述拓扑结构R的行方向为x轴,列方向为y轴,层方向为z轴,建立笛卡尔直角坐标系o-xyz;令IP核c表征为所述片上网络的资源节点,则IP核集合为C={c0,c1,…,ca,…,cA-1},A表示IP核总数,A≤L×M×N,ca表示所述片上网络中的第a个IP核,0≤a≤A-1;定义萤火虫个体集合为X={X1(t1),X2(t2),…,Xk(tk),…,XK(tK)},K表示萤火虫个体总数,1≤k≤K,t表示萤火虫个体的更新次数,t≥0,tk表示第k只萤火虫个体的更新次数,Xk(tk)表示第tk次更新后的第k只萤火虫个体;定义Pk(tk)为所述第tk次更新后的第k只萤火虫个体Xk(tk)的映射方案,Pk(tk)={map(r0),map(r1),...,map(ri),...,map(rT-1)},r表示所述片上网络中的通讯节点,T为所述片上网络中的通讯节点总数,T=L×M×N,ri表示所述片上网络中的第i个通讯节点,0≤i≤T-1;假设按照所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)对所述IP核集合C进行映射后,若所述第i个通讯节点ri上未映射有IP核,则定义map(ri)=-1;若所述第i个通讯节点ri上映射有IP核,则定义map(ri)=a,表示映射在第i个通讯节点ri上的IP核为第a个IP核ca;定义所述第k只萤火虫个体Xk(tk)的荧光亮度为Ik(tk);定义所述第k只萤火虫个体Xk(tk)的映射方案的总通讯量为所述第k只萤火虫个体Xk(tk)的荧光亮度Ik(tk);定义Qk(tk)={R,Pk(tk)}表示所述片上网络的拓扑结构R和所述第k只萤火虫个体Xk(tk)的映射方案Pk(tk)的拼接;则将所述第k只萤火虫个体Xk(tk)表征为Xk(tk)={Qk(tk),Ik(tk)};定义wk为第k只萤火虫Xk(tk)与其他任意一只萤火虫个体之间计算归一化距离的次数,wk>0;定义为第wk次计算的第k只萤火虫Xk(tk)和其他任一只萤火虫个体Xs(ts)之间的归一化距离,1≤s≤K,且s≠k;定义光强吸收因子为γ,γ∈[0,1]、迭代次数为G、最大迭代次数为GMax、最大随机步长为α、最大吸引度为β0;步骤2、初始化萤火虫个体集合及参数:步骤2.1、随机产生映射方案Pk(tk),获得所述片上网络中映射有IP核的通讯节点的坐标;步骤2.2、利用式(1)获得荧光亮度Ik(tk):式(1)中,vi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间的通讯量;hi,j表示映射有IP核的第i个通讯节点ri与映射有IP核的第j个通讯节点rj之间的跳数,令映射有IP核的第i个通讯节点ri的坐标为(ix,iy,iz),映射有IP核的第j个通讯节点rj的坐标为(jx,jy,jz),则hi,j=|ix-jx|+|iy-jy|+|iz-jz|;步骤2.3、按照步骤2.1和步骤2.2,初始化萤火虫个体集合中的每一个萤火虫个体;步骤2.4、初始化迭代次数G=0,输入光强吸收因子γ,γ∈[0,1]、最大迭代次数GMax=gmax、最大随机步长α=step,最大吸引度β0=1,更新次数tk=0,计算归一化距离的次数wk=1;步骤3、令迭代终止条件为G≥GMax,若满足所述迭代终止条件,则执行步骤9,否则执行步骤4;步骤4、获取第G次迭代时的最优萤火虫Xmin(G)及全局最优萤火虫Xgmin(G):遍历所述萤火虫个体集合并比较任意两只萤火虫个体的荧光亮度,寻找荧光亮度最小的萤火虫个体记为第G次迭代时的最优萤火虫Xmin(G);当G=0时,全局最优萤火虫Xgmin(G)=Xmin(G),当G≠0时,若Xgmin(G)>Xmin(G),则更新全局最优萤火虫Xgmin(G)=Xmin(G),否则全局最优萤火虫Xgmin(G)保持不变;步骤5、判断第k只萤火虫个体Xk(tk)的移动条件:步骤5.1、令s=1,则第t1次更新后的第1只萤火虫个体表示为X1(t1);步骤5.2、判断s=K是否成立,若成立则执行步骤6,否则执行步骤5.3;步骤5.3、将wk+1赋值给wk,利用式(2)获得所述第k只萤火虫个体Xk(tk)到第s只萤火虫个体Xs(ts)之间的归一化距离式(2)中,dk,s表示第k只萤火虫个体Xk(tk)的映射方案Pk(tk)到第s只萤火虫个体Xs(ts)的映射方案Ps(ts)之间相差的跳数,表示第k只萤火虫个体Xk(tk)的映射方案Pk(tk)到第s只萤火虫个体Xs(ts)的映射方案Ps(ts)之间相差的跳数的理论最大值,表示第k只萤火虫个体Xk(tk)的映射方案Pk(tk)到第s只萤火虫个体Xs(ts)的映射方案Ps(ts)之间相差的跳数的理论最小值;步骤5.4、根据式(3)所示的移动条件,判断第k只萤火虫个体Xk(tk)是否向第s只萤火虫个体Xs(ts)移动,若满足所述移动条件,则执行步骤7,否则,将s+1赋值给s,并执行步骤5.2;式(3)中,表示由于第k只萤火虫个体Xk(tk)和第s只萤火虫个体Xs(ts)之间的距离使第s只萤火虫个体Xs(ts)的荧光亮度倒数的衰减;步骤6、遍历所述萤火虫个体集合,并按照步骤5判断所有萤火虫个体的移动条件,遍历完成则执行步骤8;步骤7、更新萤火虫个体Xk(tk)步骤7.1、利用式(4)获得所述第tk次更新后的第k只萤火虫个体Xk(tk)与第s只萤火虫个体Xs(ts)之间的吸引度βk,s(tk):

【专利技术属性】
技术研发人员:杜高明刘鑫张多利宋宇鲲欧阳昊尹勇生
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1