当前位置:文档之家› 分布式系统 复习2015

分布式系统 复习2015


10. 有三个进程分别运行在不同的机器上,每个机器都有自己的时钟并以不同且不变的速 率工作(进程 1 的时钟嘀嗒了 6 下时,进程 2 的时钟嘀嗒了 8 下,而进程 3 的时钟嘀 嗒了 10 下)。举例说明进程之间消息传递中违反先发生关系的情况,并说明如何用 Lamport 方法解决。
11. How Web Services work? 1 客户发现服务器 2 客户通过建立 TCP 连接来绑定服务 器 3 客户建立 SOAP 请求 4 SOAP 路由器路由请求给合适的服务 器 5 服务器把请求解包,然后处理, 并返回结果 6 结果通过相反的路径返 回到客户端
而三种类型的资源对机器的绑定是未连接资源、附着连接资源和紧固连接资源。 15. 中间件是一种应用程序,它在逻辑上位于应用层中,但在其中包含有多种通用协议,这
些协议代表各自所在的层,独立于其他更加特别的应用。 16. 在 RPC 操作中,客户存根的功能是将得到的参数打包成消息,然后将消息发送给服务
器存根。 17. 虚拟化可采用两种方法,一是构建一个运行时系统,提供一套抽象指令集来执行程序。
4. 集群计算系统一个突出的特征是它的同构性;它提供了最大限度的分布式透明性。可用 于单个程序在多台计算机上并行地运行。
5. TCP/IP 体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报 协议(UDP)。
6. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。 7. 在逻辑时钟算法中,Lamport 定义了一个称作“先发生”的关系,表达式 ab 表示 a
CPU 所必需的最少量信息。 12. 有两种实现线程 包的基本方法:一是可以构造一个完全在用户模式下执行的线程;二
是由内核来掌管线程并进行调度。 13. 在代码迁移的框架结构中,进程包含三个段,它们是代码段、资源段和执行段三个段。 14. 进程对资源的绑定有三种类型:一是按标识符绑定;二是按值绑定;三是按类型绑定。
3)以数据为中心的体系结构,其发展思想:进程通信需要通过一个公用(被动或主动的) 仓库。可以分成两个关键的部分:展现当前状态的中央数据结构和一个对数据进行操作的独 立组件的集合 4)基于事件的体系结构,进程基本上是通过事件的抟播来通信的,事件传播还可以有选择 地携带数据。基本思想是:进程发布事件,然后,中间件将确保那些订阅了这些事件的进程 才接收它们,优点是进程是松散耦合的。
9. 实 现 分 布 式 系 统 同 步 的复 杂 性 表 现 在 哪 几 个 方面 ? 说 明 先 发 生 关 系 ,并 说 明 在 LAMPORT 算法中怎样给事件分配时间。
答:分布式算法有如下性质:1)相关信息分散在多台机器上;2)进程决策仅依赖于本地信息;3)系 统中单点故障应避免;4)没有公用时钟和其他精确的全局时间资源存在。前三点说明在一处收集所有 信息并对他们进程处理是不可接受的,左后一点说明在分布式系统获得时间上的一致并不是容易的。 LAMPORT 算法的解决方案是直接使用先发生关系,每条消息都携带发送者的时钟以指出其发送的时间, 当消息到达时,接受者的时钟比消息发送者时钟小,就立即将自己的时钟调到比发送者的时间大 1 或更 多的值,我们给出一种测量时间的方法,使得对每一事件 a,在所有进程中都认可给它一个时间值 C(a), 在给事件分配时间时要遵循一下规则:1)在同一进程中 a 发生在 b 之前则 C(a)<C(b);2)若 a 和 b 分 别代表发送消息和接收消息,则 C(a)<C(b);3)对所有事件 a 和 b,C(a)≠C(b)
互。 22. 分布式系统中,有三种不同的命名系统,它分别是无层次命名;结构化命名和基于属性
的命名。 23. 在无层次命名中,通常有广播和多播、转发指针、基于宿主位置、分布式散列表、分层
结构等方法实现实体定位。
24. 基于属性的命名系统实现的方式有两种。一种是分层实现,使得目录项集合形成了分层
的目录信息树。而另一种是非集中式实现,它是采用映射到分布式散列表的方式。
二是提供虚拟机监视器。 18. 在面向消息的通信中,通常分为面向消息的瞬时通信和持久通信两种机制。 19. 在面向消息的瞬时通信中,通常采用套接字接口和消息传递接口。 20. 在面向持久的通信中,消息队列系统为持久异步通信提供多种支持。它提供消息的中介
存储能力。 21. 在消息队列系统中,队列由队列管理器来管理,它与发送或接收消息的应用程序直接交
7. 简述分布式系统设计所面临的问题及遇到的挑战。 1):难以合理设计分配策略,在集中式系统中,所有的资源都由系统系统管理和分配,但在 分布式系统中,资源属于局部工作站或个人计算机,所以调度的灵活性不如集中式系统,资 源的物理分布可能与服务器的分布不匹配,某些资源可能空闲,而另外一些资源可能超载。
2):部分失效问题:由于分布式系统通常是由若干部分组成的,各个部分由于各种各样的原 因可能发生故障,如硬件故障。如果一个分布式系统不对这些故障对这些问题进行有效的处 理,系统某个组成部分的故障可能导致整个系统的瘫痪。 3)性能和可靠性过分依赖于网络:由于分布式系统是建立在网络之上的,而网络本身是不 可靠的,可能经常发生故障,网络故障可能导致整个系统的终止;另外,网络超负荷会导致 性能下降,增加系统的响应时间。 4)缺乏统一控制:一个分布式系统的控制通常是一个典型的分散式控制,没有统一的中心 控制。因此,分布式系统通常需要相应的同步机制来协调系统中各个部分的工作; 5)安全保密性问题:为了获得可扩展性,分布式系统中的许多软件接口都提供给用户,这 样的开放结构对于开发人员非常有价值,担同时也为破坏者打开了方便之门 挑战:设计与实现一个对用户来说是透明的且具有容错能力的分布式系统。 挑战:1. Heterogeneity 异构性,包括网络、硬件、操作系统、编程语言、Implementation 组件,<中间件的作用就是隐藏这些异构,并提供一致的计算模式(模块)>,<虚拟机,编 译器成虚拟机使用的 code>;2. Openness 开放性:提供 Services, Syntax, Semantics, 合适的接口定义需要兼顾完整性和中立性,同时互操作性和便携性也是重要的,分布式系统 需要 flexible,即易于配置且把策略和结构分开来获得 flexible;3. Security 安全性: 安全性包括有效性,机密性,完整性三个要素,拒绝服务攻击和移动代码安全是两个安全方 面的挑战。4. Scalability 可扩展性(可测性),即在资源和用户增加的时候保持效率, size、geographically、administratively 的 scaleble。要求分散(分布式)算法,没有 机器有系统状态的完整信息,机器做决定仅仅是取决于本地信息,一个机器的错误不会毁掉 整个算法,没有统一时序。5. Failure Handling 错误处理。6. Concurrency 协力, 一致(并发?) 7. Transparency 透明度 8. 对于接收消息 Receive 原语,为什么需要缓存, 缓存的作用是什么?
25. 向量时钟能捕获因果关系。创建向量时钟是让每个进程 Pi 维护一个向量 VCi 来完成。
26. 互斥集中式算法的优点是易于实现、很公平、保证了顺序一致性。而缺点是协作者是单
个故障点,如果它崩溃了,整个系统可能瘫痪。
27. 分布式互斥算法的优点是不会发生死锁与饿死现象,也不存在单个故障点。
28. 服务器集群在逻辑上由三层组成,第一层是逻辑交换机;第二层是应用/计算服务;第
4)解码(读取)返回值或返回的异常; 5)将值返回给调用程序。
4. 试举例说明没有统一时钟的分布式系统会发生什么问题?
解答:当每台机器有它自己的时钟时,一个发生于另一事件之后的事件可能会 被标记为一个比另一个事件更早的时间。例:
5. 什么是 RPC?试简述 RPC 的执行步骤。 答:RPC 是 remote procedure call(远程过程调用)的简称。RPC 思想是使远程的过程调 用就像在本地的过程一样,调用者不应该意识到此调用的过程是在其他机器上实行的。 RPC 的执行步骤: (1) 客户过程以普通方式调用相应的客户存根; (2) 客户存根建立消息,打包并激活内核陷阱; (3) 内核将消息发送到远程内核; (4) 远程内核将消息发送到服务器存根; (5) 服务器存根将消息解包,取出其中参数后调用服务器过程; (6) 服务器完成工作或将结果返回服务器存根; (7) 服务器存根将它打包并激活内核陷阱; (8) 远程内核将消息发送至客户内核; (9) 客户内核将消息交给客户存根; (10) 客户存根将消息解包,从中取出结果返回给客户;
答:如果不适用缓存,服务器接收来的消息会被丢弃或者存在诸如服务器需要存储和管理早到来的消息 这样的问题。缓存的作用就是用来统一管理消息的:它定义了一种叫邮箱的数据结构,接收客户端请求 的进程通知内核创建邮箱存储消息,并且指定了访问地址。当 Receive 原语调用是,系统内核就会提取 消息并知道如何处理它。
都在提供相关的云服务。但归纳起来,当前云提供者可以分为三大类,即 SaaS 提供商、

提供商。 PaaS、IaaS
Байду номын сангаас
二、非填空题
1. 要使用 Lamport 时间戳实现全序多播,是不是每个消息都必须要被严格地确认? 答:不需要,任何类型的消息,只要它的时间戳大于所接收到的消息的时间戳,就可以被加 入消息队列,使用 Lamport 时间戳实现全序多播。 2. 简要描绘全局唯一标识符的一个有效实现 答:这些标识符可以在以下方式中可以局部产生:将产生标识符的机器所在的网络地址,附 加上当地时间,沿用一个伪随机数.虽然,在理论上,另一台机器也很有可能产生相同的数字, 这种机会微乎其微。 3. 简述远程方法调用(Remote Method Invocation,RMI)的基本通信原理。 答::远程方法调用(RMI)的基本通信原理:
客户端与服务器端内在通过套接字通信 服务器端 1、创建远程服务对象 2、接收请求、执行并返回结果(Skeleton)
相关主题