面向功耗温度的动静态相结合的NoC映射方法与流程

文档序号:11843377阅读:529来源:国知局
面向功耗温度的动静态相结合的NoC映射方法与流程
本发明属于网络通信
技术领域
,尤其涉及一种面向功耗温度动静态相结合的NoC映射方法。
背景技术
:片上网络(Network-on-Chip,NoC)替代传统总线结构的改变虽然一定程度上克服了传统结构带来的各种问题,但是随着IP(IntellectualProperty)核的增多和通信量的提升,使得互连网络的功耗问题成为NoC设计的焦点,随着芯片体积的减小和整体性能的提高,单位面积的功耗也随之增长,这使得任务映射到资源节点上进行处理时,芯片温度迅速升高,甚至导致局部热点(HotSpot)的产生;高温使得芯片的性能受到影响甚至可能损坏器件,这在很大程度上削弱了NoC的诸多优势,直接影响到片上网络系统的性能。NoC映射分为静态映射和动态映射,静态映射是一种离线映射方式,在NoC系统工作前,通过映射算法获得映射方案,不占用在线资源,然而静态映射不能根据NoC系统工作时的状态调整映射方案优化系统性能,且优化时间长。动态映射是一种在线映射方式,在NoC系统工作时,获得系统工作状态,根据系统状态运行映射算法,在线更换映射方案,虽然优化时间较快,但是动态映射需要占用大量在线资源且不一定能得到最优解。现有映射方案,多为二选一研究,优化一方面的同时可能会使另一性能变差,且传统NoC映射算法优化目标单一,而大多数的映射算法的寻优目标主要聚焦在通讯损耗、功耗、延时等性能方面,较少关注温度对映射系统的影响,同时对于节点温度的计算主要借助温度模型工具Hotspot,尚无较为有效直接的方法求出片上网络的各节点温度;如2014年10月1日公开的中国发明专利CN104079439A“一种基于离散萤火虫算法的片上网络映射方法”将传统萤火虫算法改进后解决片上网络映射问题,能较快有效的找到最优映射方案。此方法的不足之处在于,将映射寻优目标集中在总通讯损耗上,这在降低总体通讯损耗的同时可能造成任务映射较集中从而产生局部节点温度较高,从而产生热点。技术实现要素:本发明为克服现有NoC映射算法的功耗热点问题,提出一种面向功耗温度的动静态相结合的NoC映射方法,旨在防止产生映射热点,均衡网络负载,寻找最优映射方案,同时采用动静态相结合的方法,减少线上资源占用,提高映射优化效率。本发明为达到上述目的所采用的技术方案是:本发明一种面向功耗温度的动静态相结合的NoC映射方法,所述NoC是由通讯节点及计算节点组成的片上网络,映射是将应用特征图上的各个任务映射到所述NoC的计算节点上;假设所述片上网络共有N=X×Y×Z个通讯节点,所述通讯节点的序号为0,1,…,k,…,N-1,其中,k表示第k个通讯节点的序号,X表示所述NoC的行数,Y表示所述NoC的列数,Z表示所述NoC的层数,0≤k≤N-1,其特点是,所述NoC映射方法是按如下步骤进行:步骤1、通过面向功耗温度的离散萤火虫算法建立映射库:步骤1.1、建立NoC温度模式:根据N个通讯节点的最高温度所在的节点位置的所有情况建立NoC温度模式,则共有N种NoC温度模式,记所述N种NoC温度模式的序号为0,1,…,k,…,N-1,第k种NoC温度模式表示第k个通讯节点的温度最高的映射方案;步骤1.2、利用式(1)建立所述NoC总功耗P的计算模型:P=EbitC(1)式(1)中,Ebit为所述NoC上单位数据的通信能耗,C为所述NoC上的通信总量;并有:C=Σi=1MΣj=1Mbi,j×hi,j---(2)]]>式(2)中,bi,j表示第i个任务与第j个任务之间的通信量;hi,j表示映射后第i个任务与第j个任务之间的曼哈顿距离;M表示所述应用特征图上的任务总数;2≤M≤N;步骤1.3、利用式(3)建立所述NoC温度矩阵T的计算模型:T=T0T1···Tk···TN-1=A-1Pmatrix---(3)]]>式(3)中,Tk为第k个通讯节点的温度;为所述NoC的热导矩阵,Gl,k为第l个通讯节点对第k个通讯节点的热导;A-1为所述热导矩阵A的逆矩阵;Pmatrix为所述NoC上所有节点的功耗矩阵;并有:Pk为第k个通讯节点的功耗;并有:Gl,k=K×Sl,k/dl,k(4)式(4)中,Sl,k为所述NoC上第l个通讯节点与第k个通讯节点的接触面积,K为硅热导率;dl,k为所述第l个通讯节点与第k个通讯节点的质心距离;Pk=ERbitBk(5)式(5)中,Bk为所述NoC上第k个通讯节点的通信带宽;ERbit为所述NoC上单位数据通信产生的能耗,并有:ERbit=ESbit+EBbit+EWbit(6)式(6)中,ESbit为所述NoC上单位数据通信产生的路由器内部连线功耗,EBbit为所述NoC上单位数据通信产生的缓存能耗,EWbit为所述NoC上单位数据通信产生的路由器内部连线功耗;步骤1.4、利用式(7)建立在第k种NoC温度模式下的目标函数fk:fk=λ1×P+λ2×max{T0,...TN-1}+λ3×Tk(7)式(7)中,max{T0,...TN-1}表示最大节点温度;λ1、λ2、λ3为加权因子,λ1、λ2、λ3∈[0,1],且λ1+λ2+λ3=1;步骤1.5、利用离散萤火虫算法对第k种NoC温度模式下的目标函数fk,寻找最优映射方案Mapk,从而获得N个最优映射方案{Map0,Map1,…,Mapk,…,MapN-1};由所述N个最优映射方案{Map0,Map1,…,Mapk,…,MapN-1}建立静态映射库;步骤2、将所述静态映射库作为文本文件存入主机中;步骤3、主机向NoC发送初始映射方案:所述主机将任意选择的一个最优映射方案作为所述NoC的初始映射方案下载至所述NoC中;步骤4、NoC配置映射方案:所述NoC根据所述初始映射方案,配置所述NoC中的各个计算节点,从而完成任务映射;步骤5、所述NoC实时监测每个通讯节点的通信量,并将进行记录;步骤6、NoC定时向主机发送每个节点通信量:所述NoC设置定时发送时间,在到达定时发送时间后,所述NoC将监测到的各个通讯节点上的通信量上传至主机;步骤7、所述主机调用所述NoC温度矩阵T的计算模型获得每个通讯节点温度:步骤8、所述主机根据最大温度节点位置匹配温度模式,调用映射库中相应映射方案:对每个通讯节点的温度进行比较,得出最大温度所在的通讯节点序号,并从所述静态映射库中调用最大温度所在的通讯节点序号所对应的NoC温度模式作为相应通讯节点的新映射方案;步骤9、所述主机调用所述新映射方案,并向所述NoC进行发送;步骤10、所述NoC根据所述新映射方案配置所述NoC中的各个计算节点;从而完成新任务的映射;并返回步骤5。与现有技术相比,本发明的有益技术效果体现在:1、本发明动静态相结合的映射方法,离线时通过离散萤火虫算法建立以温度模式为索引设计的映射库,不占用在线资源,实现了静态映射;在线时通过实时监测NoC系统状态,匹配系统温度模式,调用映射库,配置NoC系统,有效优化了NoC系统功耗温度,实现了动态映射。2、本发明将静态映射和动态映射有机结合,通过静态映射获得最优解,通过动态映射实时监测当前网络节点的通信状态,动态配置映射方案,防止了热点,增强了映射方案的可靠性和应用性,提高了映射优化效率。3、本发明搭建了NoC路由节点功耗温度分析模型,并通过实验验证了所搭建的模型能正确评估任务映射后的片上网络节点温度分布情况。4、本发明以功耗、最大节点温度和目标节点温度的加权值作为映射优化目标,使用离散萤火虫算法寻找最优解,能有效降低了最大节点温度,防止了热点的出现,同时能有效降低整个网络的功耗。5、本发明建立以温度模式为索引设计的映射库,通过动态收集网络的实时通信状况,得出实时节点温度,调用映射库,动态的配置映射方案,有效的降低了特定目标节点温度。附图说明图1为现有技术中NoC路由节点编号方式图;图2为本发明NoC温度计算分析模型示例图;图3为现有技术中特征应用VOPD特征拓扑图;图4为已有离散萤火虫算法得出的VOPD应用对应的一种最优映射方案图;图5为本发明静态映射得到的映射库中的一种最优映射方案图;图6为本发明的温度计算模块与hotspot工具得出的节点温度对比图;图7为本发明与已有萤火虫算法对比图;图8为本发明动态调整映射方案实验结果图;图9为本发明系统温度优化过程图;图10为本发明面向功耗温度的动静态相结合的映射方法流程图。具体实施方式本实施例中,NoC是由通讯节点及计算节点组成的片上网络,映射是将应用特征图上的各个任务映射到NoC的计算节点上;假设片上网络共有N=X×Y×Z个通讯节点,通讯节点的序号为0,1,…,k,…,N-1,其中,k表示第k个通讯节点的序号,0≤k≤N-1,X表示NoC的行数,Y表示NoC的列数,Z表示NoC的层数,如图1所示的4×4×1的片上网络,共有16个通讯节点,序号为0,1,…,15;本实施例中,如图10所示,一种面向功耗温度的动静态相结合的NoC映射方法是按如下步骤进行:步骤1、通过面向功耗温度的离散萤火虫算法建立映射库:步骤1.1、建立NoC温度模式:根据N个通讯节点的最高温度所在的节点位置的所有情况建立NoC温度模式,则共有N种NoC温度模式,记N种NoC温度模式的序号为0,1,…,k,…,N-1,第k种NoC温度模式表示第k个通讯节点的温度最高的映射方案;如图1所示的片上网络共有16个节点,则节点温度最高的位置共有16种情况,即有16种温度模式,温度模式序号为0,1,…,15,例如0号温度模式即表示第0个通讯节点的温度最高的映射方案;步骤1.2、利用式(1)建立NoC总功耗P的计算模型:P=EbitC(1)式(1)中,Ebit为NoC上单位数据的通信能耗,C为NoC上的通信总量;并有:C=Σi=1MΣj=1Mbi,j×hi,j---(2)]]>式(2)中,bi,j表示第i个任务与第j个任务之间的通信带宽;hi,j表示映射后第i个任务与第j个任务之间的曼哈顿距离;M表示应用特征图上的任务总数;2≤M≤N;假设将如图3所示的应用VOPD映射到4×4的二维片上网络上,得到如图4所示的映射方案,由图3可知,VOPD应用共有16个任务,且任务0和任务1的通信量为b0,1=70,如图3所示的映射方案中任务0和任务1的曼哈顿距离为h0,1=2,可得任务0和任务1对应的通信量为C0,1=140,同理可得其他任务间的通信量,由公式(2)可得图4对应的映射方案的通信总量为C=11785,假设Ebit=1,则总功耗为P=11785;步骤1.3、利用式(3)建立NoC温度矩阵T的计算模型:T=T0T1···Tk···TN-1=A-1Pmatrix---(3)]]>式(3)中,Tk为第k个通讯节点的温度;为NoC的热导矩阵,Gl,k为第l个通讯节点对第k个通讯节点的热导;A-1为热导矩阵A的逆矩阵;Pmatrix为NoC上所有节点的功耗矩阵;并有:Pk为第k个通讯节点的功耗;并有:Gl,k=K×Sl,k/dl,k(4)式(4)中,Sl,k为NoC上第l个通讯节点与第k个通讯节点的接触面积,K为硅热导率;dl,k为第l个通讯节点与第k个通讯节点的质心距离;Pk=ERbitBk(5)式(5)中,Bk为所述NoC上第k个通讯节点的通信带宽;ERbit为所述NoC上单位数据通信产生的能耗,并有:ERbit=ESbit+EBbit+EWbit(6)式(6)中,ESbit为NoC上单位数据通信产生的路由器内部连线功耗,EBbit为NoC上单位数据通信产生的缓存能耗,EWbit为NoC上单位数据通信产生的路由器内部连线功耗;以如图2所示的三维片上网络结构的热模型为例,该片上网络为1×2×2的三维片上网络结构,网络共有N=1×2×2=4个通讯节点,其中节点H、I属于上层网络通讯节点,节点J和K属于下层网络通讯节点,其中同层网络通讯节点中存在层内热导层与层间的通讯节点存在层间热导下层网络通讯节点与外部环境间存在散热器热导ghs,Pk为第k个节点的功耗,Tk为第k个节点的温度,Tamb为环境温度,对于H节点,有:PH=(TH-TJ)×ginter+(TH-TI)×gintra=(ginter+gintra)×TH-ginter×TJ-gintra×TI对于I节点,有:PI=(ginter+gintra)×TI-ginter×TK-gintra×TH对于J节点,有:PJ=(TJ-Tamb)×ghs+(TJ-TK)×gintra+(TJ-TH)×ginter=(ghs+gintra+ginter)×TJ-ghs×Tamb-gintra×TK-ginter×TH对于K节点,有:PK=(TK-Tamb)×ghs+(TK-TJ)×gintra+(TK-TI)×ginter=(ghs+gintra+ginter)×TK-ghs×Tamb-gintra×TJ-ginter×TI其中ghs×Tamb为常数,因此可得:PHPIPJPK=ginter+gintra-gintra-ginter0-gintraginter+gintra0-ginter-ginter0ghs+gintra+ginter-gintra0-ginter-gintraghs+gintra+ginterTHTITJTK+00-ghs×Tamb-ghs×Tamb]]>即:THTITJTK=ginter+gintra-gintra-ginter0-gintraginter+gintra0-ginter-ginter0ghs+gintra+ginter-gintra0-ginter-gintraghs+gintra+ginter-1PHPIPJ-ghs×TambPK-ghs×Tamb]]>比较各节点温度,得出最大温度Tmax=max{TH,TI,TJ,TK}。对于如图3所示的特征应用VOPD,使用已有离散萤火虫算法求得如图4所示的最优映射方案,使用上述方法求出的该映射方案对应的各节点温度,与hotspot工具得出的节点温度对比,结果如图6所示,由上述步骤计算得到的节点温度与hotspot工具得到的节点温度基本吻合,验证了本发明在已有平台上实现的温度计算模型的正确性;步骤1.4、利用式(7)建立在第k种NoC温度模式下的目标函数fk:fk=λ1×P+λ2×max{T0,...TN-1}+λ3×Tk(7)式(7)中,max{T0,...TN-1}表示最大节点温度;λ1、λ2、λ3为加权因子,λ1、λ2、λ3∈[0,1],且λ1+λ2+λ3=1;步骤1.5、利用离散萤火虫算法对第k种NoC温度模式下的目标函数fk,寻找最优映射方案Mapk,从而获得N个最优映射方案{Map0,Map1,…,Mapk,…,MapN-1};由N个最优映射方案{Map0,Map1,…,Mapk,…,MapN-1}建立静态映射库;假设图2所示的应用VOPD映射到图1所示的片上网络上,得到如图4所示的最优映射方案,由图2可知VOPD共有16个任务,任务与任务间有21条通信信息,所以如图4所示的映射方案中共包含21条配置信息,具体映射信息如表1所示,图1所示的片上网络共有16个通讯节点,则静态映射库共有16个如表1所示的映射方案;表1映射方案信息步骤2、将所述静态映射库作为文本文件存入主机中;即将16个文本文件存入主机中;步骤3、主机向NoC发送初始映射方案:主机将任意选择的一个最优映射方案作为NoC的初始映射方案下载至NoC中;假设选择图4所示的映射方案,将其作为初始映射方案发送至NoC中;步骤4、NoC配置映射方案:NoC根据初始映射方案,配置NoC中的各个计算节点,从而完成任务映射;NoC根据接收到的映射方案,配置NoC,依次读取如表1所示的映射方案具体信息,第一行第一列数据为1,表示从坐标为(2,2)的5号源节点只发出一条流,发往坐标为(1,3)的2号目的节点,发包量为70,将第1条流表示为0,若从一个源节点向多个方向发流,则将流依次标记,表示第几条流,在映射方案的最后一条配置信息的最后一个数字定义为1,表示该映射方案配置完成,从而完成映射;步骤5、NoC实时监测每个通讯节点的通信量,并将进行记录;步骤6、NoC定时向主机发送每个节点通信量:NoC设置定时发送时间,在到达定时发送时间后,NoC将监测到的各个通讯节点上的通信量上传至主机;NoC按照图4所示的映射方案配置完成后,达到定时发送时间后监测到的各个通讯节点上的通信量为C0,C1,…,C15,则将通信量上传至主机;步骤7、主机将从网络中接收到的节点通讯量C0,C1,…,C15通过文件操作存入文本文件中,将数据依次存入数组中,表示为调用NoC温度矩阵T的计算模型获得每个通讯节点温度步骤8、主机根据最大温度节点位置匹配温度模式,调用映射库中相应映射方案:对每个通讯节点的温度进行比较,得出最大温度所在的通讯节点序号,并从静态映射库中调用最大温度所在的通讯节点序号所对应的NoC温度模式作为相应通讯节点的新映射方案;假设温度比较后得到的最大温度所在的通讯节点为10号节点,则主机从静态映射库中调用10号温度模式下的最优映射方案作为新映射方案,新映射方案如图5所示;步骤9、主机调用新映射方案,并向NoC进行发送;步骤10、NoC根据新映射方案配置NoC中的各个计算节点;从而完成新任务的映射;并返回步骤5。已有离散萤火虫映射方案得到的最优映射方案如图4所示,其通信总量为4119,利用本发明的功耗温度计算模块得出各个节点温度,得到最大节点温度为9节点,温度为89.5221℃。与本发明将功耗、最大节点温度和目标节点温度的加权值作为映射优化目标函数的实验结果相比,实验采用相同的初始样本和配置,采用新方案得到最优映射方案如图5所示,该映射方案的通信总量为4221,最大节点温度为12节点,温度为83.7162摄氏度,对比结果如表2所示。表2对比项目通信总量最大温度(℃)已有离散萤火虫算法411989.5221本发明422183.7162优化百分比-2.4%7.6%由表2可得,本发明与已有离散萤火虫算法相比,通信总量增加2.4%,而最高节点温度优化7.6%,即本发明牺牲较少的通信总量,使得网络节点的最大温度较大减小,可以有效防止热点产生,已有映射方案与本发明得出的各个节点温度对比如图7所示。本发明动态调整映射方案的结果如图8所示,第一次映射得到的映射方案为{8910014761131252111543},温度最高的节点为5节点,最高温度为85.0183℃,降低5节点的温度得到第二次映射的方案为{1312312054147615891110},最高温度节点变为9节点,第二次映射得到的最大温度为84.4261℃,而5节点的温度变为68.6798℃,温度降低了16.3385℃,优化了19.22%。如图9所示为本发明系统温度动态调整的结果图,以0次动态映射优化为例,得到的最高节点温度为85.0183℃,1次映射优化后,此时该节点温度降为68.6798℃,而映射优化后的最高节点温度变为84.4261℃;2次优化后,1次映射的最高温度节点温度降为67.8703℃,最高温度节点改变,依次类推,可得映射库中所有温度模式均可降低上种映射方案的最高节点温度,最高节点温度平均降低23.02%。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1