辽宁大学分布式操作系统复习题11.docx

上传人:b****1 文档编号:14120302 上传时间:2023-06-20 格式:DOCX 页数:28 大小:138.18KB
下载 相关 举报
辽宁大学分布式操作系统复习题11.docx_第1页
第1页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第2页
第2页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第3页
第3页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第4页
第4页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第5页
第5页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第6页
第6页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第7页
第7页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第8页
第8页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第9页
第9页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第10页
第10页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第11页
第11页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第12页
第12页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第13页
第13页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第14页
第14页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第15页
第15页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第16页
第16页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第17页
第17页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第18页
第18页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第19页
第19页 / 共28页
辽宁大学分布式操作系统复习题11.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

辽宁大学分布式操作系统复习题11.docx

《辽宁大学分布式操作系统复习题11.docx》由会员分享,可在线阅读,更多相关《辽宁大学分布式操作系统复习题11.docx(28页珍藏版)》请在冰点文库上搜索。

辽宁大学分布式操作系统复习题11.docx

辽宁大学分布式操作系统复习题11

2011辽宁大学分布式操作系统复习题

1.说明分布式系统相对于集中式系统的优点和缺点。

从长远的角度看,推动分布式系统发展的主要动力是什么?

答:

相对于集中式系统,分布式系统的优点:

1)从经济上,微处理机提供了比大型主机更好的性能价格比;2)从速度上,分布式系统总的计算能力比单个大型主机更强;3)从分布上,具有固定的分布性,一些应用涉及到空间上分散的机器;4)从可靠性上,具有极强的可靠性,如果一个极强崩溃,整个系统还可以继续运行;5)从前景上,分布式操作系统的计算能力可以逐渐有所增加。

分布式系统的缺点:

1)软件问题,目前分布式操作系统开发的软件太少;2)通信网络问题,一旦一个系统依赖网络,那么网络的信息丢失或饱和将会抵消我们通过建立分布式系统所获得的大部分优势;3)安全问题,数据的易于共享也容易造成对保密数据的访问。

推动分布式系统发展的主要动力:

尽管分布式系统存在一些潜在的不足,但是从长远的角度看,推动分布式系统发展的主要动力是大量个人计算机的存在和人们共同工作于信息共享的需要,这种信息共享必须是以一种方便的形式进行。

而不受地理或人员,数据以及机器的物理分布的影响

2.多处理机系统和多计算机系统有什么不同?

答:

共享存储器的计算机系统叫多处理机系统,不共享存储器的计算机系统为多计算机系统。

它们之间的本质区别是在多处理机系统中,所有CPU共享统一的虚拟地址空间,在多计算机系统中,每个计算机有它自己的存储器。

多处理机系统分为基于总线的和基于交换的。

基于总线的多处理机系统包含多个连接到一条公共总线的CPU以及一个存储器模块。

基于交换的多处理机系统是把存储器划分为若干个模块,通过纵横式交换器将这些存储器模块连接到CPU上。

多计算机系统分为基于总线的和基于交换的系统。

在基于总线的多计算机系统中,每个CPU都与他自身的存储器直接相连,处理器通过快速以太网这样的共享多重访问网络彼此相连。

在基于交换的多计算机系统中,处理器之间消息通过互联网进行路由,而不是想基于总线的系统中那样通过广播来发送。

3.在分布式操作系统中,为什么采用微内核技术,通常微内核提供哪些服务?

答:

采用微内核技术的原因:

1)高度模块化,每一个服务都有一个定义好的接口,每个用户都可以访问任何服务,服务与位置独立;2)高度灵活性,具有添加、删除和修改服务的功能;3)用户定制,用户可以自定义服务。

微内核提供的服务有:

1)进程间通信机制;2)某些内存管理功能;3)少量的底层进程管理和调度;4)低层输入/输出服务

4.解释透明性的含义,并举例说明不同类型的透明性。

答:

对于分布式系统而言,透明性是指它呈现给用户或应用程序时,就好像是一个单独是计算机系统。

具体说来,就是隐藏了多个计算机的处理过程,资源的物理分布。

具体类型:

透明性

描述

存取透明性

隐藏了数据表示和获取资源的具体实现

位置透明性

用户不必知道资源位于何处

迁移透明性

资源可以不改名随意移动

重定位透明性

用户不必知道资源是位置是否改变

复制透明性

用户不必知道有多少拷贝存在

并发透明性

多个用户可以自动的共享资源

容错透明性

用户不必知道系统出现错误

5.应用哪些技术可以使得一个分布式系统具有可伸缩性?

答:

实现分布式可伸缩性,基本的三种技术为:

1、减少通信延迟,即使用异步通信方式,使得发送方发送请求后不必阻塞以等待答复,而是处理其他本地任务。

2、分层,即将一个组件分解为几个小层。

一个好的例子是DNS域名系统,它将域名分为三层,均衡了系统负载。

3、复制冗余,它能使得资源更容易就近获取,并且它能使资源分布于整个系统,均衡了负载。

6.什么是普适家庭系统?

说明其中存在的主要技术问题。

答:

普适系统,即将分布的各种小型的,蓄电的,移动的设备,以无线连接的方式整合在一起的系统。

它无需人工进行管理,最好的情况是其自动配置,自己管理。

家庭普适系统,即将各种家用电子设备(如电视,手机等)整合在一起的系统。

其存在的主要技术问题包括:

1、实现完全的自我配置,自我管理存在困难。

2、个人空间的存储,安全问题。

7.举例说明三层客户/服务器体系结构。

答:

此三层分为:

用户接口层(接收用户请求),处理层(核心逻辑处理),数据层(返回用户所需数据)。

以一个Internet搜索引擎为例,用户使用键盘,鼠标输入想要检索的信息,经过用户接口层传递给处理层,生成查询语句,然后到达数据层(即数据库)查询数据,再将查询结果返回给处理层,让它对结果进行排序,生成HTML页面,最后返回给用户接口层(即浏览器)显示给用户。

8.给出一个多线程客户端的例子,并给出一种构造多线程服务器的方法。

答:

多线程客户端例子,以网页浏览器为例:

浏览器在从服务器获取HTML文件时,同时也在显示它。

因为一个HTML文件可能包含文本,图像,音频,视频等文件,故当一个线程获得其中一个文件并显示它时,同时还有其它线程正从服务器读取其它文件。

即一个浏览器拥有多个线程与服务器进行交互。

构建多线程服务器:

使用有限状态机模型,它使用非阻塞系统调用方法,可实现并行处理多个请求。

对每一个接收或发送的消息都将其处理状态存储到一个表中,由多线程对其进行处理。

9.在代码迁移时,需要迁移代码片断、资源片断和执行片断,说明在迁移资源片断时需要考虑的主要问题。

答:

迁移资源片段时,有时需要考虑改变资源片段的相关引用,以适应迁移后的使用,但是又不能改变该资源与其他进程之间的绑定关系。

此外,有时还需考虑该资源片段与机器之间的绑定关系。

例如有些资源片段迁移后可用,但是要花很大代价,有些则迁移后在其他机器上不可执行。

10.什么是有状态服务器和无状态服务器,给出相应的例子,并说明有状态服务器存在的问题。

答:

无状态服务器,在请求之间,服务器不保存具体客户的信息,以及与客户端交互活动的有关信息。

它要求每个请求必须是独立的,必须包含全文件名和文件中的偏移量,因此消息长度较长。

有状态服务器,在请求之间,服务器保存客户信息以及与客户交互活动的有关信息,

11.说明在移动IP系统中,如何定位一个实体。

a)名称与地址的直接映射

b)使用标识符的两极映射

12.在基于DHT的P2P系统中如何定位一个实体,并举例说明。

答:

DHT全称叫分布式哈希表(DistributedHashTable),是一种分布式存储方法。

每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。

连入DHT网络的用户叫做节点(node),节点之间互相有路由记录,因此只要和任何一个已经在DHT网络中的节点连接上,客户端就可以寻找到更多的节点,从而连入网络。

举例见书p189。

.

13.在基于DHT的P2P系统中如何构造多播树,并举例说明影响性能的主要问题。

14.客户-服务器模式的主要思想及优点。

答:

其主要思想是构造一种操作系统,它由一组协同进程组成,这组进程称为服务进程,为客户机提供服务的进程称为客户。

客户和服务器都运行在相同的微内核中,都以进程方式运行。

一台机器可以运行多个客户、多个服务器或者两者的结合,客户-服务器模式常常以简单的请求/应答协议为基础,客户向服务器发送一个请求,请求一些服务,服务器完成后返回所要的数据或者给出一个错误代码,指出工作未完成。

优点:

1)简单,客户发出一个请求得到一个应答,在使用之前无需建立连接也不需要释放连接;2)有效性,协议栈比较短因而更有效。

15.客户为了发送消息给服务器,它必须知道服务器的地址。

试给出服务器进程编址的几种方法,并说明如何定位进程。

答:

方法一。

机器号加进程号,内核使用机器号将消息正确地发送到适当的机器上,用进程号决定将消息发送给哪一个进程。

方法二。

进程选择随机地址,通过广播方式定位进程,进程在大范围的地址空间中随机指定自己的标识号。

在支持广播式的LAN中,发送者广播一个特殊的定位包,其中包含目的进程地址,所有的内核查看地址是不是他们的,如果是则返回消息给出网络地址,然后发送内核缓存地址。

方法三。

客户机运行时,使用ASCII码访问服务。

客户机运行时,向名字服务器发送请求信息,名字服务器将ASCII服务器名映射成服务器地址,客户机收到给地址后,可以访问服务器。

16.对于接收消息Receive原语,为什么需要缓存,缓存的作用是什么?

答:

如果不适用缓存,服务器接收来的消息会被丢弃或者存在诸如服务器需要存储和管理早到来的消息这样的问题。

缓存的作用就是用来统一管理消息的:

它定义了一种叫邮箱的数据结构,接收客户端请求的进程通知内核创建邮箱存储消息,并且指定了访问地址。

当Receive原语调用是,系统内核就会提取消息并知道如何处理它。

17.说明在C/S模式下解决消息可靠传输的三种方法?

答:

1、重新定义非可靠的send语义。

系统无法保证消息发送成功,完成可靠地通信依赖于用户。

2、要求接收机器的内核给发送机器的内核发送一个确认消息。

只有收到这个确认消息后发送内核释放用户进程。

确认消息从一个内核传送到另一个内核,无论是客户还是服务器都看不到确认消息。

3、客户在发送消息后阻塞,服务器内核不发送确认消息而是将应答作为确认消息。

因此客户进程一直阻塞到应答消息到来为止,如果时间太长,发送内核会重新发送请求以防止消息丢失。

18.说明RPC的主要思想及RPC调用的主要步骤。

(远程过程调用函数sum(4,7)为例说明)

答:

主要思想是允许程序去调用位于其他机器上的过程。

当位于机器A的一个进程调用机器B上的某个过程时,机器A上的过程被挂起,被调用的过程在机器B上执行。

调用者讲消息放在参数表中传送给被调用者,结果作为过程的返回值返回给调用者。

消息的传送与I/O操作对于编程人员是不可见的。

主要步骤如下:

1)客户过程以普通方式调用相应的客户存根;2)客户存根建立消息并激活内核陷阱;3)内核将消息发送到远程内核;4)远程内核将消息发送到服务器存根;5)服务器存根取出消息中的参数后调用服务器过程;6)服务器完成工作后将结果返回至服务器存根;7)服务器存根将它们打包并激活内核陷阱;8)远程内核将消息发送会客户内核;9)客户内核将消息提交给客户存根;10)客户存根从消息中取出结果返回给客户。

19.在RPC调用时,如果服务器或客户机崩溃了,各有哪些解决方法。

答:

如果是服务器崩溃了,用户无法区分服务器是在执行前还是执行后崩溃,解决方案如下:

1)至少一次语义,指等待服务器重新启动,然后重发请求。

这种方法要求不断重试直至客户收到应答消息。

它保证RPC至少执行一次。

2)之多一次语义,指立即放弃并报告失效。

它确保RPC至多执行一次,但也可能根本没有执行;3)不作保证;4)精确一次语义;

如果是客户机崩溃了,存在孤儿问题(客户已发送请求,在应答到来之前崩溃了,此时已经激活服务器中的过程并获得结果,但是没有客户在等待结果)解决方案如下:

1)根除,在客户存根发送RPC消息前先做日志(用来恢复崩溃),系统重新启动后,检查日志,发现孤儿存在并将其杀死;2)再生,把时间分成有序的纪元,当客户端重启时,向所有机器广播一个消息通知一个新纪元的到来,并结束所有的远程计算;3)温和再生,服务器接收到新纪元广播时,检查自己是否有远程计算,只有那些找不到所有者的远程计算终止。

4)过期,每个RPC都分配一个标准时间T来完成任务,如果超时没有完成则显示分配一个数额。

20.一个影响RPC执行时间的问题是消息的拷贝问题,试说明在那些环节需要拷贝,并说明减少拷贝次数的方法。

答:

需要消息拷贝的环节:

在发送端,消息从客户存根拷贝到客户内核缓冲区,再从客户内核缓冲区拷到客户接口芯片缓冲区(网卡),然后消息被拷贝到接收端的服务器接口芯片缓冲区,之后拷贝到服务器内核缓冲区,最后到达服务器存根(共5次)拷贝。

此外,有时还需要拷贝参数数组。

减少拷贝次数的方法:

分散-集中方法(汇集发),具有分散-集中能力的网络芯片可以减少拷贝次数,他通过拼接2个或者多个内存缓冲区来组装报文。

在发送端,由客户内核缓冲区生成报文消息头。

由客户存根生成报文消息体,当发送时,由网络芯片组装报文。

同样地,接收端将接收来的报文分解成消息体和消息头,并放入相应的缓冲区。

21.在组通信中,给出组编址的的三种方式。

答:

1、每组分配地址,有三种方式:

单播,多播,广播,发送进程将消息发送给组地址,消息将会发布给所有成员

2、要求发送端提供一份目的地址的显示列表;

3、判定编址,消息将被发送给所有成员,每条消息包含了判定条件,如果判定条件评估为TRUE,则消息被接受,否则消息丢弃。

22.用组通信方式时,举例说明消息顺序的重要性,并说明解决方法说明。

答:

要使组通信易于理解和使用,有两种性质是不可缺少的,首先是原子广播原语,它确保了一条消息要么被所有组内成员收到,要么没有一个成员能收到。

其次是消息的顺序。

例如:

有四台机器每台机器有一个进程,进程1、2、3、4属于同一个进程组,进程0与进程4同时想给该组发送一条消息,当两个进程竞相访问LAN时,在网络中消息传送的顺序是无法确定的,可能是0->1,4->0,4->1,4->3,0->3,0->4。

这样进程1先收到0再收到4,进程3先收到进程4在收到0,则1与3之间可能会出现不一致。

解决方法:

1)全局时间顺序,保证立即发送所有消息并让他们保持发送顺序,该方法能将消息精确的按照发送顺序传递到目的地。

2)一致时间顺序,若有两条消息A和B,以很少的时间间隔发送,系统先取其中一个作为第一个发送给所有组内成员,然后再取下一个发送给组内成员,这种方法保证组内成员按照统一的顺序收到了消息,但是这个顺序可能并不是发送消息的顺序。

23.实现分布式系统同步的复杂性表现在哪几个方面?

说明先发生关系,并说明在LAMPORT算法中怎样给事件分配时间。

答:

分布式算法有如下性质:

1)相关信息分散在多台机器上;2)进程决策仅依赖于本地信息;3)系统中单点故障应避免;4)没有公用时钟和其他精确的全局时间资源存在。

前三点说明在一处收集所有信息并对他们进程处理是不可接受的,左后一点说明在分布式系统获得时间上的一致并不是容易的。

LAMPORT算法的解决方案是直接使用先发生关系,每条消息都携带发送者的时钟以指出其发送的时间,当消息到达时,接受者的时钟比消息发送者时钟小,就立即将自己的时钟调到比发送者的时间大1或更多的值,我们给出一种测量时间的方法,使得对每一事件a,在所有进程中都认可给它一个时间值C(a),在给事件分配时间时要遵循一下规则:

1)在同一进程中a发生在b之前则C(a)

24.有三个进程分别运行在不同的机器上,每个机器都有自己的时钟并以不同且不变的速率工作(进程1的时钟嘀嗒了6下时,进程2的时钟嘀嗒了8下,而进程3的时钟嘀嗒了10下)。

举例说明进程之间消息传递中违反先发生关系的情况,并说明如何用Lamport方法解决。

答:

如右图所示:

三个进程进程2给进程1发送消息C和进程1给进程0发送消息D违反了先发生关系,消息到达的时间小于消息发送的时间。

Lamport解决方案直接使用先发生关系,每条消息携带发送者的时钟以指出其发送的时刻,当消息到达时,接受者时钟若比发送者时钟小,就立即将自己的时钟调到比发送者大1或者更多的值(这里使用值“1”)。

进程1在收到消息C后将56调整为61,发送消息D的时钟将是69,;进程0在收到消息D后将54调整为70

25.说明RICART和AGRAWALE分布式互斥算法;假定A和B是相互独立的两个临界区,进程0要进入A,进程1要进入B,R-A分布式互斥算法会导致死锁吗?

说明理由。

答:

RICART和AGRAWALE算法要求系统中所有事件都是全序的,也就是说,对任何事件组消息,哪个先发必须无歧义,算法如下:

当一个进程想进入临界区时,他要建立一个包括他要进入的临界区的名字、处理机号、当前时间的消息,然后将消息发送给所有其他进程,也包括发送给自身,当一个进程接收另一个进程消息时,它取决于接受方的状态以及临界区的名字有三种情况:

1)接受者不在临界区,也不想进入临界区,他就向发送者发送OK消息;2)接受者已经在临界区,它不必回答,而是负责对请求队列排队;3)接收者要进入临界区,但是还没有进入,它要负责将发来的消息和它发送给其他进程的时间戳对比,取小的那个。

如果来的消息时间戳小,接收者发送OK消息,否则接收者负责排列请求队列而不发送任何消息。

在发送完允许进入临界区的请求后,进程将不再做任何事,仅等待所有的允许消息,一旦得到允许,它就进入临界区。

它从临界区退出时,向队列中所有进程发送OK消息,并将它从队列中删除。

该算法可能导致死锁,例如:

A和B是相互独立的两个临界区,进程0要进入A,进程1要进入B,而此时进程0在B中,进程1在A中就会进入死锁。

26.许多分布式算法需要一个协调者,叙述欺负选举算法。

答:

欺负算法是当一个进程发现协调者不在响应请求时,它就发起选举,进程P负责选举如下:

1)P向所有号码比他大的进程发送选举消息;2)若无人响应,P获得成功,称为协调者;3)如有响应,则响应者接管,P的工作完成。

在某一时刻,一个进程只能从号码比他小的进程进程那里得到一个选举消息,当消息到达时,接收者发回OK消息,表明它的存在并接管主持选举。

除了一个进程外的其他进程都放弃了,那么这个进程就是新的协调者,它将选举获胜的消息发送给所有进程,告知它是新的协调者。

若一个进程刚刚崩溃过,而又得到恢复,它主持选举,该算法中总是进程号最大的进程获胜,所以命名为欺负算法。

27.举例说明用私有工作空间实现事务处理时的基本思想。

答:

在进程开始一个事务时给它分配一个包含了所有需要访问的文件的私有工作空间,在事务提交或终止前,所有的读写操作都在私有空间而不是真正的文件系统中进行,存在的问题是所有内容都拷贝到私有空间,代价难以承受。

优化方法是:

1)私有空间中只包含一个指向父辈工作区的指针,当事务处于最顶层时,它的工作区是真正的文件系统。

2)使用索引节点,索引是一个与判断文件所在的磁盘块位置有关的数据库,给方法不将全部文件考入私有空间,而只是拷贝索引。

28.说明在分布式系统中实现原子性提交的两阶段提交协议的基本思想及其优点。

答:

两阶段提交协议的基本思想是有一个进程作为协调者,通常是执行事务的进程。

在准备提交阶段,协调者向日志中写入Prepare,然后向所有服务器发送准备提交消息,服务器接收到消息后,检查自己是否准备提交,如果是就向日志中写入Ready,然后向协调者发送准备好消息。

在提交阶段,协调者接收所有响应后决定提交还是撤销,如果所有服务器都准备提交,则提交事务;否则撤销事务。

无论如何协调者都会写入日志,并发送决定消息,服务器接到消息后也将结果写入日志,并发送结束消息,完成整个过程

29.举例说明为什么使用集中式的死锁检测算法会产生假死锁,并给出一种解决办法。

答:

集中式的死锁检测算法每台机器的资源图中只包含它自己的进程和资源,协调者节点保存整个系统(所有资源图的集合)的资源图。

当机器资源图发生变化时相应的消息发送给协调者以提供更新,当协调者检测到环路时,它终止一个进程以解决死锁。

d

c

b

a

协调者

协调者

机器0

机器1

S

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

如上图圆表示进程,方框表示资源,开始时如同a,b,c所示,过来一段时间,B释放R并请求T,这是一个合法的操作,机器0向协调者发送一条消息申明它释放资源R,机器1向协调者发送一条消息声明进程B正在等待它的资源T,不幸的是机器1的消息先到达协调者,导致生成资源图如图d所示。

协调者得出错误的结论——死锁存在,这种情况称为假死锁。

解决办法是:

使用Lamport算法以提供全局统一的时间,对协调者收到的消息按照时间戳排序

30.举例说明分布式死锁检测方法Chandy-Misra-Has算法的思想以及如何解除死锁。

答:

算法允许进程一次请求多个资源,例如下图所示的资源图。

图中只给出进程,每条弧穿过一个资源,当某个进程等待资源时,生成一个探测消息(阻塞的进程,发送消息的进程,接收消息的进程)发送给占用资源的进程。

消息到达后,如果接受者也在等待其他进程占用的资源,则跟新探测消息,第一个字段保持不变,第二个字段改为当前的进程号,第三个字段改为等待的进程号,跟新后的探测消息发送给等待的占有资源的进程。

如果存在多个进程则要发送多个不同的消息。

如果消息又回到最初的发送者说明存在一个又死锁的环路系统

解除死锁的方法:

1)令最初发送探测消息的进程自杀。

如果多个进程同时阻塞同时发送探测消息,那么每个进程都会发现死锁并因此自杀。

2)将每个进程的标识符添加到探测消息的末尾,将编号最大的进程中止或者发送消息请求的进程自杀。

多个进程发现同一环路会选择同一个牺牲者。

31.说明wait-die和wound-wait分布式死锁预防方法。

事务时间戳为50的进程申请事务时间戳为100的进程占用的资源。

按以上两种策略,结果会如何?

答:

(时间戳越小的进程越是年老)wait-die死锁预防算法:

当较老的进程请求年轻进程所占有的资源时,老进程只能等待;如果年轻进程请求老进程占有的资源时,年轻进程会被终止。

Wound-wait死锁预防算法:

当老进程请求年轻进程所拥有的资源时,老进程抢占年轻进程的资源,年轻进程被终止;当年轻进程请求老进程所拥有的资源时,年轻进程等待。

32.说明发送者发起的分布式启发算法和接收者发起的分布式启发算法及各自的主要缺点。

答:

发送者发起的分布式启发算法:

当创建进程时,创建进程的机器将对一个随机选取的机器发生询问,询问它的负载是否低于某个阈值,如果是,将发送进程否则将选择另一台机子发送询问。

如果在N次询问内还没有找到合适的机器,算法停止新进程将在创建它的机器上运行。

该算法的缺点是:

在负载十分严重的情况下,所有机器都会不停的毫无意义的向其他机器发送询问,想找到一台愿意接受更多工作的机器,在这种情况下,几乎没有进程会被减轻负载,但却会引起相当可观的额外开销。

接收者发起的分布式启发算法:

当一个进程结束时,系统将检查自己是否有足够的工作可做,如果没有,将随机向一台机器申请工作,如果那台机器没有要给予的工作,系统将继续询问第二,第三台机器,如果询问N台机器都没有申请到工作,系统将暂停申请开始处理系统队列中一个等待进程,当这个进程结束后,开始下一轮的申请;如果系统无事可做,则将进入空闲状态,一定时间后从新开始申请。

给算法的缺点是:

系统在无事可做时会造成相当大的询问负载。

33.说明主机后备容错方法的主要思想,在主机崩溃后存在的问题及解决方法。

答:

主机后备容错方法的主要思想是在任何时候,服务器都由主机完成所有工作,如果主机失效,则由后备机接管工作。

在RPC过程中,主机崩溃后产生的情况如下:

1)主机在执行任务前崩溃,则没有损失,客户端会超时重发直到连上后备机,任务至执行一次;2)主机在执行任务后,向后备机发送跟新消息前崩溃,此时后备机接管,消息再次到来,任务被执行2次;3)主机在后备机执行任务后自己发送相应消息前崩溃,则任务被执行3次,一次由主机完成,一次由后备机完成,一次由后备机接管时完成。

如果请求消息带有序号,则可以减少任务执行次数。

34.多处理机系统中,fail-silent类型和Byzantine类型处理机错误各需要至少多少个处理机才能满足要求?

说明理由。

答:

fail-silent类型处理机错误是指失效的处理机只是停止运行,对接下来的输入不做反应也不产生进一步的输出,即宣布它不在工作了。

对于这样的错误,需要K

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2