2.6.1虚信道类 如前所述,通过引入足够多的虚信道,任何路 由都可以保证避免死锁。 当路由开始时,使用虚信道1,VC1。 0 在第ⅰ步使用虚信道i,VC及相应的链接。 如果一个给定网络的最长路径(也叫直径)是Dmax那 么就要用Dmax个虚信道;
2.6.1 虚信道类 ⚫ 如前所述,通过引入足够多的虚信道,任何路 由都可以保证避免死锁。 ⚫ 当路由开始时,使用虚信道1,vc1。 ⚫ 在第i 步使用虚信道i,vci及相应的链接。 ⚫ 如果一个给定网络的最长路径(也叫直径)是Dmax那 么就要用Dmax个虚信道;
2.6.1虚信道类 为了减少虚信道的数量,可将一个网络分成几个节点的 子集,每个子集都不会包含相邻的接点。 。例如, 。考虑一个形似跳棋盘的2维网格,上面有黑白方格。 黑节点属于一个子集,白色节点属于另外一个。 当一个消息从一个白色节点移动到黑色节点时,就将虚信道的 标记加一。 。如果是从黑色节点向白色节点移动,虚信道标记保持不变。 显然,在2维网格中,节点标记的改变次数最多为路由步数的一 半。这样虚信道的总数就缩减了一半
2.6.1 虚信道类 ⚫ 为了减少虚信道的数量,可将一个网络分成几个节点的 子集,每个子集都不会包含相邻的接点。 ⚫ 例如, ⚫ 考虑一个形似跳棋盘的2维网格,上面有黑白方格。 ⚫ 黑节点属于-个子集,白色节点属于另外一个。 ⚫ 当一个消息从一个白色节点移动到黑色节点时,就将虚信道的 标记加一。 ⚫ 如果是从黑色节点向白色节点移动,虚信道标记保持不变。 ⚫ 显然,在2维网格中,节点标记的改变次数最多为路由步数的一 半。这样虚信道的总数就缩减了一半
2.6.1虚信道类 。可以将上述思想一般化: 。将给定网络分成k个子集 S1,S2,.Sk,每个子集都不包含相邻节点 ● 当一个消息从子集S中的一个节点移动到子集S中的一个节 点(ⅰ<j)时,称之为上移动;反之为负移动。 。发生负移动时,虚信道标记加一 ·假定信道标记从1开始 ●从而,所需信道的个数就是一个路由路径中负移动的个数。 目标就是要选择一个合适的K以及一个划分,使路由过程中 的负移动个数最小
2.6.1 虚信道类 ⚫ 可以将上述思想一般化: ⚫ 将给定网络分成k个子集 S1 , S2 , … Sk ,每个子集都不包含相邻节点 ⚫ 当一个消息从子集Si中的一个节点移动到子集Sj中的一个节 点(i < j )时,称之为上移动;反之为负移动。 ⚫ 发生负移动时,虚信道标记加一 ⚫ 假定信道标记从1 开始 ⚫ 从而,所需信道的个数就是一个路由路径中负移动的个数。 ⚫ 目标就是要选择一个合适的k以及一个划分,使路由过程中 的负移动个数最小
2.6.2逃逸信道 等待和非等待信道 。使用逃逸信道的路由算法中,虚信道被分为 等待信道(又称为逃逸信道)和 若一个等待信道处于繁忙状态,而此时一个消息需要通过该信 道,则这个消息必须等待,直到该信道可用 。即一个等待信道能够阻塞消息 非等待信道(又称为一般信道) 若一个消息碰到一个处于繁忙状态的非等待信道,它不必被阻 塞以等待该信道变得可用,可以选择其他信道 因此,一个消息会首先考虑通过非等待信道到达目标 0 若所有的非等待信道都繁忙,它就考虑等待信道
2.6.2 逃逸信道 等待和非等待信道 ⚫ 使用逃逸信道的路由算法中,虚信道被分为 等待信道(又称为逃逸信道)和 ⚫ 若一个等待信道处于繁忙状态,而此时一个消息需要通过该信 道,则这个消息必须等待,直到该信道可用 ⚫ 即一个等待信道能够阻塞消息 非等待信道(又称为一般信道) ⚫ 若一个消息碰到一个处于繁忙状态的非等待信道,它不必被阻 塞以等待该信道变得可用,可以选择其他信道 ⚫ 因此,一个消息会首先考虑通过非等待信道到达目标 ⚫ 若所有的非等待信道都繁忙,它就考虑等待信道
2.6.2逃逸信道 混合路由 。使用逃逸信道扩展完全适应的概念 例如,可以用两个路由进程实现混合路由: 路由进程1:完全适应性路由, 使用标记为非等待的虚信道; 路由进程2:限制性但无死锁路由 可能是XY路由或e-立方等决定性路由 使用标记为等待的虚信道
2.6.2 逃逸信道 混合路由 ⚫ 使用逃逸信道扩展完全适应的概念 ⚫ 例如,可以用两个路由进程实现混合路由: 路由进程1:完全适应性路由, 使用标记为非等待的虚信道; 路由进程2:限制性但无死锁路由 可能是XY路由或e-立方等决定性路由 使用标记为等待的虚信道