[发明专利]三维torus网中的无死锁自适应路由方法无效
申请号: | 200810104405.4 | 申请日: | 2008-04-18 |
公开(公告)号: | CN101335704A | 公开(公告)日: | 2008-12-31 |
发明(设计)人: | 向东;陈振;王琦 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 北京众合诚成知识产权代理有限公司 | 代理人: | 朱琨 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 三维torus网络无死锁的自适应路由方法属于分布式高性能容错计算技术领域,其特征在于,将每条物理通道中分为两条虚拟通道,允许不同虚拟子网之间共享某些虚拟通道,这两条通道均为两向通道,并分配到三维torus网络的四个虚拟子网中,利用转弯模型避免了各子网内以及各子网间可能形成的死锁,并达到更高的自适应性。本发明与传统的Duato协议和GOAL方法相比,当标准化输入负载和网络中故障节点数提高时,我们的方法明显可以提高网络实际流量,并降低传输延迟,从而提高整个网络的传输性能。 | ||
搜索关键词: | 三维 torus 中的 死锁 自适应 路由 方法 | ||
【主权项】:
1、三维torus网中的无死锁自适应路由方法,其特征在于,所述方法是在每一维上有k个节点的三维torus网上依次按步骤实现的:步骤(1):初始化对于三维torus网络,连接每一维两个边界之间的物理通道称为边界通道;把每条物理通道被划分为两条虚拟通道:c1和c2,这两条通道均为两向通道,c1通道分为c1+和c1-两个方向的通道,c2通道分为c2+和c2-两个方向的通道,“+”和“-”表示消息传输的正负方向;将三维torus网划分为划分为如下八个虚拟子网:x+y+z+、x+y+z-、x+y-z+、x+y-z-、x-y+z+、x-y+z-、x-y-z+、x-y-z-,x+、x-即表示在x轴上的正、负方向的路由,对于y轴、z轴同理;把上述八个虚拟子网两两合并,从而得到以下四个虚拟子网:x+y+z*(c1+,c1+,c1),x+y-z*(c2+,c1-,c1),x-y*z+(c1-,c2,c2+),x-y*z-(c2-,c2,c2-),括号中的标号表示分配到每个虚拟子网中的虚拟通道,“+”和“-”表示消息传输的正负方向,“*”表示正负任意方向,x+y+z*和x+y-z*在z方向上共享c1通道,x-y*z+和x-y*z-在y方向上共享c2通道,从而在x,y,z三个方向上,每条物理通道都只用到了两条虚拟通道,当消息在y方向和z方向之间转弯时,消息跳转到不同于原分配通道的另外一条虚拟通道,以避免死锁;步骤(2):对于每个消息消息依次按以下步骤分配到所属虚拟子网:设当前节点为curr,目的节点为dest,当前节点和目的节点在两维上的偏移量为A=xd-xc,B=yd-yc,C=zd-zc,其中下标c、d分别代表当前节点和目的节点,VN表示消息所属的虚拟子网分配;当A≥0且B≥0时,如果A<k/2,B≥k/2,VN=x+y-z*;如果A<k/2,B<k/2,VN=x+y+z*;当A≥0且B<0时,如果A<k/2,B≥-k/2,VN=x+y-z*;如果A<k/2,B<-k/2,VN=x+y+z*;当A<0且B≥0时,如果A≤-k/2,B≥k/2,VN=x+y-z*;如果A≤-k/2,B<k/2,VN=x+y+z*;当A<0且B<0时,如果A<-k/2,B<-k/2,VN=x+y+z*;如果A<-k/2,B>-k/2,VN=x+y-z*;当A≥0且C≥0时,如果A>k/2,C≥k/2,VN=x-y*z-;如果A>k/2,C<k/2,VN=x-y*z+;当A≥0且C<0时,如果A>k/2,C≥-k/2,VN=x-y*z+;如果A>k/2,C<-k/2,VN=x-y*z-;当A<0且C≥0时,如果A>-k/2,C≥k/2,VN=x-y*z-;如果A>-k/2,C<k/2,VN=x-y*z+;当A<0且C<0时,如果A>-k/2,C<-k/2,VN=x-y*z+;如果A>-k/2,C>-k/2,VN=x-y*z-;步骤(3):消息在三维平面上消息依次按以下步骤路由:步骤(3.1):如果消息在x+y+z*虚拟子网中:如果A≥0,B≥0,则选择通道x(c1+),y(c1+),z(c1);如果A<0,B≥0,则选择通道x(c2+),y(c1+),z(c1);如果A≥0,B<0,则选择通道x(c1+),y(c2+),z(c1);如果A<0,B<0,则选择通道x(c2+),y(c2+),z)c1);步骤(3.2):如果消息在x+y-z*虚拟子网中:如果A≥0,B≥0,则选择通道x(c2+),y(c2-),z(c1);如果A<0,B≥0,则选择通道x(c1+),y(c2-),z(c1);如果A≥0,B<0,则选择通道x(c2+),y(c1-),z(c1);如果A<0,B<0,则选择通道x(c1+),y(c1-),z(c1);步骤(3.3):如果消息在x-y*z+虚拟子网中:如果A≥0,C≥0,则选择通道x(c2-),y(c2),z(c2+);如果A<0,C≥0,则选择通道x(c1-),y(c2),z(c2+);如果A≥0,C<0,则选择通道x(c2-),y(c2),z(c1+);如果A<0,C<0,则选择通道x(c1-),y(c2),z(c1+);步骤(3.4):如果消息在x-y*z-虚拟子网中:如果A≥0,C≥0,则选择通道x(c1-),y(c2),z(c1-);如果A<0,C≥0,则选择通道x(c2-),y(c2),z(c1-);如果A≥0,C<0,则选择通道x(c1-),y(c2),z(c2-);如果A<0,C<0,则选择通道x(c2-),y(c2),z(c2-)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810104405.4/,转载请声明来源钻瓜专利网。
- 上一篇:真空过滤机橡胶带
- 下一篇:一种镗孔不停车自动让刀的装置