当前位置:文档之家› 第6章 分布式路由算法

第6章 分布式路由算法

时间步数(time steps):消息到达目标之一要经过的最 大链接数;
通信步数(traffic steps):消息到达所有目标所经过的 不同链接数的总和。
《分布式系统》(六) 2011
6
端口模型
有2种端口模型:
单端口:一次只能在一个输出端口上发送 所有端口:一次可以在所有输出端口上发送
《分布式系统》(六) 2011
最短型和非最短型
多数算法都是最短路径算法,即追求源-目的的最短跨步(跳跃、 链接)数或代价总和,但因此可能导致网络某一部分的拥塞;
非最短型的算法可以将消息路由到一个更长的路径(实现网络 的负载均衡)从而避免拥塞。
《分布式系统》(六) 2011
9
路由
决定型和适应型
决定型的算法由源端一次性决定,且只有在网络拓扑发生改变 时才发生变化,它不使用任何有关网络状态的信息(相对的静 态路由);
适应型的算法路由中,源端或中间转发节点会根据网络流量等 状态而改变(动态路由)。
源路由和目标路由
源路由算法是在源端一次性集中建立的(一次路由即决定整个 路径);
目标路由算法是消息传递中的中间节点根据目的地当时的相对 位置以一种分散的方式多次建立的(每次只路由一个跳跃)。
容错型和非容错型
容错型算法中,即使传递中出现错误,被路由消息也能保证送 到;
n=1:总线/路径或环拓扑;
n=2:2维网格或2维圆环;
k=2, n3:n维立方。(没有mod k)
《分布式系统》(六) 2011
4
交换
有两种交换技术/交换模型:
存储-转发(store and forward)
消息被分割成可以经由不同路径到达目的地的分组。当一个分组 全部到达一个中间节点时,整个分组就被转发到下一个节点。
start-a-routing::= [ destination is closer along clockwise direction send(m,des) to P((i+1) mod n)
•destination is closer along counterclockwise direction send(m,des) to P((i-1) mod n)
3. 重复步骤2,直到所有的节点都包含在N中。
《分布式系统》(六) 2011
14
Dijkstra集中式算法
以Dijkstra集中式算法应用于例子网络,设P5是源 节点。
步 初始 1 2 3 4
N {P5} {P5, P4} {P5, P4, P2} {P5, P4, P2, P3} {P5, P4, P2, P3, P1}
一般类型(General Purpose ):满足一般性的目标; 特殊类型(Special Purpose):满足特定的目标。
重点讨论在一般环境下最短路由算法和三种通信方 式在特定环境下的路由算法。
《分布式系统》(六) 2011
2
导论
分布式系统的进程间通信主要通过消息传递来实现:
邻接PE(直接消息传递实现直接通信) 非邻接PE(通过中间PE传递消息实现间接通信)






N=nd×nd-1×nd-
每个PE的寻址:(ud, ud-1, ud-2, …, ud, u1)
如,一个k元n维立方网络(k-ary n-cubes)
N=k × k × …× k (n times),即ni=k,d=n; 每个PE连接到那些地址上仅有1 (mod k)差别的PE;
Internet中RIP路由(一种距离向量路由)用到的算 法。
《分布式系统》(六) 2011
19
特殊类型网络中的单播
为了简化讨论,假设所有特殊类型网络中的链接代 价都为一。 在环形、网状、圆环和n维立方等特殊类型网络中单 播的最短路由。
《分布式系统》(六) 2011
20
双向环中的单播
源根据目标节点的位置决定发送方向(使用路由函 数) :如果目标离顺时针方向近,则顺时针方向将 消息发送给下一个中间节点,否则选择逆时针方向 将消息发送给下一个中间节点。
交换:决定消息如何从一个输入信道转到一个输出信道。
重点放在路由技术上,其它作概念性介绍。
《分布式系统》(六) 2011
3
拓扑
网络拓扑可分为:
一般类型:没有一个统一和结构化的形式; 特殊类型:遵从一个特定的结构。
特殊类型的网络拓扑可用一个统一的形式来表示:
N 个 PE 2…×n1



式Байду номын сангаас



3. 重复步骤2,直到不再有改变发生。(或算法一直执行)
《分布式系统》(六) 2011
17
Ford分布式算法
以Ford分布式算法应用于例子网络,设P5是目标 节点。
步 初始 1 2 3
P1 ( . , )
( . , )
(P3, 25) (P2, 7)
P2 ( . , )
( . , )
(P4, 3) (P4, 3)
一般通信:一个源给不同的目标发送相同消息;
个性化通信:一个源给不同的目标发送不同消息。
《分布式系统》(六) 2011
8
路由
路由算法可以从多个方面去划分:
特殊类型和一般类型
特殊类型的算法利用特定网络(如网格、超立方等)的拓扑属 性,往往对这类特定网络效率很高;
一般类型的算法适合于所有类型的网络,但对某种特定网络可 能不是很有效。
分割-通过(cut through,直通)
电路交换(circuit switching):传输前先建立一个网络电路,传 输结束后,电路拆除。
虚拟分割-通过(virtual cut-through):只有所需信道忙时才将 分组存储在中间节点;否则,分组被直接转发,不做任何缓冲。
虫孔路由(wormhole routing):(1)每个分组被进一步分为 一定数量的片(flit)。(2)当所需信道忙时,剩余的片不会被从 信道中清除并缓存起来,而是通过流量控制将后续片阻塞并使它 们缓存在已经建立好的路由中。
P2
4
D(1) 7 7 7
1
D(2)
3 3 3 3
D(3)
20 4 4 4 4
D(4)
2 2 2 2 2
P1
5
3
P4
2
P5
2
20
P3
《分布式系统》(六) 2011
15
Ford分布式算法
从目标节点开始扩散,每个节点和其邻居交换代 价和路由信息,直到这些节点的路由表达到最短 路径的要求为止。这是一个以分布式方式(分布在 非目标节点上执行算法)的决定型路由算法。
每个节点都维护一个通过每个邻居到达目标(所有) 节点的最短路径(最小代价)的路由表。
当有P节i的点邻Pi居到的达通目过标P节i到点达的目最标短节路点径的发最生短改路变径时将,在下所 一个时刻点(路由信息在邻居间交换后)发生改变。 这个过程一直会持续到所有节点到达目标节点的最 短路径不再发生改变(固定点)。
效果依次增强,我们主要使用依赖于目标的路由函数。
《分布式系统》(六) 2011
12
一般类型的最短路径路由
一般类型网络拓扑下的最短路径路由算法,介绍:
Dijkstra集中式算法 Ford分布式算法 ARPAnet(Internet)的路由策略
链接代价
(通信延迟、费用等)
4
P1
5
P2
1
3
P4
2
2
《分布式系统》(六) 2011
5
交换
存储-转发和分割-通过的主要区别:
存储-转发对所选路径长度很敏感; 分割-通过对所选路径长度几乎不敏感(或在没有网络拥
塞的情况下不敏感);
因此,使用存储-转发模型的目标就是减少路径长度, 使用分割-通过模型的目标是减少网络拥塞。 衡量存储-转发模型下的路由性能有2个主要参数:
P3 ( . , )
(P5, 20) (P4, 4) (P4, 4)
P4 ( . , )
(P5, 2) (P5, 2) (P5, 2)
P2
4
1
P1
5
3
P4
2
P5
2
20
P3
《分布式系统》(六) 2011
18
ARPAnet/Internet的路由策略
基本与Ford类似,也是分布式、通过路由(可达) 信息的逐步传递扩散的,能适应网络中链路状态的 变化。
一个消息通过几个中间节点按照顺时针或逆时针方 向传递,直到到达目标节点。
m2 to 6
P2 P1
P3
m2 to 4
P4
P6
P5
《分布式系统》(六) 2011
21
双向环中的单播
算法的DCDL表示:
P(i)::= *[ start-a-routing •receive-a-data-clockwise •receive-a-data-counterclockwise ]
操作:使用v的每个邻接节点w的当前值D(w)更新D(v)的值,方 法是计算D(w)+l(w,v)并使:D(v) := min{D(v), D(w)+l(w, v)};更 新v的标记:用使上述表达式取值最小的邻接节点代替n,并用 新值代替D(v)。(寻找是否能通过其它邻居有一条到达目标节 点更短的路径!)
利用冗余型的方法,可以将一个消息分成多个片段,同时通过 多条路径传输,以降低整体的通信延迟。
死锁避免型和非死锁避免型
死锁避免型算法可以保证不发生死锁; 非死锁避免型算法可能发生死锁(进入一个死循环路径)。
《分布式系统》(六) 2011
11
相关主题