高级操作系统Advanced-Operating课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高级操作系统Advanced-Operating课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 操作系统 Advanced Operating 课件
- 资源描述:
-
1、高级操作系统高级操作系统Advanced Operating Systemxxx中国科学技术大学计算机系1谢谢观赏2019-9-13第四章第四章 分布式路由算法分布式路由算法l分布式路由算法导论l一般类型网络的最短路径路由算法 l特殊类型网络的单播算法l特殊类型网络中的多播算法l虚信道和虚网络 l完全自适应和无死锁路由算法l几个自适应和无死锁路由算法 l容错单播的一般方法 l网格和圆环中的容错单播算法l超立方中的容错单播算法l容错组播算法2谢谢观赏2019-9-13上次课主要内容(上次课主要内容(4小节)小节)l4.1 分布式路由算法导论l进程间通信类型l通信延迟及其原因l路由算法分类l路由函
2、数定义l4.2 一般类型网络的最短路径路由算法lDijkstra集中式算法lFord分布式算法lARPAnet的路由算法 3谢谢观赏2019-9-13l4.3 特殊类型网络的单播算法l双向环上的单播算法及其一般化l网格和圆环上的单播算法l2维网格的XY路由、适应性路由、折线路由等l超立方l基于海明距离的一种简单的路由算法l4.4 特殊类型网络中的多播算法l基于(哈密尔顿)路径l基于树的多播l应用于超立方的Lan的贪婪多播算法lU-网格算法4谢谢观赏2019-9-134.5 虚信道和虚网络虚信道和虚网络l网络资源l在存储转发交换中,资源是缓冲区;l在虫孔路由中,资源是信道。l网络通信中,若消息在
3、占有资源的前提下可以申请资源,就有可能发生死锁l通过控制路由的自适应性可以预防和避免死锁,同时也保证一定的容错性。 l虚信道和虚网络经常用于实现无死锁、自适应和(或)容错的路由。5谢谢观赏2019-9-134.5 虚信道和虚网络虚信道和虚网络通过网络分区避免死锁通过网络分区避免死锁l通过网络分区可以避免死锁l给定的网络可以分成几个子网。l根据源和目标的位置,消息被路由到不同的子网l举例说明:l3X3网格的适应性双Y信道路由l如图:l在Y方向有两个物理信道(双向)(a)一个3X3网格的 双Y信道网6谢谢观赏2019-9-134.5 虚信道和虚网络虚信道和虚网络通过网络分区避免死锁(通过网络分区避
4、免死锁(contd)l上述网格被分成正、负两个子网(如下图)l如果目标位于源的右侧,则使用正网;l否则将使用负网。l当源和目标同列时,两个子网都不用。l由于两个子网中都没有回路,所以可避免死锁。 (b)正网络(c)负网络7谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚信道虚信道l若网络没有双Y信道,则可用几个虚信道复用一个物理信道l每个虚信道都有自己的缓冲区。l当物理信道被其它虚信道使用时,就用这个缓冲区保存消息l若虚信道间没有循环等待,就可避免死锁。l假设上例改为单Y信道网,那么原来的正、负子网中所有的Y信道都是虚信道。8谢谢观赏2019-9-134.5虚信道和虚网络虚信道和
5、虚网络虚信道虚信道(contd)l当两个虚信道共享一个物理信道时,信道利用率大幅提高。l虽然虚信道提供了一个具有多重信道的网络,但仍需仔细设计路由算法。例如,l可以按照信道标记的升序使用虚信道,以便避免虚信道间循环依赖。9谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚网络虚网络l比虚信道更高一级的虚拟化是虚网络l一个给定的物理网络被分成几个虚网络,每个虚网络包括一系列的虚信道。l虚网络中相邻的节点被映射到物理网络中时也要相邻l一般地,一个虚网络中的虚信道设置应避免信道间的回路。虽然仍有可能存在互相交叉的虚网络回路,但可以通过使虚网络遵循全序或偏序来避回路l前面那个例子中,若使用
6、单Y信道,则前面的正、负子网可认为是两个虚网络。l显然每个网络中都没有回路。因每个路由过程最多只使用一个虚网络,所以不会产生互相交叉的虚网络回路。 10谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络l虽然虚网络包含虚信道,二者是完全不同的概念。l一般地,虚信道的使用是与路由过程紧密相连的,包括源和目标的位置。必须合理安排虚信道,以避免死锁。l虚网络通常设计为没有回路,因而路由算法可以不必考虑死锁,除非存在交叉虚网络的依赖性11谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚信道举例虚信道举例l考虑一个有四个节点的单向环。如果同时有几个路由进程启动,就会发生死锁。12
7、谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚信道举例虚信道举例(contd)l通过给每个链接增加两个虚信道可以避免死锁l如图,信道被分为l高虚信道,和Ch0, Ch1, Ch2, Ch3l低虚信道Cl0, Cl1, Cl2, Cl313谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚信道举例虚信道举例(contd)l若源地址大于目标地址,l可从任何一个信道开始;l但一旦使用一个高(低)信道,那以后也要使用同一信道l若源地址小于目标地址,l首先使用高信道,经过节点P3后,高虚信道切换为低虚信道l图示为相应的信道依赖图l以信道为节点l边为信道之间的切换关系P314谢
8、谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚网络举例虚网络举例l在上述虚信道方法中,给定的环被分成两个虚环:Vr1和Vr2l每个环中都有一个回路。两个虚环:Vr1:高信道形成的虚环Vr0:低信道形成的虚环虚环形成的回路。图中,节点内的边表示回路中信道的切换关系15谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚网络举例虚网络举例(contd)l要避免虚网络内部的回路,可以l在vr1中禁止从Ch0切换到Ch3,和l在vr0中禁止从Cl0切换到C13。P3中,Ch0到Ch3的切换被禁止;Cl0到Cl3的切换也被禁止16谢谢观赏2019-9-134.5虚信道和虚网络虚信
9、道和虚网络虚网络举例虚网络举例(contd)l可在任一步进行从vr1到vr0 的虚网络切换(如图)l例如l若源地址大于目标地址,如l从P2到P0的路由可以从Ch2开始,并在P1切换至Cl1l从P3到P0的路由中,可在P2或P1进行切换l也可以不切换l但若目标地址大于源地址,则必须在节点P3切换,因为1.在单向环中,若目标地址大于源地址,则必然要经过P3路由2.两个虚环都不允许在P3进行从Ch0到Ch3 和Cl0到Cl3 的切换。所以在P3只能进行Ch0到Cl3的切换图中,每个节点都可以进行vr1到vr0的虚网络切换17谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络虚网络举例虚网络
10、举例(contd)l基于虚网络的路由过程比基于虚信道的路由有更强的适应能力。在上例中,l虚信道路由仅在P3进行高虚信道到低虚信道的切换l虚网络路由允许在任一点进行虚网络切换l为了保证从vr1到vr0的切换生成一个合法的路由路径,l若Cli是vr0中的切换信道,则i必须不能小于剩余的路由跳跃数。18谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络双环路由双环路由l上述每一个单向信道增加一个虚信道的方法叫双环路由l形式化地描述双环路由:l假定使用n个进程:Pn-1,Pn-2,P1, P0,信道是Ch或Cl:19谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络双环路由算法双环
11、路由算法20谢谢观赏2019-9-134.5虚信道和虚网络虚信道和虚网络双环路由双环路由l在上述算法中,当进程发起路由时,l如果i des ,可以使用高信道或者低信道。l如果i des ,则只能使用高信道。21谢谢观赏2019-9-134.6 完全自适应和无死锁路由算法完全自适应和无死锁路由算法 l适应性和无死锁是两个互相矛盾的要求。l像2 维网格的XY路由和n维立方的e-立方等决定性的无死锁路由虽然简单,但都不是适应性的。l一个决定性路由在存在错误组件(如链接或节点)的系统中有可能失效l例如,一个XY路由完成了X方向的路由,但在Y方向上由于错误被阻塞,这个信息就不能被继续转发l但没有限制的适
12、应性路由可能引发死锁。l因此,必须在不引发死锁的前提下增加适应性22谢谢观赏2019-9-134.6 完全自适应和无死锁路由算法完全自适应和无死锁路由算法l几乎所有的完全适应性路由都可以通过增加一定数量的虚信道(或虚网络)来避免死锁。l例如,l一个最小化的适应性的n 维立方路由可以通过加入n个虚信道来避免死锁。l每一步都使用比前一个具有更高标记的信道。l因为需要n步,所以n个虚信道足以避免虚信道之间的循环等待。l然而使用虚信道会引入附加的缓冲区等开销。所以,要尽量限制虚信道的数目。23谢谢观赏2019-9-134.6.1 虚信道类虚信道类 l如前所述,通过引入足够多的虚信道,任何路由都可以保证
13、避免死锁。l当路由开始时,使用虚信道1,vc1。l在第i 步使用虚信道i,vci及相应的链接。l如果一个给定网络的最长路径(也叫直径)是Dmax那么就要用Dmax个虚信道;24谢谢观赏2019-9-134.6.1 虚信道类虚信道类l为了减少虚信道的数量,可将一个网络分成几个节点的子集,每个子集都不会包含相邻的接点。l例如,l考虑一个形似跳棋盘的2维网格,上面有黑白方格。l黑节点属于个子集,白色节点属于另外一个。l当一个消息从一个白色节点移动到黑色节点时,就将虚信道的标记加一。l如果是从黑色节点向白色节点移动,虚信道标记保持不变。l显然,在2维网格中,节点标记的改变次数最多为路由步数的一半。这样
14、虚信道的总数就缩减了一半。25谢谢观赏2019-9-134.6.1 虚信道类虚信道类l可以将上述思想一般化:l将给定网络分成k个子集S1, S2, Sk ,每个子集都不包含相邻节点l当一个消息从子集Si中的一个节点移动到子集Sj中的一个节点(i j )时,称之为上移动;反之为负移动。l发生负移动时,虚信道标记加一l假定信道标记从1 开始l从而,所需信道的个数就是一个路由路径中负移动的个数。l目标就是要选择一个合适的k以及一个划分,使路由过程中的负移动个数最小26谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道等待和非等待信道等待和非等待信道l使用逃逸信道的路由算法中,虚信道被分为等待信道
15、(又称为逃逸信道)和l若一个等待信道处于繁忙状态,而此时一个消息需要通过该信道,则这个消息必须等待,直到该信道可用l即一个等待信道能够阻塞消息非等待信道(又称为一般信道)l若一个消息碰到一个处于繁忙状态的非等待信道,它不必被阻塞以等待该信道变得可用,可以选择其他信道l因此,一个消息会首先考虑通过非等待信道到达目标l若所有的非等待信道都繁忙,它就考虑等待信道27谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道混合路由混合路由 l使用逃逸信道扩展完全适应的概念l例如,可以用两个路由进程实现混合路由:路由进程1:完全适应性路由完全适应性路由,使用标记为非等待的虚信道;路由进程2:限制性但无死锁
16、路由限制性但无死锁路由可能是XY路由或e-立方等决定性路由使用标记为等待的虚信道。28谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道混合路由混合路由(contd)l混合路由算法:1.开始时,使用完全适应路由,直到阻塞为止;2.然后切换到限制性路由。l混合路由是无死锁的l由于等待信道是在无死锁路由中定义的,并且l消息仅仅等待上述等待信道l合理分配等待和非等待信道是关系到混合路由效率的关键问题29谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道混合路由的扩展混合路由的扩展Il扩展I:当消息发现等待信道被占用时,可以使用非等待信道l扩展I增加灵活性的同时也引入了选定的逃逸信道之间新的依
17、赖性。l通过使用一个或多个中间的一般信道,一个逃逸信道可能间接地依赖于另一个逃逸信道。l因此无回路条件必须包括逃逸信道之间的所有间接依赖。l不幸的是,没有循环依赖只是不发生死锁的一个充分条件;也即,对于一个特定的虫孔网络,若使用某一个路由算法,扩展I太弱,不会得到任何结果。扩展信道依赖图中的一个回路可能表示一个死锁状态,也可能不是。30谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道混合路由的扩展混合路由的扩展I IlDuato通过使用基于消息目标的逃逸路径进一步扩展了上述思想 l对于不同的目标,使用不同的逃逸信道。l在同样的无回路条件下,可以得到一个无死锁的充分必要条件。l然而,在生成
18、扩展信道依赖图的时候,直接依赖、间接依赖、直接交叉依赖(在不同目标的逃逸信道之间)和间接交叉依赖都要被考虑进去。31谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道l上述两个扩展都可用于避免死锁。l为了设计一个无死锁的路由函数,首先创建一个名为R1(x,y)的路由子函数,它的功能是将当前和目标节点映射到当前节点的输出信道的子集。R1(x,y)是连通的,无回路的。可以通过增加信道或者将已有信道分割为虚信道将R1(x,y)扩展为R(x,y),以便增加可选路径的数目,同时又不会在R1(x,y)的扩展信道依赖图中增加回路。l这一设计规程又被称为Duato协议。32谢谢观赏2019-9-134.6
19、.2 逃逸信道逃逸信道维度逆转路由维度逆转路由 l如果不要求最小路由,那么虚信道的数量还可以减少。l对于一个k元n维立方(没有环绕连接),有如下的一般非最小无死锁路由:l对每个物理信道,有k个虚信道与之对应l其中一个用于逃逸信道,以便进行无死锁的按维排序的路由l消息可以按照任何方向路由,而不一定是最小路径。l每个消息都有一个维度逆转数DR相对应,lDR:记录消息从高维度路由到低维度的次数。33谢谢观赏2019-9-134.6.2 逃逸信道逃逸信道维度逆转路由维度逆转路由(contd)l一旦一个消息取得一个信道,它就将该信道标记为当前的DR数。l为了避免死锁,一个DR数为i的消息不能等待一个DR
20、数为j的信道,这里ij。l此时,选用下一层的虚信道。l假定每个未被访问的信道的DR标记为0。l当虚信道的标记达到k时,就使用决定性的按维度排序的路由。34谢谢观赏2019-9-134.7 几个部分适应和无死锁路由算几个部分适应和无死锁路由算法法l很多路由算法的路由适应性仅对一小部分虚信道有效。这种算法属于部分适应性路由l本节讨论三个部分适应性和无死锁路由算法l转弯模型l平面自适应模型l其他部分自适应模型35谢谢观赏2019-9-134.7.1 转弯模型转弯模型 l2维网格的转弯模型提供了一个部分适应性和无死锁的路由。l下图显示了2维网格中的抽象回路。36谢谢观赏2019-9-134.7.1转弯
21、模型转弯模型基本思想基本思想l上图显示了XY路由中所允许的四个转弯(实心箭头所指)。l只允许先X方向路由后Y方向路由l显然,这个条件太严格了,因为可以通过去掉回路中的一个角来打破回路。l转弯模型的基本思想l通过禁止最小数目的转弯来增加适应性,以避免回路。X方向Y方向37谢谢观赏2019-9-134.7.1 转弯模型转弯模型正向优先协议和负向优先协议正向优先协议和负向优先协议l左下图为一个正向优先路由协议。l可以有6个转弯l从负向到正向的转弯,也即南到东和西到北,被禁止l右下图为一个负向优先路由协议。l可以有6个转弯l从正向到负向的转弯,也即北到东和东到北,被禁止X方向Y方向X负到Y正Y负到X正
22、X正到Y负Y正到X负正向优先协议负向优先协议38谢谢观赏2019-9-134.7.1 转弯模型转弯模型转弯模型的适应性转弯模型的适应性l由于源和目标的位置的不同,转弯模型可能有适应性,也可能没有。l下图显示了源s和目标d的两种不同位置。l若目标位于源的东北或西南方,那么正向优先路由就是完全适应性的,如图al否则,就是决定性的,如图b(a)完全适应性路由(b)确定性路由东北东南OKNot OK39谢谢观赏2019-9-134.7.1 转弯模型转弯模型转弯模型的平衡性转弯模型的平衡性l某些情况下,上述不平衡的适应可能会导致拥塞或不平衡的工作量。l可以使用虚信道将几种不同的协议结合起来。每个协议都是
23、基于转弯模型,但有不同的区域适应性,因而可以得到一种平衡的方法。l例如,若允许使用两个虚信道,就可设计两个具有互补适应性的转弯模型。40谢谢观赏2019-9-134.7.2 平面自适应模型平面自适应模型 l对应于一般的k元n维立方,Chien和Kim提出了一种部分适应性和无死锁的路由。l基本思想是:l在某一时刻将路由的自由度限制到儿个维度以降低对硬件(虚信道)的要求。l例如,若每次只选两个维度,就有A0, A1, An这些平面,其中Ai在维度di和di+1方向扩展。41谢谢观赏2019-9-134.7.2 平面自适应模型平面自适应模型举例举例l下图显示了三个平面的例子:A0(维度为d0和d1)
24、,A1(维度为d1和d2),和A2(维度为d2和d3)平面自适应路由所允许的路径42谢谢观赏2019-9-134.7.2 平面自适应模型平面自适应模型举例举例l对每个Ai,引入三个虚信道,一个沿着第i 维,两个沿着第(i+1)维。l设di,j是维度j通过维度i的虚信道。lAi使用三个虚信道:di,2 、di+1,0和di+1,143谢谢观赏2019-9-134.7.2 平面自适应模型平面自适应模型l由于每个虚信道都是双向的,可将di,2分成两个单向信道di,2+和di,2-lAi也就被分成两个子网:包含di,2+和di+1,0的正向子网;以及包含di,2-和di+1,1的负向子网l本课开始的正
25、负子网可看成是上述正向和负向子网的例子:l将X和Y视为di和di+1正网络负网络44谢谢观赏2019-9-134.7.2 平面自适应模型平面自适应模型lAi内部的路由可依据源和目标的位置不同而选用正向或负向子网。l若目标的标识大于源标识,则选用正向子网;l否则,选用负向子网。l注意:l虚信道di, di,0, di,1中的另外两个也用于平面Ai-1,即相邻平面有一个公共维度。l相对于完全适应而言,平面适应方法牺牲了一些路由自由度(适应性),从而大大降低了虚信道的数目。45谢谢观赏2019-9-134.7.3 其他部分自适应模型其他部分自适应模型lLi出了e-立方路由的一个要求稍低的版本。l对一
展开阅读全文