分布式系统中的路由算法.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式系统中的路由算法.ppt

分布式路由算法 主要内容( contd ) 一般类型网络的分布式路由算法 自适应和无死锁路由算法 网格和圆环中的容错单播算法 超立方中的容错单播算法 容错组播算法 进程间通信类型 有效的进程间通信对分布式系统的性能很重要 根据目标个数的不同,进程间通信的类型有: 一对一(单播) 一对多(组播) 一对所有(广播) 通信延迟及其原因 在基于消息传递的分布式系统中,消息一般在到达目标节点之前可能要通过一个或多个中间节点,故存在通信延迟。 分布式系统中的通信延迟依赖于如下四个因素: 网络拓扑: 通常用图表示 定义处理单元(PE)之间是如何连接的 路由 决定如何选择路径以便将消息传递到目的地。 通信延迟及其原因(contd) 流量控制 流量控制决定在消息沿路径传递时如何分配网络资源,包括: 信道 缓冲区 交换 这是一个实际的机制,它决定消息如何从一个输入信道转到一个输出信道。 路由算法类型 路由算法类型包括: 特殊 vs. 一般 最短 vs. 非最短 确定型 vs. 适应型 源路由 vs. 目标路由 容错型 vs. 非容错型 冗余型 vs. 非冗余型 死锁避免型 vs. 非死锁避免型 一般型路由和特殊型路由 一般型路由算法 适合于所有类型的网络 但是对于某种特定网络不是很有效 特殊型路由算法 只对特定的网络类型有效,如超立方、网格等 这些算法由于利用了特定网络的拓扑属性,所以效率往往较高。 最短路由算法和非最短路由算法 最短路径算法 对给定的源-目标对给出一个代价最小的路径 路径的代价 所有跳步(连接)代价的线性和。 缺点:可能会导致网络某一部分的拥塞 非最短路由算法 可以将消息路由到一个更长的路径从而避免拥塞。 在某些情况下,随机路由可能是有效的。 确定型路由和适应型路由 确定型路径算法 路由路径只在网络的拓扑发生改变时才发生变化, 而且它不使用任何有关网络状态的消息。 适应型路由算法 路径根据网络流量而改变。 容错型路由和非容错型路由 容错型路由算法 即使出现错误,被路由消息也能保证送到。 非容错型路由算法 假定路由不会出错 路由算法不必动态调整自己的活动。 冗余型路由和非冗余路由 冗余型路由算法 用几个边分离(或节点分离)的路径向同一个目标发送多个拷贝。 只要这些路径中的一个是好的,那么就会至少有一个消息拷贝到达目标。 必须保证有且只有一个拷贝被接收 非冗余型路由算法 对每个目标只需转发消息的一个拷贝。 死锁避免型路由和 非死锁避免型路由 死锁避免型路由算法 通过仔细设计的路由算法,保证不发生死锁。 非死锁避免型路由算法 没有特别的措施来预防或避免死锁。 可能发生死锁,也可能不发生死锁。 路由函数 路由函数 定义一个消息如何从源节点路由到目标节点。 每个PE在收到一个消息以后,都将决定: 1)把这条消息传送到本地存储器,还是 2)转发到一个邻接的PE 有许多不同的路由函数的定义,例如 依赖于目标的、依赖于输入的、依赖于源的、依赖于路径的等等 本章仅使用依赖于目标的路由函数 路由函数类型 依赖于源的:依赖于源节点、当前节点和目标节点 依赖于目标的:仅仅依赖于当前节点和目标节点 依赖于输入的:依赖于当前节点和目标节点以及邻近的链接 依赖于路径的:依赖于目标节点和从源节点到达当前节点的路径 一般类型网络的最短路径路由算法 许多分组交换网,如法国的Transpac或美国的ARPAnet都使用最短路径路由 本节介绍三个一般类型网络的 最短路径路由算法: Dijkstra集中式算法 Ford分布式算法 ARPAnet路由算法 一般类型网络的最短路径路由算法: 分布式系统图示 一般地,一个分布式系统可以用图来表示: 节点代表PE(处理单元); 边代表通信链接; 每个链接的数字代表链接代价。 右图显示了一个分布式系 统的例子 Dijkstra集中式算法 第一种类型的算法以集中式的风格进行路由 Dijkstra集中式算法可以发现一个源节点到所有其他节点的最短路径。 Dijkstra集中式算法需求: 需要了解给定网络的全局拓扑消息,即: 网络中所有其他节点的列表; 节点之间的所有链接; 每个链接的代价。 Dijkstra集中式算法: 算法描述 设 D(v)是从源s到节点v的距离(沿给定路径的链接的代价

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档