CN103763205A - 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 - Google Patents
硅通孔负载全局均衡的三维片上网络延迟上界优化方法 Download PDFInfo
- Publication number
- CN103763205A CN103763205A CN201410016688.2A CN201410016688A CN103763205A CN 103763205 A CN103763205 A CN 103763205A CN 201410016688 A CN201410016688 A CN 201410016688A CN 103763205 A CN103763205 A CN 103763205A
- Authority
- CN
- China
- Prior art keywords
- node
- tsv
- flow
- network
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了硅通孔负载全局均衡的三维片上网络延迟上界优化方法,找出网络中所有业务流的源节点和目地节点,搜索业务流的源节点到目的节点之间所有可行路径,求出目标流基于度的冲突矩阵;找出一条子流经过的所有TSV链路作为这条子流的路径,根据目标流基于度的冲突矩阵求出这条子流路径的TSV冲突系数;遍历目标流的所有子流,找出目标流所有子流的TSV冲突系数;按照路径的TSV冲突系数的大小把目标流的流量分配到部分最优的路径上。本发明的有益效果是:提出基于度的冲突矩阵,可以清晰直观的表现出业务流在网络中每条链路的冲突情况;提出硅通孔负载全局均衡的业务流拆分方法,优化业务流延迟上界,提升了网络性能。
Description
技术领域
本发明属于基于硅通孔的三维片上网络设计技术领域,涉及硅通孔负载全局均衡的三维片上网络延迟上界优化方法。
背景技术
《计算机工程与科学》2011年第33第3期34-40页中“片上网络二维和三维结构的通信性能分析”对比分析了k-ary-2-mesh网络及其对应的三维网络在最差情形下的通信性能,得出了以下结论:三维网络的平均通信性能虽然更优,但受垂直信道影响其最差情形下的通信性能可能劣于其对应的二维网络。其不足之处在于:虽然得出垂直通道(也就是硅通孔)是影响性能(如延迟上界)的关键因素,但并未分析如何解决该问题的优化方法。发表于2012年第八届IEEE/ACM/IFIP international conference on Hardware/software codesignand system synthesis国际会议第123-132页的“Worst-case performanceanalysis of2-D mesh NoCs using multi-path minimal routing”论文,提出一种冲突矩阵来表征网络的拥堵状况,以及一种二维片上网络延迟上界分析方法,可针对多路径路由的片上网络分析业务流的延迟上界。其不足之处在于:所提出的冲突矩阵复杂度高,对冲突的表达不够直观,且没有分析三维片上网络中延迟上界的分析,以及针对基于硅通孔的三维片上网络如何优化业务流的延迟上界。目前还未有针对三维片上网络硅通孔结构的特殊性,通过全局均衡硅通孔的负载来优化全局业务流的延迟上界的方法。
发明内容
本发明提出硅通孔负载全局均衡的三维片上网络延迟上界优化方法,解决了目前还未有针对三维片上网络硅通孔结构的特殊性,通过全局均衡硅通孔的负载来优化全局业务流的延迟上界的方法的问题。
本发明提出了硅通孔负载全局均衡的三维片上网络延迟上界优化方法,本发明的技术特点在于采用以下步骤:
步骤1:搜索整个网络,找出网络中所有业务流的源节点和目地节点,业务流采用最小多路径路由的传输方式,把需要优化的一条业务流做为目标流,其余所有的业务流都做为冲突流,搜索业务流的源节点到目的节点之间所有可行路径,求出目标流基于度的冲突矩阵;
步骤2:选择目标流的一条子流,找出这条子流经过的所有TSV链路作为这条子流的路径,根据目标流基于度的冲突矩阵求出这条子流路径的TSV冲突系数;
步骤3:重复步骤2,遍历目标流的所有子流,找出目标流所有子流的TSV冲突系数;
步骤4:选择TSV冲突系数最小的路径作为最优路径,优先级最高,其次为次优路径,以此类推,TSV冲突系数最大的为最差路径,优先级最低;
步骤5:按照路径的TSV冲突系数的大小把目标流的流量分配到部分最优的路径上,冲突系数大的分配的流量少,冲突系数小的分配的流量多,并更新目标流在网络的路径,同时更新冲突矩阵;
步骤6:重复步骤1至步骤5的方法对网络中所有需要优化的业务流依次进行优化。
本发明的技术特点还在于最小多路径路由传输方式是业务流从源节点到目的节点只经过部分或所有最短的可行路径。目标流既可以是目标主流也可以是部分目标子流。目标子流是目标流从源节点到目的节点的任意一条特定的最短可行路径;所述目标主流不重复的包括从源节点到目的节点所有的目标子流。冲突流是网络中除了目标流以外的其余所有业务流。基于度的冲突矩阵可以应用于任何拓扑结构的网络,它通过下式计算:
其中si表示业务流的源节点;di表示业务流的目的节点;表示目标流基于度的冲突矩阵;cij是路由节点i指向j号相邻节点的路径的链路冲突系数;矩阵中的列向υ为网络中路由节点的总数,横向ω为网络中路由节点度的值;表示一条业务流基于度的邻接矩阵,其建立方法为:对片上网络的每个节点以及每个节点与相邻节点的方向编号,矩阵行数等于节点数目,列数为片上网络中路由节点的度,矩阵中的每个元素为当前节点到下一节点的节点拆分比例;i=1,2,3…k,k表示网络中业务流的总数;+是表示这些矩阵相加;度表示网络中所有单个节点相邻节点的数目的最大值,在三维片上网络中,度的值最小为1,度的理论最大值无上限;cυω表示业务流的第υ个节点在w方向的节点拆分比例;
式中两个矩阵的^运算根据下式形式计算:
其中两个数之间的^运算根据下式计算:
其中pij为该业务流在路由节点i对该节点j号相邻节点的拆分比例,pυω表示子业务流的第υ个节点在w方向的节点拆分比例,任意一个路由节点的相邻节号的编号方式如下:每个路由节点的相邻节点从1开始依次编号,直到该路由节点所有的相邻节点编号完成,再对下一个的路由节点的相邻节点从1开始依次编号,如此往复,遍历整个网络的所有路由节点;当该业务流在路由节点i有多个方向可供选择时,pij为该业务流到达路由节点i的所有拆分比例之和pAi乘以这条链路的拆分比例pi_j:一个路由节点i的一条链路j的拆分比例pi_j是指一条业务流在这个节点的该链路上的流量与这条业务流从这个节点流出的总流量的比值;一条业务流到达一个路由节点i的所有拆分比例之和pAi是指这条业务流流入这个节点的所有的拆分比例的和,并规定在源节点这个值是1,
pij=pAi×pi_j;
当该业务流在路由节点i只有一个方向可供选择时,pij等于该业务流到达路由节点i的所有拆分比例之和pAi,
pij=pAi;
当路由节点i的j号相邻节点不存在时,或该业务流没有经过节点i时,pij值为0。步骤2求出子流路径的TSV冲突系数的方法为选择目标流的一条子流,找出这条子流经过的所有TSV链路并记录,根据这条子流在每条TSV链路上的流向,确定该链路在目标流基于度的冲突矩阵中的位置:根据该子流在一条TSV链路上的流向确定该子流在这条链路连接的两个相邻节点中的流入节点和流出节点,一条TSV链路包括连接的两个相邻节点,一条子流如果流经这条链路必须从一个节点流向另一个节点,确定从哪个节点流出,哪个节点流入,流出的路由节点号i是这条链路在目标流基于度的冲突矩阵中的行号,流入的节点相对于流出节点的相邻节点号j是这条链路在目标流基于度的冲突矩阵中的列号,该链路在目标流基于度的冲突矩阵中相应位置的值是该TSV链路的链路冲突系数,重复上述方法,找出这条子流的所有TSV链路的链路冲突系数,取最大值作为这条子流的TSV冲突系数。步骤5中目标流的流量分配方法为若有一条或几条路径的TSV冲突系数为0,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且它们是最小的,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且他们都是次优路径,即有一条TSV冲突系数不为0的路径是最优路径,将业务流按比例分配到最优路径和这些次优路径上,分配比例为所有选择路径TSV冲突系数的反比,先将所有次优路径等效成一条路径,等效次优路径,把它们的TSV冲突系数相加,其和作为这条路径的TSV冲突系数,等效次优TSV冲突系数,然后将业务流分配到最优路径和这条等效次优路径上,业务流在这两条路径的分配比例为它们TSV冲突系数的反比,接着将分配到等效次优路径上的业务流流量平均分配给所有的次优路径;否则选择TSV冲突系数最小的两条路径作为传输路径,将业务流的流量按比例分配到这两条路径上,分配的比例为TSV冲突系数的反比。
本发明的有益效果是提出基于度的冲突矩阵,可以清晰直观的表现出业务流在网络中每条链路的冲突情况;提出硅通孔负载全局均衡的业务流拆分方法,优化业务流延迟上界,提升了网络性能。
附图说明
图1是本发明的3D-NoC网络节点结构示意图;
图2是本发明的3D-NoC结构简图;
图3是本发明实施例1目标流和冲突流的所有路径图;
图4是本发明实施例1冲突流基于度的邻接矩阵;
图5是本发明实施例1目标流基于度的邻接矩阵;
图6是本发明实施例1所有业务流求和后的矩阵;
图7是本发明实施例1目标流基于度的冲突矩阵;
图8是本发明实施例1原冲突矩阵;
图9是本发明最大延迟分析实验的优化对比图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明中所述的三维片上网络使用mesh结构,网络中的节点采用mesh结构排列,节点的排列方式任意(可以规则排列也可以不规则排列),图1为此结构的一个示意图,图中网络中的节点呈立方结构整齐排列,图2是它的结构简图,建立了三维坐标(X,Y,Z)来表示网络中的所有节点,网络中的业务流采用最小多路径路由的传输方式,它是指业务流从源节点到目的节点经过路由节点最少的路径。本发明通过以下步骤来实现:
步骤1:搜索整个网络,找出网络中所有业务流的源节点和目地节点,并记录,源节点和目地节点都相同的业务流不重复记录,每一条业务流是一条主流,即本文中所述的“业务流”都代表主流。把需要优化的一条业务流做为目标流,其余所有的业务流都做为冲突流。本发明的目的是在确定目标业务流后,在目标流的源节点和目的节点之间,所有可能的最短路径中,选择一条延迟上界最短,并且使得全局业务流较为均衡的路径。
使用树的遍历算法依次搜索所有业务流的源节点到目地节点之间所有路径,并记录。每一条路径是一条子流,每条子流的特性参数用平均转发速率和突发度来表示。由于本发明是建立在网络演算的基础上的,所以使用网络演算理论研究业务流参数的平均转发速率和突发度。将所有可能的最短路径看作业务流拆分方式来实现,即从源节点开始,在X、Y、Z三个方向开始拆分,其中X、Y表示水平平面方向,Z表示垂直方向,并且Z方向即为硅通孔(TSV)的抽象。给定每个方向的业务流拆分比例,该拆分比例称为节点拆分比例;由节点拆分比例可以得出链路拆分比例,即业务流流经的所有节点的节点拆分比例的乘积。三个方向的子业务流的到达曲线分别为主流到达曲线乘以该子流的链路拆分比例。设主流达到曲线为α(t)=rt+b,其中r为速率,b表示突发度,t表示时间,以及其中一条子流的链路拆分比例为p,则该子流的到达曲线为α`(t)=p(rt+b)。
通过上述遍历算法,不仅能够求出每条目标业务流的所有子流及其到达曲线,也得到了每条子流需要流经的所有链路(两个相邻节点之间的路径,包括水平路径和垂直路径),这样就可以得到每条子流在每条链路上的节点拆分比例,这个拆分比例就是用来计算业务流的邻接矩阵的。按下式求出目标流基于度的冲突矩阵:
其中si表示业务流的源节点;di表示业务流的目的节点;表示目标流基于度的冲突矩阵;cij是路由节点i指向j号相邻节点的路径的链路冲突系数;矩阵中的列向υ为网络中路由节点的总数,横向ω为网络中路由节点度的值;表示一条业务流基于度的邻接矩阵,其建立方法为:对片上网络的每个节点以及每个节点与相邻节点的方向编号,矩阵行数等于节点数目,列数为片上网络中路由节点的度,矩阵中的每个元素为当前节点到下一节点的节点拆分比例;i=1,2,3…k,k表示网络中业务流的总数(包括冲突流和目标流);+是表示这些矩阵相加;度表示网络中所有单个节点相邻节点的数目的最大值,在三维片上网络中,度的值最小为1(即三维片上网络中最少有一个节点,它至少和一个相邻节点通过TSV通道连接),度的理论最大值无上限。在图1和图2所示的三维片上网络中它的值是6,即每个节点最多和6个节点相邻。cυω表示业务流的第υ个节点在w方向的节点拆分比例。
式中两个矩阵的^运算根据下式形式计算:
其中两个数之间的^运算根据下式计算:
式中基于度的邻接矩阵通过下式计算:
其中pij为该业务流在路由节点i对该节点j号相邻节点的拆分比例。pυω表示子业务流的第υ个节点在w方向的节点拆分比例。任意一个路由节点的相邻节号的编号方式如下:每个路由节点的相邻节点从1开始依次编号,直到该路由节点所有的相邻节点编号完成,再对下一个的路由节点的相邻节点从1开始依次编号,如此往复,遍历整个网络的所有路由节点。
当该业务流在路由节点i有多个方向可供选择时,pij为该业务流到达路由节点i的所有拆分比例之和pAi乘以这条链路(路由节点i和它的j号相邻节点之间的路径)的拆分比例pi_j:一个路由节点(i)的一条链路(j)的拆分比例pi_j是指:一条业务流在这个节点的该链路上的流量与这条业务流从这个节点流出的总流量的比值。一条业务流到达一个路由节点(i)的所有拆分比例之和pAi是指:这条业务流流入这个节点的所有的拆分比例的和,并规定在源节点这个值是1。
pij=pAi×pi_j;
当该业务流在路由节点i只有一个方向可供选择时,pij等于该业务流到达路由节点i的所有拆分比例之和pAi:
pij=pAi;
当路由节点i的j号相邻节点不存在时,或该业务流没有经过节点i时,pij值为0。
步骤2:选择目标流的一条子流,找出这条子流经过的所有TSV链路并记录。其中TSV链路是指用TSV技术制造的连接两个相邻节点的路径,由于三维片上网络结构的特殊性,节点之间的垂直通道必须用TSV技术制造,水平通道不需要,使用TSV技术制造的通道就是TSV链路。根据这条子流在每条TSV链路上的流向,确定该链路在目标流基于度的冲突矩阵中的位置。方法如下:根据该子流在一条TSV链路上的流向确定该子流在这条链路连接的两个相邻节点中的流入节点和流出节点,一条TSV链路包括连接的两个相邻节点,一条子流如果流经这条链路必须从一个节点流向另一个节点,确定从哪个节点流出,哪个节点流入,流出的路由节点号i是这条链路在目标流基于度的冲突矩阵中的行号,流入的节点相对于流出节点的相邻节点号j是这条链路在目标流基于度的冲突矩阵中的列号,该链路在目标流基于度的冲突矩阵中相应位置的值是该TSV链路的链路冲突系数。重复上述方法,找出这条子流的所有TSV链路的链路冲突系数,取最大值作为这条子流的TSV冲突系数。
步骤3:重复步骤2,遍历目标流的所有子流,找出目标流所有子流的TSV冲突系数。
步骤4:根据步骤3中求出的每条子流的TSV冲突系数分配路径的优先级,选择目标流TSV冲突系数最小的路径作为最优路径,其次为次优路径,以此类推,TSV冲突系数最大的为最差路径,具有相同TSV冲突系数的路径具有相同的优先级;优先级按照TSV冲突系数从小到大降低,越大路径优先级越低。
步骤5:按照路径的TSV冲突系数的大小把目标流分配到部分最优的路径上,即选择部分目标流的子流作为目标流的传输路径,冲突系数大的优先级最低分配的流量少,冲突系数小的优先级高分配的流量多。具体流量分配方法如下:若有一条或几条路径的TSV冲突系数为0,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且它们是最小的,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且他们都是次优路径(即有一条TSV冲突系数不为0的路径是最优路径),将业务流按比例分配到最优路径和这些次优路径上,分配比例为所有选择路径TSV冲突系数的反比,分配方法为:先将所有次优路径等效成一条路径(等效次优路径),把它们的TSV冲突系数相加,其和作为这条路径的TSV冲突系数(等效次优TSV冲突系数),然后将业务流分配到最优路径(一条)和这条等效次优路径上,业务流在这两条路径的分配比例为它们TSV冲突系数的反比,接着将分配到等效次优路径上的业务流流量平均分配给所有的次优路径;否则选择TSV冲突系数最小的两条路径作为传输路径,将业务流的流量按比例分配到这两条路径上,分配的比例为TSV冲突系数的反比。更新目标流在网络的路径,同时更新冲突矩阵;
步骤6:重复步骤1至步骤5的方法对网络中所有需要优化的业务流依次进行优化。
与已有方法相比较,本发明的有益效果体现在:
(1)本发明提出使用基于度的冲突矩阵,它的复杂度低,并且可以清晰直观的表现出业务流在网络中每条链路的冲突情况;建立业务流之间相互冲突的数学模型,针对三维片上网络结构的特殊性,刻画出三维片上网络中垂直通道(硅通孔)与其他平面的冲突程度。
(2)本发明提出硅通孔负载全局均衡的业务流拆分方法,可有效均衡三维片上网络全局负载,并优化业务流延迟上界,提升基于硅通孔的片上网络性能。图9是最大延迟分析实验的优化对比图,图中带圆形的线是优化前的延迟上界,带三角的线是优化后的延迟上界,从图中可以看出,对于冲突流不同的Y方向拆分比例,本发明提出的方法对目标业务流的延迟上界都起到了优化的作用,最大的优化效果将延迟改善了52.3%。
下面通过具体实施例来对本发明进行说明:
实施例1:
如图1所示是一个规则Mesh结构的3D-NoC示意图,网络中路由节点的度为6,即网络中的节点最多和6个节点相邻,分别在东(E)、西(W)、南(S)、北(N)、上(U)、下(D)6个方向上。对6个方向分别编号为1到6,图中L表示本地节点,即该路由节点本身。如图2所示为一个3D-NoC的结构简图,其中每个点代表一个路由节点。网络中共有两条业务流,一条从节点v2(1,2,1)到节点v26(2,3,3),另一条从节点v5(2,2,1)到节点v26(2,3,3)。业务流采用最小多路径路由的方式,,且业务流在流经每个节点后的所有可能方向上的流量都是均分的,同时规定:x增大方向为东(E),减小方向为西(W);y增大方向为北(N),减小方向为南(S);z增大方向为上(U),减小方向为下(D)。
步骤1:搜索整个网络,找出网络中所有业务流的源节点和目地节点。如图2所示,所有的路由节点已经编号,坐标为(1,1,1)的点为v1节点,坐标为(3,3,3)的点为v27节点,这里从最上面一层开始编号,先将顶层所有节点编码完成,接着编码第二层,以此类推,遍历所有节点。由条件知,共有2条业务流,业务流1从节点v2(1,2,1)到节点v26(2,3,3),业务流2从节点v5(2,2,1)到节点v26(2,3,3)。我们先优化业务流1,即将业务流1定为目标流,业务流2定为冲突流。接着使用树的遍历算法搜索业务流源节点到目标节点的所有可能路径。如图3所示,图中上下分别为用树的遍历算法求出的目标流和冲突流的所有路径。目标流共有6条可行的路径,分别为:
1.v2(2,1,1)→v5(2,2,1)→v8(2,3,1)→v17(2,3,2)→v26(2,3,3)
2.v2(2,1,1)→v5(2,2,1)→v14(2,2,2)→v23(2,2,3)→v26(2,3,3)
3.v2(2,1,1)→v5(2,2,1)→v14(2,2,2)→v17(2,3,2)→v26(2,3,3)
4.v2(2,1,1)→v11(2,1,2)→v14(2,2,2)→v17(2,3,2)→v26(2,3,3)
5.v2(2,1,1)→v11(2,1,2)→v14(2,2,2)→v23(2,2,3)→v26(2,3,3)
6.v2(2,1,1)→v11(2,1,2)→v20(2,1,3)→v23(2,2,3)→v26(2,3,3)
冲突流共有3条可行路径,分别为:
1.v5(2,2,1)→v8(2,3,1)→v17(2,3,2)→v26(2,3,3)
2.v5(2,2,1)→v14(2,2,2)→v23(2,2,3)→v26(2,3,3)
3.v5(2,2,1)→v14(2,2,2)→v17(2,3,2)→v26(2,3,3)
目标流与冲突流在3条路径上产生冲突,分别是:
v5(2,2,1)→v8(2,3,1)→v17(2,3,2)→v26(2,3,3)
v5(2,2,1)→v14(2,2,2)→v23(2,2,3)→v26(2,3,3)
v5(2,2,1)→v14(2,2,2)→v17(2,3,2)→v26(2,3,3)
然后给每个路由节点的相邻节点编号,按照东(E)、西(W)、南(S)、北(N)、上(U)、下(D)的顺序给每个路由节点的相邻节点编号,即每个路由节点的东(E)方向的节点为1号相邻节点,西(W)方向的节点为2号相邻节点,以此类推。下面求解目标流冲突矩阵:首先求出目标流和冲突流的邻接矩阵。冲突流共有3条可能路径,流经v5(2,2,1)、v8(2,3,1)、v14(2,2,2)、v17(2,3,2)、v23(2,2,3)、v26(2,3,3)6个可能节点。由于业务流在流经每个节点后的所有可能方向上的流量都是均分的,且规定业务流在源节点的未拆分时的比例为1,所以冲突流在节点v5(2,2,1)北(N)和上(U)方向的拆分比均为0.5。又由于采用最小多路径路由方式,在节点v8(2,3,1)冲突流只有一个可能流向:上(U),又因为业务流在每个节点的未拆分时的比例为到达该节点的所有业务流的拆分比例之和,所以冲突流在节点v8(2,2,1)未拆分时的比例为0.5,且在v8(2,2,1)上(U)方向的拆分比例为0.5。在节点v14(2,2,2)冲突流有2个可能流向:北(N)和上(U),且根据业务流在每个节点的未拆分时的比例为到达该节点的所有业务流的拆分比例之和,以及业务流在流经每个节点后的所有可能方向上的流量均分可知v14(2,2,2)北(N)和上(U)方向的拆分比例分别为0.25和0.25,其他方向为0。在节点v17(2,3,2)有两条冲突子流汇聚于此,分别来自v8(2,3,1)和v14(2,2,2)。同理根据规定冲突流在v17(2,3,2)未拆分时的比例(初始比例)为0.5+0.25=0.75,又在节点v17(2,3,2)冲突流只有一个可行流向:上(U),所以冲突流在节点v17(2,3,2)上(U)方向的拆分比例为0.75。在节点v23(2,2,3)有一条冲突子流流入,来自v14(2,2,2),它的拆分比例为0.25。并且在v23(2,2,3)冲突流只有一个可行流向:北(N),所以冲突流在节点v23(2,2,3)北(N)方向的拆分比例为0.25。最终我们可以发现所有的冲突流汇聚于目的节点v26(2,3,3),来自于两个相邻节点v17(2,3,2)和v23(2,2,3),他们的拆分比例之和为0.75+0.25=1,同源节点的未拆分时的比例一致,即所有从源节点出发的业务流都到达了目的节点。这样得到冲突流基于度的邻接矩阵,如图4所示,可以看出冲突流在每个节点各个方向的拆分比例得到了直观清晰的表达。同理也可以求出目标流基于度的邻接矩阵,如图5所示。进一步根据公式:
求出目标流基于度的冲突矩阵。首先将网络中所有业务流的邻接矩阵相加,本例中只有两条业务流,即一条冲突流和一条目标流,相加后的矩阵如图6所示。随后我们将此矩阵同目标流的邻接矩阵做运算,根据前面^运算的定义,我们发现运算后的矩阵没有发生变化(这里只是一个特例,并不代表所有的矩阵^运算后都不变)。最后我们将这个矩阵减掉目标流的邻接矩阵,便得到了最终目标流基于度的冲突矩阵如图7所示。作为对比,图8是根据2012年第八届IEEE/ACM/IFIPinternational conference on Hardware/software codesign and systemsynthesis国际会议第123-132页的“Worst-case performance analysis of2-D mesh NoCs using multi-path minimal routing”论文中的定义求出的冲突矩阵。可以看出基于度的冲突矩阵(图7)不仅更直观的表达了网络的冲突状态,在空间复杂度上也大大降低。对于本例中3*3*3的网络,如果使用原冲突矩阵,最多需要(3*3*3)2=729个元素来表现网络中的冲突状态,而基于度的冲突矩阵最多只需要(3*3*3)*6=162个元素,所占的存储空间仅为原冲突矩阵的22.2%,存储复杂度从O(n2)降低到O(n),大大降低了所需的存储空间。
步骤2:求出一条目标子流的TSV冲突系数。目标流共有6条子流,对于路径1,总共经过2条TSV链路,分别是v8(2,3,1)→v17(2,3,2)和v17(2,3,2)→v26(2,3,3),这两条链路在目标流基于度的冲突矩阵中分别对应于节点v8(2,3,1)的上(U)方向和节点v17(2,3,2)的上(U)方向。在冲突矩阵中,这两个位置的元素值分别为0.5和0.75,因此可以得到两条链路的TSV冲突系数分别为0.5和0.75,选择较大的数值,所以路径了1的TSV冲突系数为0.75。
步骤3:求出所有子流的TSV冲突系数。重复步骤2可以求出其余5条链路的TSV冲突系数分别为:路径2为0.5,路径3为0.75,路径4为0.75,路径5为0.25,路径6为0。
步骤4:选择TSV冲突系数最小的那条路径作为最优路径,其次为次优路径,以此类推。此例中路径6的TSV冲突系数最小为0,是最优路径,路径5为次优路径,路径2排第三,路径3和路径4的TSV冲突系数相同且都为最大值,所以同为最差路径。
步骤5:按照路径的TSV冲突系数的大小把目标流的流量分配到部分最优路径上,冲突系数大的分配的流量少,冲突系数小的分配的流量多。因为路径6的TSV冲突系数为0,所以将目标流全部分配到此路径上,即v2(2,1,1)→v11(2,1,2)→v20(2,1,3)→v23(2,2,3)→v26(2,3,3),其余路径不分配流量。
步骤6:接着重复步骤1到步骤5,将业务流2作为目标流进行优化,优化结果是业务流2的传输方式不变。因为业务流1经过优化后,业务流2的所有子流的TSV冲突系数都为0,已经都是最优路径。本发明提出基于度的冲突矩阵,可以清晰直观的表现出业务流在网络中每条链路的冲突情况;提出硅通孔负载全局均衡的业务流拆分方法,优化业务流延迟上界,提升了网络性能。针对三维片上网络中硅通孔的关键特性,全局均衡通过硅通孔的业务流负载,以此优化业务流的延迟上界,通过分配业务流在每条路径上的流量降低传输延迟上界。
实施例2:
如图2所示,设网络中有一条目标流从节点v5(2,2,1)到节点v25(1,3,3),两条冲突流:分别为节点v1(1,1,1)到v27(3,3,3)和节点v2(2,1,1)到v26(2,3,3)。目标流和冲突流都采用全拆分策略,即每一条子流都存在。冲突流1共有90条子流,冲突流2共有6条子流,目标流共有12条子流。目标流的12条子流路径分别为:
1.v5(2,2,1)→v4(1,2,1)→v7(1,3,1)→v16(1,3,2)→v25(1,3,3)
2.v5(2,2,1)→v4(1,2,1)→v13(1,2,2)→v16(1,3,2)→v25(1,3,3)
3.v5(2,2,1)→v4(1,2,1)→v13(1,2,2)→v22(1,2,3)→v25(1,3,3)
4.v5(2,2,1)→v8(2,3,1)→v11(1,3,1)→v16(1,3,2)→v25(1,3,3)
5.v5(2,2,1)→v8(2,3,1)→v17(2,3,2)→v16(1,3,2)→v25(1,3,3)
6.v5(2,2,1)→v8(2,3,1)→v17(2,3,2)→v26(2,3,3)→v25(1,3,3)
7.v5(2,2,1)→v14(2,2,2)→v13(1,2,2)→v16(1,3,2)→v25(1,3,3)
8.v5(2,2,1)→v14(2,2,2)→v13(1,2,2)→v22(1,2,3)→v25(1,3,3)
9.v5(2,2,1)→v14(2,2,2)→v17(2,3,2)→v16(1,3,2)→v25(1,3,3)
10.v5(2,2,1)→v14(2,2,2)→v17(2,3,2)→v26(2,3,3)→v25(1,3,3)
11.v5(2,2,1)→v14(2,2,2)→v23(2,2,3)→v22(1,2,3)→v25(1,3,3)
12.v5(2,2,1)→v14(2,2,2)→v23(2,2,3)→v26(2,3,3)→v25(1,3,3)
这里使用网络演算理论来计算延迟上界,在网络演算理论中使用到达曲线和服务曲线来表示业务流和路由节点的特性。本例中设目标流和两条冲突流都满足如下到达曲线:α(t)=0.1t+3.7;所有路由节点都满足如下服务曲线:β(t)=0.33(t-3)+。在每个路由节点,非优化的情况下目标流X和Y方向的拆分比都为0.3,Z方向为0.4,对于优化和非优化的情况,都设冲突流X方向的拆分比为0.1。如图9所示,对于不同Y方向的拆分比,通过本优化方法,我们做出优化前后的对比图。图中带圆圈的线表示非优化时的延迟上界,带三角的线表示优化后使用选择的部分优化路径得到的延迟上界。从图中可以看出,对于不同的冲突流Y方向拆分比例(ConYPro),优化后的延迟上界都小于非优化时的情况。但是优化的效果却差别很大,这是因为对于不同的冲突流Y方向拆分比(ConYPro),得到的基于度的冲突矩阵是不同的,这样求得的TSV冲突系数也不一样,所以每次选择的路径也不相同。在本例中当ConYPro为0时,选择的两条路径为1和2;当ConYPro在0.1到0.5之间时,选择的路径为1和3;当ConYPro在0.6到0.8之间时,选择的路径为3和8;ConYPro为0.9时,只选择了路径3,因为路径3的TSV通道冲突系数为0。但对于不同路径的选择,优化后延迟上界都比原先减小了,且最大的优化效果将延迟改善了52.3%。
上述描述的实例都为一个3*3*3的片上网络实例,但这并不意味着本发明只能处理该大小的片上网络,本发明可以处理任意尺寸的三维网络。同样的虽然上例只列举了两条业务流的情况,也不仅仅意味着本发明只能处理两条业务流的网络,它可以拓展到任意数量的业务流的处理。
Claims (8)
1.硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于采用以下步骤:
步骤1:搜索整个网络,找出网络中所有业务流的源节点和目地节点,业务流采用最小多路径路由的传输方式,把需要优化的一条业务流做为目标流,其余所有的业务流都做为冲突流,搜索业务流的源节点到目的节点之间所有可行路径,求出目标流基于度的冲突矩阵;
步骤2:选择目标流的一条子流,找出这条子流经过的所有TSV链路作为这条子流的路径,根据目标流基于度的冲突矩阵求出这条子流路径的TSV冲突系数;
步骤3:重复步骤2,遍历目标流的所有子流,找出目标流所有子流的TSV冲突系数;
步骤4:选择TSV冲突系数最小的路径作为最优路径,优先级最高,其次为次优路径,以此类推,TSV冲突系数最大的为最差路径,优先级最低;
步骤5:按照路径的TSV冲突系数的大小把目标流的流量分配到部分最优的路径上,冲突系数大的分配的流量少,冲突系数小的分配的流量多,并更新目标流在网络的路径,同时更新冲突矩阵;
步骤6:重复步骤1至步骤5的方法对网络中所有需要优化的业务流依次进行优化。
2.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述的最小多路径路由传输方式是业务流从源节点到目的节点只经过部分或所有最短的可行路径。
3.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述目标流既可以是目标主流也可以是部分目标子流。
4.按照权利要求3所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述目标子流是目标流从源节点到目的节点的任意一条特定的最短可行路径;所述目标主流不重复的包括从源节点到目的节点所有的目标子流。
5.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述冲突流是网络中除了目标流以外的其余所有业务流。
6.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述基于度的冲突矩阵可以应用于任何拓扑结构的网络,它通过下式计算:
其中si表示业务流的源节点;di表示业务流的目的节点;表示目标流基于度的冲突矩阵;cij是路由节点i指向j号相邻节点的路径的链路冲突系数;矩阵中的列向υ为网络中路由节点的总数,横向ω为网络中路由节点度的值;表示一条业务流基于度的邻接矩阵,其建立方法为:对片上网络的每个节点以及每个节点与相邻节点的方向编号,矩阵行数等于节点数目,列数为片上网络中路由节点的度,矩阵中的每个元素为当前节点到下一节点的节点拆分比例;i=1,2,3…k,k表示网络中业务流的总数;+是表示这些矩阵相加;度表示网络中所有单个节点相邻节点的数目的最大值,在三维片上网络中,度的值最小为1,度的理论最大值无上限;cυω表示业务流的第υ个节点在w方向的节点拆分比例;
式中两个矩阵的^运算根据下式形式计算:
其中两个数之间的^运算根据下式计算:
式中基于度的邻接矩阵通过下式计算:
其中pij为该业务流在路由节点i对该节点j号相邻节点的拆分比例,pυω表示子业务流的第υ个节点在w方向的节点拆分比例,任意一个路由节点的相邻节号的编号方式如下:每个路由节点的相邻节点从1开始依次编号,直到该路由节点所有的相邻节点编号完成,再对下一个的路由节点的相邻节点从1开始依次编号,如此往复,遍历整个网络的所有路由节点;当该业务流在路由节点i有多个方向可供选择时,pij为该业务流到达路由节点i的所有拆分比例之和pAi乘以这条链路的拆分比例pi_j:一个路由节点i的一条链路j的拆分比例pi_j是指一条业务流在这个节点的该链路上的流量与这条业务流从这个节点流出的总流量的比值;一条业务流到达一个路由节点i的所有拆分比例之和pAi是指这条业务流流入这个节点的所有的拆分比例的和,并规定在源节点这个值是1,
pij=pAi×pi_j;
当该业务流在路由节点i只有一个方向可供选择时,pij等于该业务流到达路由节点i的所有拆分比例之和pAi,
pij=pAi;
当路由节点i的j号相邻节点不存在时,或该业务流没有经过节点i时,pij值为0。
7.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述步骤2求出子流路径的TSV冲突系数的方法为选择目标流的一条子流,找出这条子流经过的所有TSV链路并记录,根据这条子流在每条TSV链路上的流向,确定该链路在目标流基于度的冲突矩阵中的位置:根据该子流在一条TSV链路上的流向确定该子流在这条链路连接的两个相邻节点中的流入节点和流出节点,一条TSV链路包括连接的两个相邻节点,一条子流如果流经这条链路必须从一个节点流向另一个节点,确定从哪个节点流出,哪个节点流入,流出的路由节点号i是这条链路在目标流基于度的冲突矩阵中的行号,流入的节点相对于流出节点的相邻节点号j是这条链路在目标流基于度的冲突矩阵中的列号,该链路在目标流基于度的冲突矩阵中相应位置的值是该TSV链路的链路冲突系数,重复上述方法,找出这条子流的所有TSV链路的链路冲突系数,取最大值作为这条子流的TSV冲突系数。
8.按照权利要求1所述硅通孔负载全局均衡的三维片上网络延迟上界优化方法,其特征在于:所述步骤5中目标流的流量分配方法为若有一条或几条路径的TSV冲突系数为0,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且它们是最小的,这些路径都为最优路径,将业务流的流量平均分配到这些路径上;若有两条或两条以上路径的TSV冲突系数相同、不为0且他们都是次优路径,即有一条TSV冲突系数不为0的路径是最优路径,将业务流按比例分配到最优路径和这些次优路径上,分配比例为所有选择路径TSV冲突系数的反比,先将所有次优路径等效成一条路径,等效次优路径,把它们的TSV冲突系数相加,其和作为这条路径的TSV冲突系数,等效次优TSV冲突系数,然后将业务流分配到最优路径和这条等效次优路径上,业务流在这两条路径的分配比例为它们TSV冲突系数的反比,接着将分配到等效次优路径上的业务流流量平均分配给所有的次优路径;否则选择TSV冲突系数最小的两条路径作为传输路径,将业务流的流量按比例分配到这两条路径上,分配的比例为TSV冲突系数的反比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410016688.2A CN103763205B (zh) | 2014-01-14 | 2014-01-14 | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410016688.2A CN103763205B (zh) | 2014-01-14 | 2014-01-14 | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103763205A true CN103763205A (zh) | 2014-04-30 |
CN103763205B CN103763205B (zh) | 2017-03-15 |
Family
ID=50530367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410016688.2A Active CN103763205B (zh) | 2014-01-14 | 2014-01-14 | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103763205B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973585A (zh) * | 2014-05-14 | 2014-08-06 | 合肥工业大学 | 一种基于多路径路由的片上网络业务流拆分方法 |
CN104243330A (zh) * | 2014-10-10 | 2014-12-24 | 南京大学 | 一种面向低密度垂直互连的三维片上网络路由器 |
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
WO2016033813A1 (zh) * | 2014-09-05 | 2016-03-10 | 华为技术有限公司 | 基于Mesh结构的点对多点通信方法及通信节点 |
CN104008085B (zh) * | 2014-05-28 | 2017-05-17 | 合肥工业大学 | 一种片上网络延迟上界的多出口聚集流分析方法 |
CN106850450A (zh) * | 2017-01-20 | 2017-06-13 | 合肥工业大学 | 一种片上网络缓存上界的优化方法 |
CN103955584B (zh) * | 2014-05-12 | 2017-08-25 | 合肥工业大学 | 基于多路径路由的片上网络重组缓存的上界优化方法 |
CN107196868A (zh) * | 2017-05-19 | 2017-09-22 | 合肥工业大学 | 一种应用于片上网络的负载均衡系统 |
CN107276920A (zh) * | 2017-07-28 | 2017-10-20 | 南京航空航天大学 | 一种应用于混合三维片上网络的分布式流控系统及机制 |
CN111865782A (zh) * | 2019-04-29 | 2020-10-30 | 清华大学 | 三维集成电路及路由方法 |
WO2023036042A1 (zh) * | 2021-09-07 | 2023-03-16 | 华为技术有限公司 | 网络优化策略的确定方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827396A (zh) * | 2010-04-29 | 2010-09-08 | 北京邮电大学 | 异构无线环境下多网协作传输的资源分配系统及方法 |
CN102215168A (zh) * | 2011-06-03 | 2011-10-12 | 黄东 | 一种基于层叠网络的业务资源优化调度方法 |
CN102662909A (zh) * | 2012-03-22 | 2012-09-12 | 东华理工大学 | 一种三维众核片上系统 |
-
2014
- 2014-01-14 CN CN201410016688.2A patent/CN103763205B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827396A (zh) * | 2010-04-29 | 2010-09-08 | 北京邮电大学 | 异构无线环境下多网协作传输的资源分配系统及方法 |
CN102215168A (zh) * | 2011-06-03 | 2011-10-12 | 黄东 | 一种基于层叠网络的业务资源优化调度方法 |
CN102662909A (zh) * | 2012-03-22 | 2012-09-12 | 东华理工大学 | 一种三维众核片上系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955584B (zh) * | 2014-05-12 | 2017-08-25 | 合肥工业大学 | 基于多路径路由的片上网络重组缓存的上界优化方法 |
CN103973585A (zh) * | 2014-05-14 | 2014-08-06 | 合肥工业大学 | 一种基于多路径路由的片上网络业务流拆分方法 |
CN103973585B (zh) * | 2014-05-14 | 2017-05-17 | 合肥工业大学 | 一种基于多路径路由的片上网络业务流拆分方法 |
CN104008085B (zh) * | 2014-05-28 | 2017-05-17 | 合肥工业大学 | 一种片上网络延迟上界的多出口聚集流分析方法 |
CN105594168A (zh) * | 2014-09-05 | 2016-05-18 | 华为技术有限公司 | 基于Mesh结构的点对多点通信方法及通信节点 |
WO2016033813A1 (zh) * | 2014-09-05 | 2016-03-10 | 华为技术有限公司 | 基于Mesh结构的点对多点通信方法及通信节点 |
CN104243330A (zh) * | 2014-10-10 | 2014-12-24 | 南京大学 | 一种面向低密度垂直互连的三维片上网络路由器 |
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN104539533B (zh) * | 2014-12-22 | 2017-12-01 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN106850450A (zh) * | 2017-01-20 | 2017-06-13 | 合肥工业大学 | 一种片上网络缓存上界的优化方法 |
CN106850450B (zh) * | 2017-01-20 | 2019-08-30 | 合肥工业大学 | 一种片上网络缓存上界的优化方法 |
CN107196868A (zh) * | 2017-05-19 | 2017-09-22 | 合肥工业大学 | 一种应用于片上网络的负载均衡系统 |
CN107276920A (zh) * | 2017-07-28 | 2017-10-20 | 南京航空航天大学 | 一种应用于混合三维片上网络的分布式流控系统及机制 |
CN107276920B (zh) * | 2017-07-28 | 2020-01-17 | 南京航空航天大学 | 一种应用于混合三维片上网络的分布式流控系统及方法 |
CN111865782A (zh) * | 2019-04-29 | 2020-10-30 | 清华大学 | 三维集成电路及路由方法 |
CN111865782B (zh) * | 2019-04-29 | 2021-08-06 | 清华大学 | 三维集成电路及路由方法 |
WO2023036042A1 (zh) * | 2021-09-07 | 2023-03-16 | 华为技术有限公司 | 网络优化策略的确定方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103763205B (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103763205A (zh) | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 | |
CN107888425B (zh) | 移动通信系统的网络切片部署方法和装置 | |
Tosun | New heuristic algorithms for energy aware application mapping and routing on mesh-based NoCs | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
CN103986664B (zh) | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 | |
CN104683488A (zh) | 流式计算系统及其调度方法和装置 | |
CN106961343B (zh) | 一种虚拟映射方法及装置 | |
CN104156267A (zh) | 任务分配方法、任务分配装置及片上网络 | |
CN101808254B (zh) | 一种基于分层图的静态选路与波长分配方法 | |
JP6152172B2 (ja) | ソフトウェア・デファインド・フレキシブル・グリッド光伝達網における、クラウドサービスの組込みためのコンピュート後ネットワーク負荷分散手順 | |
CN109034654A (zh) | 空中交通相依网络脆弱性的度量方法 | |
CN115396514B (zh) | 资源分配方法、装置及存储介质 | |
CN105072032A (zh) | 一种确定片上网络路由路径的方法及系统 | |
CN109379281A (zh) | 一种基于时间窗口的流量调度方法及系统 | |
CN115277429B (zh) | 基于灵活以太网的电力通信业务资源分配方法及装置 | |
CN104104621A (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
CN112104491A (zh) | 面向服务的网络虚拟化资源管理方法 | |
CN107483355B (zh) | 面向数据中心的在线场景低带宽开销流量调度方案 | |
Liu et al. | A dependency-graph based priority assignment algorithm for real-time traffic over NoCs with shared virtual-channels | |
US20110103398A1 (en) | Time slot allocation method and apparatus | |
CN104734808A (zh) | 一种无线传感网络中最差时延感知跨层优化方法 | |
CN108366015A (zh) | 用于软件定义网络的路由算法 | |
CN105224501B (zh) | 改进圆环面网络及其确定数据包传输路径的方法和装置 | |
CN108174446B (zh) | 一种资源占用度最小化的网络节点链路资源联合分配方法 | |
CN116132353A (zh) | 基于ddqn的tsn路由选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201224 Address after: 245000 No.50, Meilin Avenue, Huangshan Economic Development Zone, Huangshan City, Anhui Province Patentee after: Huangshan Development Investment Group Co.,Ltd. Address before: No. 193, Tunxi Road, Hefei City, Anhui Province Patentee before: Hefei University of Technology |
|
TR01 | Transfer of patent right |