- 10
- 0
- 约小于1千字
- 约 1页
- 2017-06-08 发布于重庆
- 举报
2Dtorus上双向反死锁路由算法
2D torus上双向反死锁路由算法
以4*4的二维Torus型静态网图说明双向无死锁的e-cube路由算法的实现方法。
基本规则:
二维的号码表示node号。
通道号:在双向的算法中我们采用4个通道号来实现。通道号沿逆时针方向排列,向左为0,向下为1,向右为2,向上为3。
假想通道号:和通道号类似,在双向的算法中,假想通道也要扩充为4个分别记为0、1、2、3。其中向左和向下的通道共用假想通道0和1,向右和向上的通道共用假想通道2和3。
Routing通道号码为:通道号_假想通道号_node号。
e-cube routing规则:
当向下或向左时,首先使用1号假想通道。当向上或向右时,首先使用2号假想通道。这种分配方式保证了上、下路由不使用同一个假想通道,左、右路由也不使用同一个假想通道,从而避免死锁的发生。
如果从原地址到目的地址向上路由,经过的垂直距离比从源地址向下路由到目的地址的话,就采用向上路由,反之采用向下路由。同理,如果从源地址到目的地址向左路由比较方便的话就向左路由,否则向右路由。在距离相同的时候,优先选择向上路由和向左路由。
循环发生在上、左路由时,虚拟通道号从1改为0;下、右路由时,虚拟通道号从2改为3。
举例说明:
从node11传message到node22。
原创力文档

文档评论(0)