第四章分布式资源管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑸当进程pj收到pi发来的Release(Ti’, pi, ri)消息 后,从其请求队列中去掉Request(Ti, pi, ri)消息。
22
4.2.5招标算法
1.算法描述 ⑴当一资源管理者打算向其它场点的资源管理者申 请资源时,先将招标消息广播出去; ⑵当一资源管理者接收到这一招标消息后,若该场 点有所需资源,则它根据一定方法计算出”标数”。 然后,给申请者发一条投标消息,否则回复一条拒 绝投标的消息;
这种管理方式主要适用于和处理机紧密相连的资源, 如内存、键盘、显示器,当与它们紧密相连的处理机失 效时,这些资源也就随之失效了,对于这类资源通常采 用集中分布管理方式。
15
4.2.2 分散式管理
一个资源由多个场点上的管理者在协商一致的原则 下共同管理。这类则和处理机的关系不甚紧密,例如多 副本文件,网络打印机等。当某场点上的进程申请使用 一资源时,即使本场点有可供使用的副本或者能在其它 场点上找到,也不能由这一场点(或任一场点)单独对 该资源的分配作出决策,而必须与所有参于管理的结点 进行协商,在取得一致后才能作出决策。
此时,⑶修改为:“当申请者接收到所有的投标消息 后,或等待时间超过预定时间值T后,根据一定的策略选 择一个投标者,并直接向它发送一条申请资源的消息;” 容易看出,该算法有如下特点:
⑴不会出现饥饿现象,因为只要系统中有所申请的资 源就必有一个中标者,只要每个资源占有者在有限长时间 内归还所占资源,申请者总能从中标者处获得所需资源。
20
⑶仅当下列条件成立时,Pi才可以分配该资源; ①在其请求队列中,它的Request(Ti, pi, rj)消 息中的Ti比所有其它请求消息中的时间戳都要小; ②pi已接收到所有其它进程发来的时间戳迟于
Ti的认可消息。
21
⑷在释放资源时,pi从自己的请求队列中去掉 Request(Ti, pi, ri)消息,并向系统中每个正等待请 求使用该资源的进程发一条Release(Ti’, pi, ri)消息 和一条带时间戳的认可消息。
12
图4.1 资源管理方式
13
分布式管理方式和集中式管理方式的主要区别是对 同类资源是采用多个管理者还是一个管理者。集中分布 管理和完全分布管理的主要区别是前者让资源管理者对 它管理的资源拥有全部控制权,而后者只允许资源管理 者对它管理的资源拥有部分控制权。从上述两种管理方 式的角度来考虑系统资源的划分。从实用的角度讲,分 布式系统中的资源管理方式主要有局部集中式、分散式 和分级式。
19
2.算法描述 该算法利用时间戳来标明申请资源的先后次序,
以此来尽量消除对共享资源的竞争。 ⑴当系统中的任一进程pi,申请资源rj,时,向系
统中的其它每一进程发一Request(Ti, pi, rj)消息, (其中Ti为此时的时间戳)并把它存入自己的请求队 列;
⑵进程pk,接收到这一消息后,将其存入自己的 请求队列,若pk当前未请求该资源,则它马上给Pi发 送一个带有时间戳的认可消息;若pk也正在请求使用 该资源,且其时间戳Tk先于Ti,则它暂不给Pi发送认 可消息;
11
⑵从多个资源与多个管理者的相互关系进行分析,可分 为如下四种管理方式: 集中:每一类资源只属一个管理者管理。它控制该类
全部资源。 分管(集中分布式):每一类资源由多个管理者管
理,但每一资源只属一个管理者管理。 合管(完全分布式):不仅每一类资源存在多个管理
者管理,而且该类中每个资源属于全部管理者共同管 理。 部分管理:每一类资源由多个管理者管理,每一资源 属于若干管理者管理。 如图4.1所示。其中圆圈表示管理者,三角形表示资 源。
现这种迁移的代码。作业迁移的最终实现由系统完成; 显式法,即允许(或要求)用户显示地在其程序中指
明作业如何迁移,系统则按照用户的规定实现这种迁 移。这种方法通常用于作业必须予以移动以满 足某种软、硬件特性的场合。
8
4.2资源管理管理策略
分布式系统对于资源管理有两种基本的观点, 一种是从单个资源与多个管理机构相互关系的角度 进行分析,称为单个资源管理,另一种是从多个资 源与多个管理机构相互关系的角度进行分析,称为 多个资源管理。前者是后者的基础,后者是前者的 提高,这是因为整个系统的资源是由单个资源组成 的,但只有从整个系统的总体要求来考虑资源管理, 才可能获得最佳的系统性能。
x=c1 a+c2 b 选取最小的x中标,其中a为等待的申请者的个数,b为投标 者与招标者之间的距离c1和c2为两个常数。采用这种投标与 选标策略考虑到了资源使用的均衡性和有效性。
25
若考虑场点故障而仍使该算法有效,则可增加如下措施: ⑹若资源申请者发出申请消息后久末获得所需资源,
则向中标者发一询问消息,若中标者末故障就立即予以回 复;若发出询问消息后仍无回复,则申请者重新广播招标 消息。
第四章 分布式资源管理
4.1 资源共享 4.2资源管理策略 4.3 分布式系统中的死锁处理
1
4.1 资源共享
扼要讨论实现资源共享的三种方法。 4.1.1 数据迁移
当场点A的用户希望存取位于场点B的数据(如 文件)时,系统有两种基本方法转移该数据。第一种 方法是将整个文件转移给场点A,尔后,所有对该文 件的存取都是局部的了。当用户不再需要访问该文件 时,它的副本(如果它被修改过)被回送给场点B。 对一个文件的任何微小的修改,都得将这整个文件传 送回去。
6
⑶硬件特性:该作业可能有这祥一些特性,即它比 较适合于在某些特殊的处理机上执行。例如,矩阵转换就 比较适合于在阵列机上执行。
⑷软件特性:该作业可能需要特定场点上的软件或不 能移动的软件,或者移动该作业比较划算。
7
通常有两种方法移动系统中的作业: 隐式法,即程序员不必在它们的程序中明显地给出实
17
显然,对于逻辑上分属于某个场 点的资源,分级式管理方式保持了集 中管理方式的特点;同时,对于被系 统中的多个场点经常使用的资源,它 又具有分散式管理方式的特点。
18
4.2.4 一个分散式资源管理算法
1.基本说明 ⑴占有资源的进程,必须先释放资源,系统才能把 该资源分配给另一进程; ⑵多个进程申请同一资源时,必须按其请求的先后 次序来分配; 在有限时间内获 得该资源; ⑷假定系统由n个场点组成,每个场点运行一个进 程,它们的编号依次为p1, p2, …, pn。每个进程都有一 个自己管理的申请队列.用以存放请求消息。
14
4.2.2 局部集中管理
每个资源由一个且仅由一个资源管理者管理,具体 讲就是,资源按其在各场点上的分布情况分别由其所在 的场点进行局部的集中管理,不存在全系统范围的集中 管理者。就一个场点而言,这种方式与单机的管理相似, 但增加了利用网络通信手段申请使用其它场点上的资源 的功能。该方式对应于上节中的集中式。
3
4.1.2 计算迁移
在某些情形中,转移计算比转移数据更有效。例如, 考虑这样一个作业,它需要存取位于不同场点上的若干较 大的文件,以获得它们的概况。一种比较有效的办法是在 它们驻留的场点上各自存取这些文件,然后分别回送所需 要的值给初启该计算的那个场点 。
这种计算可按若干不同的方式实现,例如,假定进程 p希望存取位于场点A的文件,对该文件的存取可以在场 点A进行,而且可用一个远程过程调用来初启。进程p引 用场点A上预定义的一个过程,该过程执行完后给p回送 所需要的结果。
⑵在无场点故障情况下,从广播招标消息到接到获得 资源的通知,一共交换了2 (n - 1) + 2=2n条消息。
26
2.适用于环形结构的招标算法
对于具有环形结构的分布式计算机系统,相应的招标 算法为:
⑴申请资源者向其邻近场点发一招标消息; ⑵接收到招标消息后,若本场点上无所指资源,则它 将招标消息沿环转移给下一邻近场点,否则: ①若此消息中未附投标信息,则它将本场点的投标信 息附上,并将这一新形成的消息转移给下一邻近场点; ②若此消息中已附有投标消息,则它就将本场点的投 标消息同此消息进行比较,优选一个附上转移给下一邻 近场点;
27
⑶某场点接收到自己发出的招标消息后,从其 中所附的投标信息可知中标者是谁,直接向中标的 资源管理者发一申请资源的消息;
⑷中标者接收到申请消息后,将申请者的名字 排入其等待队列,并在可以分配所需资源时向申请 者发通知;
⑸当资源使用完后,申请者通知分配资源者回 收资源。
28
对于非环结构的分布式计算机系统,也可 采用上述算法,只要规定消息统一按“逻辑环” 转移即可。所谓“逻辑环”是指一个虚拟的消息 转移环路。例如,若系统由n个场点构成,规定 消息从结点i(l i <n)总是发往i+1,从结点n 总是发往结点1。这样,n个场点便按人为的次 序1,2,…,n构成一个逻辑环。
23
⑶当申请者接收到所有的投标消息后,根据一定的策 略选择一个投标者,并直接向它发送一条申请资源的 消息; ⑷接收到此申请资源消息的资源管理者,将申请者的 名字排入其等待队列,并在可以分配所指资源时再发 消息通知申请者; ⑸申请者在使用完所需资源后,通知分配资源者回收 资源。
24
投标与选标策略可视具体情况而定,例如,可用等待 队列中排队等待的申请者的个数作为标数来投标,选标时 则选择标数最小的投标者中标,或者不仅考虑有多个资源 申请者,还考虑到投标者与招标者之间的距离,如,可规 定标数为:
9
⑴从单个资源与多个管理者的相互关系进行分析,有四种 资源管理方式:
集中管理方式:只有一个管理者对该资源的各种活动 统一进行管理,其它管理者对该资源均不具有管理职 能和责任。该方式也称为专制(autocratic)管理方式。
功能分布管理方式:多个管理者按照不同的资源活动 分担管理职能和责任,且每种活动只由一个管理者管 理。该方式也称为分担管理方式或分割(partitioned) 管理方式。
5
4.1.3 作业迁移
当一个作业提交给系统后,系统可以在一特定的场点 上执行这整个作业,或在不同的场点上执行它的某一部分 利用这种方案的主要原因是:
⑴负载均衡:作业(或子作业)可以分散到系统中以 均衡系统的工作负载。
⑵计算速度的提高:如果单个作业可以分解成若干子 作业,这些子作业可以在不同的场点并发地执行,那么, 整个作业的周转时间将会减少。
10
浮动管理方式:多个管理者均可同等地担负管理职能 和责任,但在一段时间内,只有一个管理者行使职权, “任期”满后再由另一管理者接替,如此轮流下去。 该方式也称轮流(successive)管理方式。
分散管理方式:多个管理者采取协商一致的原则对资 源活动进行全面管理,其中各个管理者的地位和功能 是完全平等的。该方式也称民主(democratic)管理方 式。
2
另一种方法是只将该文件中实际需要的部分转 移给A。一旦用户不再使用该文件,该文件的任何 已作过修改时部分必须回送给场点B。
显然,如果只访问一个较大文件的一小部分, 那么采用后一种方法较好;否则采用第一种方法较 合适。不过,仅仅从一个场点向另一个场点转移数 据是不够的,系统还得执行各种数据转换(如果两 个场点不是直接兼容的话)。例如,如果它们使用 了不同的字符代码表示。
4
另一种方式是进程p可以发送一条消息给场点A, 操作系统在场点A创建一个新进程q,q的功能是执行 由该消息所指定的任务,当q完成其执行后,它又通过 消息系统给p回送所需要的结果。注意,在这种方案中, 进程p和q可以并发执行,而且事实上可以有若干进程 在若干场点上并发地运行。
这两种方案都可用来存取驻留在各个场点上的若 干文件。
16
4.2.3 分级式管理 分级式管理的基本原理是: ⑴针对实际的分布式系统对其中的各种资源进行分
析,然后根据其重要性、常用性和隶属关系将资源分为 两个级别:第一级是被多个场点经常使用的资源;第二 级是仅被本场点使用的资源。
⑵采用不同的方式管理不同级别的资源。即对第一 级资源,由于它们被系统中的多个场点经常使用,因此, 必须采用分散式管理方式,由多个场点在协商一致的原 则下共同管理。对第二级资源,由于它们属于某个场点, 不被其它场点使用,可以采用集中式管理方式,由某个 场点集中管理。
相关文档
最新文档