一种基于拓扑划分的片上网络快速映射算法的制作方法

文档序号:17321080发布日期:2019-04-05 21:32阅读:209来源:国知局

本发明涉及片上网络设计,尤其涉及片上网络中映射优化设计。



背景技术:

随着半导体与集成电路技术的发展,片上系统(system-on-chip,soc)的集成度越来越高,传统的总线结构将无法适应数十个乃至上百个ip(intellectualproperty)核的通信需求。作为新一代的片上互连通信模式,片上网络(network-on-chip,noc)借鉴并行计算和计算机网络的设计思想,在单个硅片上构建一个采用分组交换的微网络,以实现微处理器、dsp、存储器等ip核之间的数据通信。与总线相比,noc具有易扩展、可重用、低功耗等特点。

映射优化是片上网络设计的关键问题之一,它是在给定通信图、拓扑以及ip核库的基础上,将每个任务分配到合适的ip核上并安排每个ip核的任务执行顺序及在noc拓扑中的位置。映射的主要任务就是将ip核或任务模块高效地分配到网络节点上,使各种应用得以顺利地完成。不同的映射结果对系统的能耗、时延及执行时间有着重要的影响,通常衡量一个映射性能好坏的主要指标有能耗、时延、热量均衡以及服务质量等。

映射可分为动态映射和静态映射。在动态映射中,任务或ip核映射的位置可以随着片上网络资源分配需要而改变,各任务之间的通信量也可能是随机的。在静态映射中,在给定特定应用并将其分解为通信任务图后,在从ip核到处理单元的映射过程中,包括通信量、时延等在内的所有通信特征都保持不变,映射结果与ip核的映射位置也不会改变,即不能进行迁移。映射问题属于二次分配问题的范畴,其搜索尺度随搜索空间增长呈阶乘递增,在有限时间和空间中大规模精确求解相当复杂,常采用启发式算法进行近似优化求解。采用遗传算法(ga)完成以面积和时延为优化目标的ip核映射优化,将多目标优化采用加权归一的方法进行单目标优化,后采用遗传算法求解。

目前存在的映射方法虽然可以通过大量的迭代得到较优解,但通常是以高的时间复杂度为代价,难以应用到大规模快速的ip核映射之中;同时这些方法不能保证在短时间内获得低能耗的映射结果,更未考虑在常见网状拓扑中网络中心热点的产生对网络的吞吐、时延以及可靠性等性能的严重影响。



技术实现要素:

本发明的目的是满足片上网络快速完成低能耗映射的需求。

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

一种基于拓扑划分的片上网络快速映射算法。该发明首先设计了能耗模型和流量均衡模型,之后算法考虑到芯片特性而生成尽可能规整的网络拓扑,采用虚拟ip核技术对通信核图进行修正以完成ip核和网络节点数目不相等情况下的映射,同时算法不仅能快速地将ip核映射到网络节点上,还可将通信量大的节点映射到彼此相邻的网络边缘区域,既保证了全网通信的低能耗又避免了网络中心热点的产生。

所述的流量均衡模型同时考虑了与该节点通过的流量大小与节点在网络中位置两个关键因素。通过网络中每个节点的流量与全网平均流量越接近,则该网络均衡性能就越好;热点区域位于网络中心对网络的影响远远超过位于网络边缘区域的影响。

所述的拓扑划分映射主要包括如下几个阶段:首先根据通信核图中ip核数目产生尽可能规整的网络拓扑,并根据拓扑中节点数目采用虚拟ip核技术修正通信核图;其次对网络拓扑进行划分并按划分结果对通信核图进行相应数目的ip核划分;最后通过计算子拓扑区域的能耗,并将能耗最小的位置作为当前ip核的映射位置进而完成子拓扑区域映射。

所述的通信核图修正包括:1)若网络节点数目m大于ip核数目k,则在通信核图中增加m-k个虚拟ip核,并假设这些虚拟ip核与其它ip核的通信量为0,以保证通信核图中ip核数目和网络节点数目相等。否则不对通信核图修正;2)若在步骤1)中对通信核图进行修正,则待到所有ip核映射完毕删除步骤1)中的虚拟ip核。

所述的拓扑划包括:1)判断当前划分次数,若为奇数次则进行列划分,否则进行行划分;2)若拓扑的行(列)数为奇数,则分为左,中,右(上,中,下)3个子拓扑平面,其拓扑参数分别为若为偶数则分为左,右(上,下)2个子拓扑平面;3)重复划分拓扑,直到划分的子集中网络节点数目小于等于2个。

所述的通信核图划分使得划分的ip核间通信量最小,并标记此次划分结果到每个ip核中。内容包括:根据通信核图构造通信关系矩阵w,并计算矩阵w对应的特征值及特征向量;对特征值进行有序排列,按照拓扑划分结果对特征值进行相应数目划分;按特征值划分结果寻找对应的ip核,并标记划分结果到每个ip核中。

所述的子区域映射包括:在通信核图中选定通信的起始ip核,若在通信核图中还有与起始ip核具有相同标记的ip核,则随机选择一种匹配方式将这两个ip核映射到该标记所对应的子区域;从通信核图的未映射ip核中选择当前欲映射ip核,选择的优先级为先考虑未映射ip核与已映射ip核是否具有通信关系,再考虑未映射ip核与已映射ip核间的通信量大小,最后从未映射ip核中随机选择一个ip核作为当前欲映射ip核;选择与当前欲映射ip核具有相同标记向量的ip核,并计算这两个ip核在其对应区域不同位置的通信能耗,将能耗最小处的位置作为ip核的最终映射位置;标记本次映射结果到每个ip核中,重复上述操作,直到所有的ip核映射。

具体实施方式

一、定义有向图g(t,c),其中ti∈t为顶点集合,有向边cij=<ti,tj>∈c,cij的边权重vij,当t代表ip核集,cij表示从ip核ti到tj信息流方向,vij表示从ip核ti到tj的通信量,称有向图g(t,c)为通信核图,记为ccg。

二、定义向图g(n,p),其中ni∈n顶点集合,有向边pij=<ni,nj>∈p,pij的边权重eij,当n代表网络节点集,pij表示从节点ni到nj的物理信道,eij表示从节点ni到nj发送1bit数据所消耗的平均能耗,称有向图g(n,p)为拓扑架构图,记为tag。

三、设计流量均衡模型:网络中心热点的产生会影响网络的吞吐、时延等性能,尤其是在网状拓扑的片上网络设计中,网络中心热点产生的不均衡热量会严重影响到整个芯片的可靠性,因此流量均衡是片上网络优化设计的重要方面。网络的流量均衡状况不仅与该节点通过的流量大小有关,同时还与节点在网络中位置有关。通过网络中每个节点的流量与全网平均流量越接近,则该网络均衡性能就越好;热点区域位于网络中心对网络的影响远远超过位于网络边缘区域的影响。发明一种衡量网络流量均衡状况的模型为:

其中trafni为通过网络节点ni的流量,m为网络节点总数。网络流量越均衡,热点区域距离网络中心越远,则btra值就越小。

四、确定映射模型:基于以上定义及模型,映射问题就可以转化为寻找一个映射函数使其满足如下优化问题:

式中,vij表示从ip核ti到tj的通信量,h为网络节点map(ti)和map(tj)的通信距离,map(ti)为ip核ti映射到对应网络的节点,其与映射结果有关。

五、拓扑产生:根据通信核图中ip核数目k生成的网络拓扑row×col应该满足条件并使得产生的拓扑节点数目应大于等于ip核数目且尽可能使二者相等。

六、通信核图修正:1)若网络节点数目m大于ip核数目k,则在通信核图中增加m-k个虚拟ip核,并假设这些虚拟ip核与其它ip核的通信量为0,以保证通信核图中ip核数目和网络节点数目相等。否则不对通信核图修正;2)若在步骤1)中对通信核图进行修正,则待到所有ip核映射完毕删除步骤1)中的虚拟ip核。

七、拓扑划分:设拓扑区域为row×col。拓扑划分包括如下步骤:1)判断当前划分次数,若为奇数次则进行列划分,否则进行行划分;2):若拓扑的行(列)数为奇数,则分为左,中,右(上,中,下)3个子拓扑平面,其拓扑参数分row×1,若为偶数则分为左,右(上,下)2个子拓扑平面,其拓扑参数为重复划分拓扑,直到划分的子集中网络节点数目小于等于2个。

八、通信核图划分:所述的通信核图划分使得划分的ip核间通信量最小,并标记此次划分结果到每个ip核中。通信量最小的ip核划分按照以下步骤进行:1):根据通信核图构造通信关系矩阵w,并计算矩阵w对应的特征值及特征向量;2)对特征值进行有序排列,按照拓扑划分结果对特征值进行相应数目划分;3)按特征值划分结果寻找对应的ip核,并标记划分结果到每个ip核中。

九、子区域映射:子区域映射包括:1)在通信核图中选定通信的起始ip核,若在通信核图中还有与起始ip核具有相同标记的ip核,则随机选择一种匹配方式将这两个ip核映射到该标记所对应的子区域;2)从通信核图的未映射ip核中选择当前欲映射ip核,选择的优先级为先考虑未映射ip核与已映射ip核是否具有通信关系,再考虑未映射ip核与已映射ip核间的通信量大小,最后从未映射ip核中随机选择一个ip核作为当前欲映射ip核;3)选择与当前欲映射ip核具有相同标记向量的ip核,并计算这两个ip核在其对应区域不同位置的通信能耗,将能耗最小处的位置作为ip核的最终映射位置;4)标记本次映射结果到每个ip核中,重复上述操作,直到所有的ip核映射。

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