[发明专利]Torus网络中的无死锁自适应路由算法有效
申请号: | 201110144882.5 | 申请日: | 2011-05-31 |
公开(公告)号: | CN102170402A | 公开(公告)日: | 2011-08-31 |
发明(设计)人: | 向东;罗伟 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 贾玉健 |
地址: | 100084 北京市海淀区1*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | torus 网络 中的 死锁 自适应 路由 算法 | ||
技术领域
本发明属于分布式网络技术领域,涉及Torus网络,特别涉及Torus网络中的无死锁自适应路由算法。
背景技术
直连网络(Direct Interconnection Network)作为一种常见的网络拓扑形式,已经广泛应用于多处理器系统(Multi-processor),多计算机系统(Multi-computer)。
在大规模多计算机系统中,每个节点都有自己的处理器和局部存储器,系统通过直连网络实现相邻节点间的连接。直连网络的最大优点是具有很好的扩展性。
在大规模多计算机系统中,每个节点都有一个单独的路由器(Router),处理与通信有关的任务。虽然该任务可由相应的处理器执行,但采用路由器执行后可以实现节点内的计算和通信任务的重叠执行。每个节点都支持一定数量的输入通道(input channel)和输出通道(output channel)。内部通道实现与本地处理机(processor)连接,外部通道用于处理机间的通讯。
常见的直连网络拓扑结构有Mesh,Torus等。Mesh网络结构简单易于实现。但是Mesh结构不对称:由于位置不同,每个节点可能有不同数目的邻节点。这种不对称性将会极大地影响网络性能。Torus网络则是一种完全对称的直连网络拓扑形式。
分布式网络中常见的数据交换方式有以下几种:
1)存储转发(store and forward):当一个消息到达中间节点A时,A把整个消息放入其通信缓冲器中,然后在寻径算法的控制下选择下一个相邻节点B,当从A到B的通道空闲并且B的通道缓冲器可用时,把消息从A发向B。
2)虚拟直通(virtual cut-through):中间结点没有必要等到整个数据包全部被缓冲后再作出路由选择,只要消息的目的信息域可用后,就可以作出路由选择。当消息被阻塞时,当前节点需要能存储整个数据包。虚拟直通方式需要每个节点有较大的数据缓存区,但与存储转发相比,网络延迟大大降低了。
3)虫洞(wormhole):在虫洞交换中,把一个消息分成多个微片(flits)。每个消息的微片以流水方式在网络中前进。当头微片被阻塞时,当前节点只需要能存储头微片。与虚拟直通方式不同之处在于:当消息阻塞时,每个节点只存储一个微片而不是整个消息。
路由算法决定数据包在网络中传输时的通道选择顺序。路由算法避免了数据在传输时发生死锁、活锁及饿死现象。在Mesh及Torus网络中,已分别提出多种路由算法。不同路由算法的数据传输效率大大不同。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供Torus网络中的无死锁自适应路由算法,在避免网络产生死锁、活锁及饿死现象的同时,充分利用空闲的虚拟通道,数据传输效率相对现有算法有了很大的提升。
为了实现上述目的,本发明采用的技术方案是:
Torus网络中的无死锁自适应路由算法,应用于虚拟直通交换方式或虫洞交换方式,利用两条虚拟通道R1和R2,R1为自适应通道,数据包在任何时候都能够访问,R2应用Mesh网络中的无死锁路由算法。
如果Torus网络采用虚拟直通交换方式,不采用流量控制,算法的实现如下:
1)R1通道是完全自适应的,数据包在任何时候都能够请求R1通道;
2)如果数据包已在Mesh子网内,即数据包到达目的地不再需要经过任何回转链路,则该数据包能够请求R2通道,并且,该数据包在使用R2通道时应遵循Mesh网络中的无死锁路由算法;
3)如果数据包的下一跳步是通过回转链路,且该回转链路所属维度是该数据包到达目的地所需通过的回转链路中的最低维,则在那条回转链路上,数据包能够请求R2通道。
如果Torus网络采用虚拟直通交换方式,采用流量控制,首先定义安全数据包及非安全数据包:
1)如果数据包已在Mesh子网内,即该数据包到达目的地不再需要经过任何回转链路,并且,数据包下一跳步遵循Mesh网络中的无死锁路由算法,那么对于下一跳步上的节点,该数据包是安全数据包;
2)如果数据包的下一跳步是通过回转链路,且该回转链路所属维度是数据包到达目的地所需通过的回转链路中的最低维,对于下一跳步上的节点,该数据包是安全数据包;
不满足上述任一条件的数据包为非安全数据包,
在给出安全及非安全数据包定义后,算法的实现如下:
假设数据包下一跳步对应节点有f个空闲缓存区,s个安全数据包,
1)f>1,数据包能够前进到下一节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110144882.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:压舱水处理装置
- 下一篇:非接触浮动机构、幅材隔离装置及其使用方法