- 1、本文档共140页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级操作系统AdvancedOperatingSystem
高级操作系统Advanced Operating System 熊焰 yxiong@ustc.edu.cn 0551_3600689 中国科学技术大学计算机系 第二章 分布式路由算法 分布式路由算法导论 一般类型网络的最短路径路由算法 特殊类型网络的单播算法 特殊类型网络中的多播算法 虚信道和虚网络 完全自适应和无死锁路由算法 几个自适应和无死锁路由算法 容错单播的一般方法 网格和圆环中的容错单播算法 超立方中的容错单播算法 容错组播算法 2.5 虚信道和虚网络 网络资源 在存储转发交换中,资源是缓冲区; 在虫孔路由中,资源是信道。 网络通信中,若消息在占有资源的前提下可以申请资源,就有可能发生死锁 通过控制路由的自适应性可以预防和避免死锁,同时也保证一定的容错性。 虚信道和虚网络经常用于实现无死锁、自适应和(或)容错的路由。 2.5 虚信道和虚网络通过网络分区避免死锁 通过网络分区可以避免死锁 给定的网络可以分成几个子网。 根据源和目标的位置,消息被路由到不同的子网 举例说明: 3X3网格的适应性双Y信道路由 如图: 在Y方向有两个物理信道(双向) 2.5 虚信道和虚网络通过网络分区避免死锁(contd) 上述网格被分成正、负两个子网(如下图) 如果目标位于源的右侧,则使用正网; 否则将使用负网。 当源和目标同列时,两个子网都不用。 由于两个子网中都没有回路,所以可避免死锁。 2.5虚信道和虚网络虚信道 若网络没有双Y信道,则可用几个虚信道复用一个物理信道 每个虚信道都有自己的缓冲区。 当物理信道被其它虚信道使用时,就用这个缓冲区保存消息 若虚信道间没有循环等待,就可避免死锁。 假设上例改为单Y信道网,那么原来的正、负子网中所有的Y信道都是虚信道。 2.5虚信道和虚网络虚信道(contd) 当两个虚信道共享一个物理信道时,信道利用率大幅提高。 虽然虚信道提供了一个具有多重信道的网络,但仍需仔细设计路由算法。例如, 可以按照信道标记的升序使用虚信道,以便避免虚信道间循环依赖。 2.5虚信道和虚网络虚网络 比虚信道更高一级的虚拟化是虚网络 一个给定的物理网络被分成几个虚网络,每个虚网络包括一系列的虚信道。 虚网络中相邻的节点被映射到物理网络中时也要相邻 一般地,一个虚网络中的虚信道设置应避免信道间的回路。虽然仍有可能存在互相交叉的虚网络回路,但可以通过使虚网络遵循全序或偏序来避回路 前面那个例子中,若使用单Y信道,则前面的正、负子网可认为是两个虚网络。 显然每个网络中都没有回路。因每个路由过程最多只使用一个虚网络,所以不会产生互相交叉的虚网络回路。 2.5虚信道和虚网络 虽然虚网络包含虚信道,二者是完全不同的概念。 一般地,虚信道的使用是与路由过程紧密相连的,包括源和目标的位置。必须合理安排虚信道,以避免死锁。 虚网络通常设计为没有回路,因而路由算法可以不必考虑死锁,除非存在交叉虚网络的依赖性 2.5虚信道和虚网络虚信道举例 考虑一个有四个节点的单向环。如果同时有几个路由进程启动,就会发生死锁。 2.5虚信道和虚网络虚信道举例(contd) 通过给每个链接增加两个虚信道可以避免死锁 如图,信道被分为 高虚信道,和Ch0, Ch1, Ch2, Ch3 低虚信道Cl0, Cl1, Cl2, Cl3 2.5虚信道和虚网络虚信道举例(contd) 若源地址大于目标地址, 可从任何一个信道开始; 但一旦使用一个高(低)信道,那以后也要使用同一信道 若源地址小于目标地址, 首先使用高信道,经过节点P3后,高虚信道切换为低虚信道 图示为相应的信道依赖图 以信道为节点 边为信道之间的切换关系 2.5虚信道和虚网络虚网络举例 在上述虚信道方法中,给定的环被分成两个虚环:Vr1和Vr2 每个环中都有一个回路。 2.5虚信道和虚网络虚网络举例(contd) 要避免虚网络内部的回路,可以 在vr1中禁止从Ch0切换到Ch3,和 在vr0中禁止从Cl0切换到C13。 2.5虚信道和虚网络虚网络举例(contd) 可在任一步进行从vr1到vr0 的虚网络切换(如图) 例如 若源地址大于目标地址,如 从P2到P0的路由可以从Ch2开始,并在P1切换至Cl1 从P3到P0的路由中,可在P2或P1进行切换 也可以不切换 但若目标地址大于源地址,则必须在节点P3切换,因为 在单向环中,若目标地址大于源地址,则必然要经过P3路由 两个虚环都不允许在P3进行从Ch0到Ch3 和Cl0到Cl3 的切换。 所以在P3只能进行Ch0到Cl3的切换 2.5虚信道和虚网络虚网络举例(contd) 基于虚网络的路由过程比基于虚信道的路由有更强的适应能力。在上例中, 虚信道路由仅在P3进行高虚信道到低虚信道的切换 虚网络路由允
文档评论(0)