一种基于离散蝙蝠算法的片上网络映射方法_2

文档序号:9688026阅读:来源:国知局
的IP核,记为IP3,并找出其在拓扑结构 图中对应的节点位置,记为Node3;
[0052] (35)将IP2映射到Node3,将IP3映射到Node2,完成局部捜索。
[0053] 步骤6中,根据新的解x/的适应值来计算响度Ai采用下面的公式:
[0054] Ai= (fiti-f itbst)/(f itmax-f itbst)
[0055] 其中f iti是新的解x/的适应值,fitbst为当前种群中最好的适应度值,fitmax为当 前种群的最大适应度值。
[0056] 与现有技术相比,本发明的有益技术效果体现在:
[0057] 1.标准的骗幅算法是连续的优化算法,采用的是连续的实值编码方式,无法用于 离散的问题,而本发明在标准的骗幅算法上进行改进,针对片上网络映射问题,提出了离散 骗幅算法;
[0058] 2.本发明在初始化阶段针对片上网络映射问题提出了种群初始化算法,使得初始 种群个体具有更好的适应度值,同时,初始的骗幅种群的一部分个体随机产生,保持了种群 的多样性,使得算法能更快地收敛,但又不会陷入局部最优;
[0059] 3.实验结果表明,本发明提出的基于离散骗幅算法的片上网络映射方法与其他映 射方法相比,具有更好的性能,能够找到更好地映射解。
【附图说明】
[0060] 图1是本发明基本流程图;
[0061] 图2是V0PD核通信任务图;
[0062] 图3是MPEG-4核通信任务图;
[0063] 图4是PIP核通信任务图。
【具体实施方式】
[0064] 附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附 图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0065] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0066] 给出两个定义:
[0067] 定义1:核任务图G(C,E),为有向非循环加权图集合。集合中的任意一个顶点CiEC 代表一个待映射的IP核,任意一条边eijEE代表1P核ci、cj间的通信数据流,每条边的权重 Wij代表核间通信数据量,6。,^表示顶点Ci、C搁的通信带宽要求。
[0068] 定义2:NoC拓扑结构图M(T,L),为有向图。图中顶点tiET代表可分配的NoC节点, 边luEL代表连接ti,tj间的通信链路。&妈表示通信节点ti到通信节点的能提供的最大 通信带宽。
[0069] 本发明W通信代价函数为目标函数,基于W上两个定义,片上网络映射问题求解 可归纳为:在最小路由路径下找到映射函数map(),使得该函数的映射解满足目标式(1)和 约束条件(2)-(5)。
[0075]其中,hopcount(a,b)表示拓扑结构图中节点a,b的曼哈顿距离。
[0076]如图1所示,本发明的具体实现步骤如下:
[OOW]步骤1:初始化算法的参数W及生成初始的骗幅种群。
[0078] 在本实施例中,令骗幅数量为100,算法迭代次数为100,最大频率Qmax为4,最小频 率Qmin为0,脉冲发射率的最大值Rmax为0.9,最小值Rmin为0.1。
[0079] 初始的骗幅种群的一部分个体随机产生,另一部分个体通过种群初始化算法产 生。其具体步骤如下:
[0080] (11)选择具有最大通信量的通信链路;
[0081] (12)若通信链路上的两个节点都没映射,则选择一节点映射到拓扑图中的任一没 节点映射的位置,另一节点映射到与之最相邻(曼哈顿距离最小)的没节点映射位置;否则 固巧U(13);
[0082] (13)若通信链路上其中一个节点已映射,则另一节点映射在拓扑图中最相邻(曼 哈顿距离最小)的没节点映射位置;否则跳到(14);
[0083] (14)若通信链路上两个节点都已映射,直接跳到(15);
[0084] (15)若所有处理单元(IP核)都已映射到拓扑图中,则输出结果;否则在核任务图 中去除该通信链路,并跳到(11);
[0085] 步骤2:计算每个骗幅个体的适应值,并找出种群中的最佳个体X*。
[0086] 每个个体适应值是通过下面的式子计算产生的:
[0087]
[008引其中,map (Ci)指每个个体中IP核Ci在拓扑结构上映射的位置。
[0089] 在本实施例中,当前种群中的最佳个体X*为:x*=[l 2 6 7 3 4 8 12 15 16 14 10 9 5 13 11],其适应度值(目标函数值)为4151。
[0090] 步骤3:根据当前迭代次数来更新脉冲发射率Ri;
[0091 ]脉冲发射率的更新采用下面的公式:
[0092]
[0093] 其中Rmax和Rmin分别为设定的脉冲发射率的最大值和最小值,tmax为骗幅迭代的最 大代数,t为当前的代数。
[0094] 从步骤1可知,脉冲发射率的最大值Rmax为0.9,最小值Rmin为0.1,骗幅迭代的最大 代数tmax为100,而当前代数t为1,则代入上式计算可得脉冲发射率Ri = 0.1。
[009引步骤4:对于骗幅个体i,产生新的解x/ ;
[0096] 下面W当前骗幅种群的第一个个体为例,进行说明。
[0097] 当前骗幅个体 1 为:χι=[1 2 6 7 4 8 12 16 11 15 14 10 9 5 13 3]。
[009引在d维空间中,骗幅i在第t次迭代时的位置xf、速度17^更新公式为:
[0102]其中β£[0,1]是来自均匀分布的随机向量,X*是在骗幅种群中的最优解。
[0103]在本实例中,0 = 0.12,则计算得化= 0.48。从步骤2可得种群中的最佳个体X*为: χ*=[1 2 6 7 3 4 8 12 15 16 14 10 9 5 13 山。
[0106] 步骤5:判断rand(0,l)是否大于脉冲发射率Ri,如果是,对当前最佳个体进行局部 捜索,产生新的解x/ ;
[0107] 在本实施例中,rand = 0.7,比脉冲发射率Ri大,需要对当前最优个体进行局部捜 索。对当前最佳个体进行局部捜索是按照下面的步骤进行的;
[0108] (21)在拓扑结构图中选择一个节点,记为Nodel;
[0109] (22)找出选择的节点所映射的IP核,记为IPl;
[0110] (23)随机选择节点在拓扑图中的一个相邻节点,并且找出其对应的IP核,分别记 为Node2和IP2;
[0111] (24)随机选择IP1在通信任务图中有通信的IP核,记为IP3,并找出其在拓扑结构 图中对应的节点位置,记为Node3;
[0112] (25)将IP2映射到Node3,将IP3映射到Node2,完成局部捜索。
[0113] 完成局部捜索后,新的解χ'ι=[1 7 6 2 3 4 8 12 15 16 14 10 9 5 13 11]。
[0114] 步骤6:计算新的解χ/的适应值,并根据新的解χ/的适应值来计算响度Ai;
[011引新的解的适应值f(x/)=4389。响度Ai的计算采用下面的公式:
[0116] Ai= (fiti-fitbst)/(fitmax-fitbst)
[0117] 其中fiti是新的解Χ/的适应值,fitbst为当前种群最好的适应度值,fitmax为当前 种群的最大适应度值。
[011 引在本实施例中,当前門1:1 = 4389,門1:63* = 4151,^1:1113、=5863,计算得41 = 0.139。
[0119] 步骤7:如果新的解x/的适应值小于个体i当前的适应值,且rand(0,l)大于响度 Ai,则用新的解X/来更新当前个体i的位置;
[0120] 当前,新的解χ/的适应值为4389,个体i当前的适应值为4454,rand = 0.64,ran
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1