分布式系统中路由算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统中路由算法

特殊类型网络的多播路由算法 多播(一到多)是指从一个源向任意多个目标节点传送同样的消息。 只有一个目标的单播和以网络中的所有节点为目标的广播都是多播的特例。 多播在数据并行编程操作中有一些应用,例如 复制,障碍同步, 对共享存储器失效以及分布式共享内存系统更新的支持等。 第63页/共87页 一般的多播路由算法 两个主要的多播路由参数是通信量和时间。 通信量是以将消息发送到所有的目标所需的通信链接的数目来衡量的。 时间就是消息传送的时间。 当两个多播路由算法有相同的时间步数时,应该选择具有较小的通信量步数的那一个。 通信量可以通过不同的目标共享链接来降低。 第64页/共87页 一般的多播路由算法: 多播优化问题 通常,多播存在下列四个优化问题: 多播路径优化问题 一个最优的多播路径是一个包括所有目标的最短路径。 多播回路优化问题 最优多播回路是包含所有目标的最短长度的回路。 第65页/共87页 一般的多播路由算法: 多播优化问题( contd ) steiner树优化问题 一个包含所有目标节点的给定拓扑的一个子树 最小steiner树具有最小的总长度 注意:不一定每个通向目标的路径长度都是最短的。 多播树优化问题 一个包含所有目标的给定拓扑的子树,且树中每个通向目标的路径的长度对于给定的拓扑是最小的。 一个最优的多播树具有最小的通信量 第66页/共87页 一般的多播路由算法: 多播优化问题( contd) 网格和超立方的多播优化问题都是NP完全问题。因此,一般使用启发式多播算法。 目前,已有人给出了在使用分割-通过路由技术(如虫孔路由)的网络中进行最优化多播通信的充分条件。 本节考虑两种算法:一个是基于路径的;另一个是基于树的。 第67页/共87页 基于路径的多播路由算法 基本思想: 首先建立一个哈密尔顿回路, 然后根据这个回路把多播集合转发出去。 如果有一个邻居位于目标前面,但距离目标更近,那么就可以抄近路。 1895年,爱尔兰数学家哈密尔顿首先提出“环球周游”问题。他用一个正十二面体的 20个顶点代表世界上20个城市,要求旅游者能否找到沿着正十二面体的 棱,从某 一个顶点(即城市)出发,经过每一个顶点(即每一座城市)恰好一次,然后回到 出发顶点? 这便是著名的哈密尔顿问题。它的解称为哈密尔顿回路。 第68页/共87页 基于路径的多播路由算法: 主要步骤 在给定的网格或超立方上建立哈密尔顿回路; 将哈密尔顿回路上的节点排序。 这个顺序起始于源节点,并包括所有目标节点。 这样哈密尔顿回路就被分割成了哈密尔顿路径; 对每个中间节点, 若它是一个目标节点, 保留消息的一个拷贝,删除该目标节点的地址。 将消息和目标列表传给一个邻居。 这个邻居必须在当前节点之前(按顺序),离下一个目标最近,且仍在这个目标之前(或就是这个目标)。 第69页/共87页 基于路径的多播路由算法: 哈密尔顿路径 若使用双向链接,则只需一个哈密尔顿路径(而不是哈密尔顿回路)即可。 哈密尔顿路径为系统中的所有节点定义了一个顺序。 在整个顺序中,每个节点(x,y)都被赋予一个数字r: 第70页/共87页 基于路径的多播路由算法: 哈密尔顿路径举例 例如,一个4X4的网格上每个节点具有的r值如图所示: n=4 若y是偶数,r值沿X方向递增 r(x,y)=yn+x 若y是奇数,r值沿X方向递减 r(x,y)=yn+n-x-1 =yn+(n-1)-x 第71页/共87页 基于路径的多播路由算法: 哈密尔顿路径定义 哈密尔顿路径定义 两个节点在路径中相邻当且仅当|r(v)-r(u)|=1 例如: 4X4网格中,使用粗线连接两个相邻节点 第72页/共87页 基于路径的多播路由算法: 低信道网络和高信道网络 使用顺序定义,整个网格可以分成两个子网: 一个包括从低序节点到高序节点的链接; 另一个包括从高序节点到低序节点的链接。 在两个子网中,除了哈密尔顿路径上的链接以外,其它链接也包含在其中。 第73页/共87页 基于路径的多播路由算法: 最短路径路由函数 目标依据它们与源的相对位置也分为两个子集。 一个子集将沿着高信道网络传送, 另外一个将沿着低信道网络传送。 为了将消息沿着最短路径传送,定义如下路由函数。 假定使用高信道网络。 v和d(r(v)r(d))分别是中间节点和目标节点。 若d是v的一个邻居,那么消息将直接转发到d; 否则,选择一个满足下式的v的邻居u: 第74页/共87页 基于路径的多播路由算法: 举例 下图显示了一个在4X4网格中进行多播的例子 哈密尔顿路径连接了那些r值依次递增的节点 假定节点6(地址为(1,1))为源节点,目标节点为0、2、10、13和14。 紫色:源节点; 蓝色:目标节点 第75页/共87页 基于路径的多播路由算法: 举例( con

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档