一种改进的遗传退火的片上网络映射方法与流程

文档序号:17322874发布日期:2019-04-05 21:37阅读:220来源:国知局
一种改进的遗传退火的片上网络映射方法与流程

本发明涉及片上网络中映射算法的设计。



背景技术:

随着纳米级cmos集成电路技术的发展,集成度的提高,片上系统将集成更多的异源处理器核来实现更复杂的功能.传统片上系统采用的总线通信结构将难以满足众多处理器核的通信需求,成为限制系统性能提高的关键因素.借鉴了分布式计算系统的通信方式、采用路由和分组交换技术替代传统总线的片上网络结构被认为是最有希望解决复杂片上通信问题的新方法,成为研究的热点。noc由计算资源与通信网络两部分组成。计算资源由ip核与本地内存构成,可独立完成广义的“计算”任务。ip核可以是cpu、dsp、ram、高带宽的i/o设备、可重构硬件单元等,通过网络接口(networkinterface,ni)与网络相连。通信网络主要包括路由器与网络接口,路由器与路由器、路由器与网络接口之间链路连接,实现资源节点间的高速数据通信。

随着集成度的不断提高,系统的功耗也会在不断的增加,如何有效地降低整个系统功耗成为片上网络设计的关键问题.ip核映射是片上网络设计中的一个重要步骤.不同的映射结果对系统的执行效率、通信能耗、通信时延等性能有着重要的影响.通过各种方法实现ip核映射以降低通信能耗变得越来越重要。映射就是将任务图中的ip核放置在拓扑结构的资源上的过程,决定了ip核与网络中的路由器的连接关系。在给定网络拓扑结构和具体应用通信任务图的情况下,ip核在网络中的相对位置对系统的性能有着重要的影响。映射可分为动态映射和静态映射。在动态映射中,任务或ip核映射的位置可以随着片上网络资源分配需要而改变,各任务之间的通信量也可能是随机的。在静态映射中,在给定特定应用并将其分解为通信任务图后,在从ip核到处理单元的映射过程中,包括通信量、时延等在内的所有通信特征都保持不变,映射结果与ip核的映射位置也不会改变,即不能进行迁移。

标准遗传算法和模拟退火是映射问题中经典的算法,其中标准遗传算法(geneticalgorithm,ga)是进化计算中最初形成的一种具有普遍影响性的随机化搜索方法,它借鉴生物界的进化规律演化而来,属于启发式算法的一种,采用概率化的寻找方法在较大空间进行有效搜索,由于其良好的全局寻优能力和简单的操作流程。遗传算法的基本操作包括:算法初始化、选择操作、交叉操作和变异操作等。其中,选择操作是指从群体中选择优胜的个体,淘汰劣势个体的过程。选择的目的主要是把优化的个体或解直接遗传到下一代或通过其它遗传操作产生的新个体遗传到下一代。而交叉操作和变异操作则以一定概率执行,交叉操作主要是将两个父代个体的部分结构加以替换重组而产生的新个体操作,从而期望提升个体的适应度。变异操作主要是对群体中特定个体编码串上的某些基因值进行变动,在每个染色体上自发地产生随机变化替换一个或多个基因,它的引入主要是为提升算法的局部搜索能力以及解的多样性。

模拟退火算法(simulatedannealing,sa)来源于固体退火原理,是一种基于montecarlo迭代求解策略的随机寻优算法,其物理背景是固体退火的物理现象和统计力学模型,即将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温度上升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小[71]。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即能概率性地跳出局部最优解并最终趋于全局最优。由于算法在理论上具有概率的全局优化性能,目前已在工程中得到了广泛的应用。模拟退火算法有两个主要操作:一是称为冷却流程的热静力学操作,用于设定温度t的下降幅度;另一个用于在每个温度下搜索最优解的随机松弛过程。

在求解优化问题时,模拟退火算法接受朝着目标函数优化方向更优的状态,并且允许概率性的波动存在,会以一定的概率接受一些较差的状态,通过这种方式避免算法陷入局部最优解,趋向得到优化问题的全局最优解。模拟退火算法同样存在一些缺陷,其所得解的优越性依赖初始温度、温度函数和退火时间,当初始温度选择的过低或者退火速度太快时,算法容易陷入局部最优解。降温快的优化效果不一定好,优化效果好的,其降温过程又会变得极其缓慢。因此,需要调整初始温度的选择和降温速度,使得优化效果达到最优。



技术实现要素:

本发明的目的是为了解决传统遗传算法的早熟现象及局部寻优能力差等问题,获得更优的片上网络通信能耗,设计了一种改进的遗传退火的片上网络映射方法。

本发明解决其技术问题所采用的技术方案是:

改进的遗传退火的片上网络映射方法包括灾变遗传和多邻域模拟退火两部分。在标准的遗传操作中,引boltzmann选择方法接收优良个体,并使用精英操作保存最优个体,提高算法搜索效率。当个体经过交叉操作和变异操作后,对不满足带宽约束的个体重新进行交叉和变异操作,使其满足约束条件,然后映射任务到片上网络,评价个体适应度,并按照适应度大小进行排序,选择当前l个较优解进行多邻域模拟退火操作,加强算法的局部搜索能力,并将经退火操作的个体替换较差的个体产生新一代种群。若算法进入停滞状态,则采用灾变操作,构建新个体,形成新种群.若满足算法终止条件,即达到最大迭代次数或者温度已降到冷却状态,则算法结束,输出最优值;否则,继续迭代搜索最优值。

所述的灾变遗传算法是一种启发式随机搜索算法,种群规模的大小对算法的搜索效率影响非常大。在片上网络映射应用中,采用实数编码方式,设定染色体的长度等于ip核通信任务图中ip核的数目,并将ip核的编号作为遗传基因,数值为1~n。由于二维网格结构中tile的位置是按固定顺序排列的,该发明将tile按照从左到右、从上到下的位置编号。基因i在染色体中排在位置p,表示第i个ip核映射到第p个tile中。为了保持群体的多样性,在早期采用较小的选择压力,在后期使用较大的选择压力,加速搜索过程。

所述的交叉操作是基因重组产生新个体的重要操作,利用两点交叉法实施交叉操作,产生新个体。当个体中出现相同基因时,进行基因修复操作。变异操作采用单点非常规法,当变异点上的基因与染色体上其他基因重复时,进行基因修复,将非变异点重复基因替换为原变异点上的基因,从而获得c→t的一一映射。若出现不满足式带宽约束的个体,则重复交叉和变异操作进行调整,最终得到一个新的可行解。

所述的多邻域模拟退火操作用来对l个适应度较优的个体进一步强化搜索,在当前个体的多个邻域内随机产生多个候选解,并选取其中最优的一个,提高了最优值的精度,进一步明确了搜索方向,有利于搜索局部最优解.将经过模拟退火操作的个体替换种群中适应度较差的个体,形成新的种群,进一步加速搜索最优解。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是算法流程图。

具体实施方式

改进的遗传退火的片上网络映射方法包括灾变遗传和多邻域模拟退火两部分。在标准的遗传操作中,引boltzmann选择方法接收优良个体,并使用精英操作保存最优个体,提高算法搜索效率。当个体经过交叉操作和变异操作后,对不满足带宽约束的个体重新进行交叉和变异操作,使其满足约束条件,然后映射任务到片上网络,评价个体适应度,并按照适应度大小进行排序,选择当前l个较优解进行多邻域模拟退火操作,加强算法的局部搜索能力,并将经退火操作的个体替换较差的个体产生新一代种群。若算法进入停滞状态,则采用灾变操作,构建新个体,形成新种群.若满足算法终止条件,即达到最大迭代次数或者温度已降到冷却状态,则算法结束,输出最优值;否则,继续迭代搜索最优值。

所述的灾变遗传算法是一种启发式随机搜索算法,种群规模的大小对算法的搜索效率影响非常大。种群规模可以是几个或者几百个,该发明设定种群的大小为100.在片上网络映射应用中,采用实数编码方式,设定染色体的长度等于ip核通信任务图中ip核的数目,并将ip核的编号作为遗传基因,数值为1~n。由于二维网格结构中tile的位置是按固定顺序排列的,该发明将tile按照从左到右、从上到下的位置编号。基因i在染色体中排在位置p,表示第i个ip核映射到第p个tile中。

个体适应度是选择操作的依据,且适应度函数直接影响到遗传算法的性能。本发明的算法的适应度函数为:,其中,表示从源节点ci到目的节点cj的通信任务;和分别表示数据流量和通信带宽;表示在ag中从源节点ti到目的节点tj的通信路径;表示从节点ti经由路径传输1位数据到达节点tj的能耗,表示路径能提供的最大通信带宽。

个体适应度的大小即系统通信能耗的大小.在群体进化过程中,不同阶段需要不同的选择压力。为了保持群体的多样性,在早期采用较小的选择压力,在后期使用较大的选择压力,加速搜索过程.因此,在选择操作中采用boltzmann更新机制,使得选择压力随进化代数自适应变化;。其中,pi为第i个个体的选择概率;m为种群大小;g为当前遗传代数;t为当前温度,t0>0,为初始温度.t随着迭代次数的增加而不断下降,选择压力不断升高,使得较优个体被选择的概率增加.采用精英操作保存最优个体,加速群体收敛。

所述的交叉操作是基因重组产生新个体的重要操作,利用两点交叉法实施交叉操作,产生新个体。当个体中出现相同基因时,进行基因修复操作。变异操作采用单点非常规法,当变异点上的基因与染色体上其他基因重复时,进行基因修复,将非变异点重复基因替换为原变异点上的基因,从而获得c→t的一一映射。若出现不满足式带宽约束的个体,则重复交叉和变异操作进行调整,最终得到一个新的可行解。当算法迭代一定次数,算法最优值f*保持不变时,判断算法进入“停滞”状态,需要进行灾变操作。对0%较差的个体重新初始化,增加种群的多样性,扩大搜索范围.保留90%的较优个体,保持算法的稳定性。当灾变次数达到预定次数时,算法结束输出最优值。灾变操作在不改变原种群的进化结果下,加入新的个体,使得算法在操作规模不变的情况下隐性扩大群体规模,从而提高了算法的效率。

所述的多邻域模拟退火操作用来对l个适应度较优的个体进一步强化搜索,其主要流程如下:

(1)在当前温度tg(g为迭代次数)下,随机产生两个交换位置,交换当前个体xi位置上的基因,产生新个体xk(k=1,2,…,s)。

(2)将基因映射到片上网络拓扑结构,当xk满足带宽的约束条件时,计算个体适应度f(xk);否则,转步骤(1)。

(3)迭代以上操作,直至k=s。

(4)令x*满足f(x*)=min{f(x1),f(x2),…,f(xs)},并计算δ=f(x*)-f(xi)。

(5)按照metropolis准则接受新解,若δ≤0,则接受x*为当前最优解;否则,以概率exp(δ/tg)接受x*为当前最优解。

(6)按照一定方式进行降温,tg+1=f(tg),g=g+1。

(7)判断是否到达冷却状态.若没有到达,则转向步骤(1);否则,输出当前最优值x*

多邻域模拟退火算法在当前个体的多个邻域内随机产生多个候选解,并选取其中最优的一个,提高了最优值的精度,进一步明确了搜索方向,有利于搜索局部最优解.将经过模拟退火操作的个体替换种群中适应度较差的个体,形成新的种群,进一步加速搜索最优解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1