一种基于三维片上网络的多播传输方法

文档序号:9432514阅读:521来源:国知局
一种基于三维片上网络的多播传输方法
【技术领域】
[0001] 本发明设及集成电路领域,尤其设及一种基于=维片上网络的多播传输方法。
【背景技术】
[0002] 随着集成电路技术的发展,W及片上系统(SoC)规模和复杂度的增加,片上互连 已经成为系统性能提升的瓶颈。=维片上网络(3DNoC)是解决片上互连设计瓶颈的理想 方法。在网络中,信息传输模式对全局系统的性能具有较大的影响,多播传输可W充分利用 多处理器片上系统(Multiprocessorsystem-〇n-chips,MPSoCs)提供的并行性来高效地传 输信息,因此在3DNoC通信中应用很广泛。
[0003] 在本发明作出之前,系统中的传输总延迟包括启动延迟和传输延迟两个方面,为 了减小传输总延迟,提高网络性能,网络分区在基于路径的多播中的应用必不可少。分 区方法的优劣直接影响片上网络的系统性能。目前,多播传输中的分区方法主要是通 过固定分区个数和分区方式得到的,如二分区(Two-block partitioning, TBP),多分区 (Multi-block pa;rtitioning,MBF〇,垂直分区(Vertical-block pa;rtitioning,VBF〇等,应 用该类分区方法的资源开销、传输延迟等性能并不能适应于日益扩大的MPSoCs的通信需 求。特别是在传输延迟方面,主要缺陷表现在现有传输方式中的分区方法只考虑传输延迟 单方面的影响,而忽略了启动延迟方面对传输总延迟的影响,即忽略了网络中传输数据包 大小和信息源节点位置对网络分区结果的影响,固定了分区个数,从而不能动态地按照实 际网络参数状况改变分区个数和分区方式W减小传输总延迟,导致只能得到次优结果。应 用该类分区方法的多播传输方法存在如下几个问题:(a)当选定的分区方法中分区个数固 定较小时,各分区的传输路径较长,网络延迟较大,从而使得传输总延迟增大,传输效率较 低。化)当选定的分区方法中分区数固定较大时,源节点的注入竞争较大,共享路径较短, 启动延迟增加,从而使得传输总延迟增大,导致传输效率较低的同时也会造成了资源浪费。 (C)当源节点位于网络边缘位置时,各分区网络结构不平衡,从而增大了传输路径长度,导 致网络延迟增加,进而使得传输总延迟增加,影响了传输效率和网络的平衡性。
[0004] 因此,为了提高网络中信息传输效率,研究适用于不同网络状态的多播传输方法, 使其网络分区能够从总延迟的角度出发,根据数据包的长度和网络大小权衡启动延迟和网 络延迟运两个方面,动态地选择当前网络的最优分区个数,并根据源节点位置划分最优的 分区结构,在该分区方法的基础上路由各个子分中的信息,从而W减小网络传输总延迟,是 优化和提高网络并行通信性能的一种重要手段。

【发明内容】
阳〇化]本发明的目的就在于克服上述缺陷,研制一种基于=维片上网络的多播传输方 法。
[0006] 本发明公开了一种基于=维片上网络的多播传输方法,该方法根据传输的数据包 和网络结构的大小,权衡启动延迟和网络延迟运两个延迟性能参数动态地选择当前网络的 最优分区个数,并根据源节点在网络中的位置,w源节点为中屯、划分最优的分区结构,在完 成分区的基础上对各个子分中的信息进行路由传输,从而尽可能地减小多播传输的总延 迟,提高网络传输效率,优化并行通信性能。随着传输信息的数据包大小和网络拓扑结构的 扩大,应用该传输方法的网络在减小延迟方面的性能也会随之提高,有利于提高不断扩展 的=维片上网络的通信效率。 阳007] 实现本发明的技术方案如下:
[0008] 一种基于=维片上网络的多播传输方法,包括如下步骤:
[0009] a)找出源节点所在的网络层,在源节点层的四个边界点中任意确定一个为原点, 根据该原点规定初始X、Y、Z轴方向,并根据源节点所在位置按相应的标签分配法为该层所 有节点分配标签,从0标签开始;
[0010] b)在已分配标签的基础上应用二分区法将全局网络W源节点为中屯、划分为两部 分:高分区和低分区,并通过比较分区中的节点个数找出运两个分区中较大的分区和较小 分区;
[0011] C)根据传输的数据包长度、较大分区的网络大小和网络流水线结构级求得较大分 区的最优子分区个数并判断较大分区是否需要分区,并得到该分区中子分区最理想的最大 节点个数和最小节点个数;
[0012] d)判断较小分区是否应该被划分,并根据传输的数据包长度、较小分区的网络大 小和网络流水线结构级求得较小分区的最优子分区个数W及该分区中子分区最理想的最 大节点个数和最小节点个数;
[0013] e)分别在需要划分子区域的分区中寻找源节点层子分区的划分起始列和划分顺 序;
[0014] f)分别在需要划分子区域的分区中初始划分当前子分区;
[0015] g)判定当前子分区在该分区最后一层上的列数,使得子分区中的节点个数尽可能 的接近理想值,并划分相应的列至该子分区,完成当前子分区的全部划分;
[0016] h)重复e),f),g)的操作直至该分区中倒数第二个子分区分区完成,将该分区所 有余下的节点划分至该分区的最后一个子分区中。至此,分区划分完毕。
[0017] U在网络分区完成的基础上,对各个子分区中的信息进行路由,完成网络中信息 的传输。
[0018] 为了高效便捷地划分网络,同时防止各个分区之间的传输路径相交W预防死 锁,该方法中只对源节点层的所有节点分配标签。然而,当源节点处于纵轴边界,即y.= 0(Xs声XmJ或y,=ymax(Xs声XmJ时,其它层上无法提供逻辑路径使源节点的信息传送至 各个分区。因此,首先应根据源节点所处位置调整分配标签的方法,使源节点不处于纵轴边 界位置,其步骤如下:
[0019] al)找出源节点所在的网络层,在源节点层的四个边界点中任意确定一个为原点, 根据该原点规定初始X、Y、Z轴方向;
[0020] a。如果源节点的y轴坐标等于0或轴坐标不等于Xm。,,且不为原点(0,0), 所有X坐标为偶数的节点标签为L(X,y) =bXx+y,标签分配完毕后,交换X,Y轴;
[002U曰如如果源节点的y轴坐标等于0或轴坐标不等于Xm。,,且不为原点(0,0), 所有X坐标为奇数的节点标签为L(x,y) =bXx+b-y-1,标签分配完毕后,交换X,Y轴;
[0022] a4)如果源节点的y轴坐标不等于0或7"_;或y轴坐标等于0或ym。、且X轴坐标 等于Xm。、,所有y坐标为偶数的节点标签为L(X,y) =aXy+x;
[0023] a5)如果源节点的y轴坐标不等于0或7"_;或y轴坐标等于0或ym。、且X轴坐标 等于Xm。、,所有y坐标为奇数的节点标签为L(X,y) =aXy+a-x-1 ;
[0024] a6)如果源节点为原点(0,0),所有y轴坐标为奇数的节点标签为L(x,y)= aXy+x,标签分配完毕后调换X轴方向;
[00巧]a7)如果源节点为原点(0,0),所有y轴坐标为偶数的节点标签为L(x,y)=aXy+a-x-1,标签分配完毕后调换X轴方向。
[0026] 二分区法(TB巧可W将在源节点同一方向上的节点划分在一个区域内,使子分区 之间的传输路径不易产生死锁和竞争。在大多数情况下,网络中的最长传输路径都是从较 大的分区中产生的,因此需要在得到的高分区和低分区中的找出较大分区和较小分区。该 过程具体步骤如下:
[0027] bl)将标签大于源节点标签的节点W及所有Z轴坐标大于源节点Z轴坐标的节点 划分为高分区。
[002引 b2)将标签小于源节点标签的节点W及所有Z轴坐标小于源节点Z轴坐标的节点 划分为低分区。
[0029] b3)比较高分区和低分区中的节点数,找出节点数较多的分区作为较大分区,找出 节点数较少的分区作为较小分区。 W30] 在多处理器片上系统中,片上网络中理想的传输总延迟可W用等式
良示。其中,n和N分别表示分区个数和网络中的总 节点数。L表示数据包的大小,m表示网络为m级流水线结构。nXL为启动延迟
为网络延迟。对该表达式求极小值,可W得到最优的分区个数。由此,求得较大分区中最优 的分区个数,W及各子分区中理想的最大和最小节点个数的具体步骤如下:
[00川 cl)计算较大分区中节点总个数Ni,对理想传输总延迟公式求极小值,得到较大分 区中最优的分区个数为
ni取最邻近的整数,n1大于1则需要分区,否则较大分 区不需要分区。 阳03引c2)如果最优的分区个数大于总列数,那么调整最优分区个数ni为总列数Xm。片。
[0033] c3)较大分区中各子分区中理想
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1