20140912 第的 2 章 分布式系统的通信.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
20140912 第的 2 章 分布式系统的通信

2.5 组通信 2.5.2 设计的问题 组的成员 组管理: 使用组服务器 分布式方法管理组内成员 两个带欺骗性的问题 区分组成员自愿离开和崩溃 加入与离开一个组与发送的消息同步 2.5 组通信 2.5.2 设计的问题 组的编址 给每个组一个唯一的地址,有三种实现方法: 进程0向包括进程1,3,4的进程组发消息 0 1 2 3 4 多点传送 0 1 2 3 4 单点传送 0 1 2 3 4 内核丢弃消息 广播传送 这样做的益处是什么? 2.5 组通信 2.5.2 设计的问题 组的编址 发送者提供一个所有目的地址的显示列表 不透明;一旦组成员改变,用户进程必须更新器组成员列表。 判定编址 每条消息包含一个需要计算的判定 是一个布尔表达式,涉及到接收者的机器号、它的局部变量或其他因素。 布尔表达式为TRUE,则消息被接收。如果为FALSE,则消息被丢弃。 这样做的缺点是什么? 2.5 组通信 2.5.2 设计的问题 发送和接收原语 如何将点对点通信和组通信融于一个单独的原语集之中。 采用单向通信模型send和receive的显示调用。系统根据地址 (进程地址或者组地址)区分。 一些系统引入新的库例程 group_send group_receive 原子性 原子性:当一条消息发给一个组后,要么该组的所有成员都收到,要么均未收到。以复制服务器为例。 如何保证原子性 2.5 组通信 2.5.2 设计的问题 消息的顺序 一个例子 保证消息传递顺序 全局时间顺序和一致时间顺序 0 4 时间 到1 到0 到1 到3 到3 到4 0 1 2 3 4 0 1 2 3 4 5 例如在拳击游戏中一个玩家出拳,对手玩家倒下。 再如 A:X=X+1 B:X=X*100 2.5 组通信 2.5.2 设计的问题 组的重叠 一个例子 A B C D 1 2 4 3 组1 组2 如何保证不同组时间顺序一致? 2.5 组通信 2.5.2 设计的问题 可测量性 一个例子 G1 G3 G2 G4 局域网1 局域网4 局域网2 局域网3 多点广播 网关 如何避免信包被成倍地多点广播? 2.6 小结 分布式系统的通信 客户-服务器模式 客户向服务器发送请求,然后服务器发回应答。通信原语的设计问题有:阻塞与非阻塞、有缓冲区和无缓冲区、可靠与不可靠等等。 远程过程调用 一台机器上运行的客户进程调用在另一台机器上的某个过程。运行系统嵌入在存根的过程库中,用来收集参数、建立消息并与内核一起建立一个实际的传递位的接口。 组通信 RPC只能用于一个服务器与一个客户通信的方式。当通信涉及到多个进程时,需要组通信机制。 习题 客户-服务器模式的主要思想及优点。 客户为了发送消息给服务器,它必须知道服务器的地址。试给出服务器进程编址的几种方法,并说明如何定位进程。 对于接收消息Receive原语,为什么需要缓存, 缓存的作用是什么? 说明在C/S模式下解决消息可靠传输的三种方法? 说明RPC的主要思想及RPC调用的主要步骤。 习题 在RPC调用时,如果服务器崩溃了,有哪些解决方法? 在RPC调用时,如果客户机崩溃了,有哪些解决方法? 一个影响RPC执行时间的问题是消息的拷贝问题,试说明在那些环节需要拷贝,并说明减少拷贝次数的方法。 在组通信中,给出组编址的的三种方式。 用组通信方式时,举例说明消息顺序的重要性,并说明解决方法。 2.3 客户机-服务器模式 2.3.5 有缓冲和无缓冲原语 无缓冲原语 — 缺点 如果在客户机调用send原语之后调用receive原语,或服务器正忙于处理其它客户的请求,无法正常接收消息。 — 解决方法 丢弃消息,使客户机超时,并希望服务器在客户机传送前调用接收原语。 让接收内核在短时间内保存到来的消息。 2.3 客户机-服务器模式 2.3.5 有缓冲和无缓冲原语 有缓冲原语 对接收消息感兴趣的进程让内核为之建立一个邮箱。所有具有该地址的输入消息被放入邮箱中,调用receive时只要从邮箱中取出一条消息。 内核 C S 对应一个邮箱的地址 A 网络 2.3 客户机-服务器模式 2.3.6 可靠和非可靠原语 如何保证消息被成功发送 重新定义非可靠的send语义。系统无法保证消息成功发送,完成可靠的通信依赖于用户。 要求接收机器的内核给发送机器的内核发送一个确认消息。 客户 服务器

您可能关注的文档

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档