分布式复习大纲第一章

第一章 概论(2学时)

内容:分布计算的定义与挑战,分布计算系统的互联,分布式操作系统,计算机网络与中间件,分布式计算的模式。
要求:掌握分布计算系统的定义,理解分布计算系统的内涵与分布式计算的常用模式,了解分布计算的相关概念。

分布式计算的定义

分布式计算系统是由多个相互连接的计算机组成的一个整体,这些计算机在一组系统软件(分布式操作系统或中间件)环境下,合作执行一个共同的或不同的任务,最少依赖于集中的控制过程、数据和硬件。
实质:分布式计算系统=分布式硬件+分布式控制+分布式数据。

分布式计算的挑战

  • 控制物理资源成本:当要求增加资源时,系统将扩展,但应以合理的成本实现这种扩展。一般来说,物理资源数与用户数是按比例增长。
  • 控制性能损失:随着用户数目的增加,如果物理资源没有得到合理的增加,则相对的现有物理资源的性能将会有所损失。
  • 防止资源耗尽:一个典型的资源耗尽的例子就是IPv4.
  • 避免性能瓶颈:以域名服务作为例子,最初的域名的名字是保持在一个著文件中,当一台计算机需要域名服务时,它下载这个主文件。在网络计算机很少的时它能很好地完成工作,但是,当网络计算机数量急剧增多时,它就成了系统的瓶颈。

分布式计算系统的互连

  • 共享存储器多处理系统:该系统中所有CPU直接访问共享的存储器。它可分为基于总线的多处理机和基于交换的多处理机。
  1. 基于总线的多处理机:基于总线的多处理机是用一条高速总线将多台CPU和一个共享存储模块连接在一起。如果CPU A将一个字写入存储器,稍后CPU B读取该字时,得到的内容是A刚写入的内容。具有这种性质的存储器称为连贯的(Coherence)。这种结构的缺点是处理机数量不能太多,如果超过5个CPU,总线就会不堪重负,效率急剧下降。解决的办法就是在CPU和总线之间加装一个高速缓冲存储器(Cache Mermory)。当缓存的容量足够大时,从缓存中获得所需字的命中率就会很高。
    在这里插入图片描述

    当然,这样也会带来问题,就是如果CPU A和CPU B将同一个字读入缓存,A改变了该字,而后B从缓存中读取了该字的旧值,而不是A改写了的新值,这就是高速缓存的非连贯性(No-coherence) 问题,在分布式计算系统中,为了提高系统性能,客户端常常采用高速缓存,就会带来非连贯性问题,即非一致性问题。

  • 基于交换的多处理机系统:尽管基于总线的多处理机系统采用了高速缓存,挂接的CPU数量还是有限。譬如说,CPU在256个以上,互连机制就要采用交叉开关或Omega交换网等高速互连机制,如下图所示。这时需要将存储器分成多个模块,形成二维布局。如果CPU和存储器模块都是n个,最好情况是形成n个并行通路,n个CPU可同时访问各自的存储模块。
    在这里插入图片描述
    左图的优点是速度快,但开关数目用得多,是n*n个。
    右图的优点是开关数目少,但信号传送级数增多,延时加大。

    上述基于总线或者基于交换的多处理机称为一致性存储访问结构UMA(Uniform Memory Access),因为所有处理及访问存储器的时间是相等的。如果每个处理及都有私有存储器而这些私有存储器又声称可被其他处理机共享,则成为全局存储器。这种多处理机系统称为非一致性存储访问结构NUMA(Non-Uniform Memory Access Architecture)。因为在这种结构中,访问本节点存储器的时间远少于访问远程节点存储器的时间。
    在UMA结构中,如果所有处理机都能执行操作系统和I/O操作,称为对称多处理机系统;只有特定的处理机执行操作系统和I/O操作,则称为非对称多处理机系统
    UMA和NUMA多处理机都可以接入Internet,作为分布式计算系统的一个节点使用。

  • 同构多计算机系统
    在这里插入图片描述
  • 异构多计算机系统
    在这里插入图片描述

分布式操作系统

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

计算机网络与中间件

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件

功能:命名服务 作业调度 高级通信服务 资源管理 数据持久化 分布式事务
分布式文档系统 安全服务

地位:中间件的一个重要目标是对应用程序隐藏底层平台的异构型,因此中间件系统都提供一组完整度不同的服务集。这些服务是通过中间件系统提供的接口来调用的。一般禁止跳过中间件层直接调用底层操作系统的服务。

在这里插入图片描述

分布式计算模式

在这里插入图片描述

分布计算的相关概念

具体可见分布式系统的特征

分布式系统的具体特征

  • 并发:在一个计算机网络中,执行并发程序是常见的行为。
  • 缺乏全局时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。密切的协作通常取决于对程序动作发生的时间的共识。但是,事实证明,网络上的计算机与时钟同步所达到的准确性是有限的,即没有一个正确时间的全局概念。
  • 故障独立性:所有的计算机系统都可能会出现故障,一般由系统设计者负责为可能的故障设计结果。分布式系统可能会以新的方式出现故障。网络故障导致网上互联的计算机的隔离,但这并不意味着它们停止运行,事实上,计算机上的程序不能检测到网络是出现故障还是网络运行得比通常慢。类似的,计算机的故障或系统中程序得异常终止(崩溃),并不能让与它通信的其他组件了解。系统的每个组件会单独地出现故障,而其他组件还在运行。

异构性

互联网使得用户能在大量异构计算机和网络上访问服务和运行应用程序。 下面这些均存在异构性(即存在多样性和差别)

  • 网络
  • 计算机硬件
  • 操作系统
  • 编程语言
  • 由不同开发者完成的软件实现

开放性

计算机系统的开放性是决定系统能否以不同的方式被扩展和重新实现的特征。分布式系统的开放性主要取决于新的资源共享服务能被增加和供多种客户程序使用的程度。

开放的分布式系统的特征总结如下

  • 发布系统的关键接口是开放系统的特征
  • 开放的分布式系统是基于一致的通信机制和发布接口访问共享资源的。
  • 开放的分布式系统能用不同销售商提供的异构硬件和软件构造,但如果想让系统正确工作,就要仔细测试和验证每个组件与发布的标准之间的一致性。

安全性

分布式系统中维护和使用的众多信息资源对用户具有很高的内在价值,因此它们的安全相当重要。信息资源的安全性包括三个部分:机密性(防止泄露给未授权的个人)、完整性(防止被改变或被破坏)、可用性(防止对访问资源的手段的干扰)

可伸缩性

分布式系统可在不同的规模(从小型企业内部网到互联网)下有效且高效地运转。如果资源数量和用户数量激增,系统仍能保持其有效性,那么该系统就被称为可伸缩性。

故障处理

处理故障的技术:

  • 检测故障
  • 掩盖故障
  • 容错
  • 故障恢复
  • 冗余

并发性

在分布式系统中,服务和应用均提供可被客户共享的资源。因此,可能有几个客户同时试图访问一个共享资源的情况。

透明性

透明性被定义成对用户和应用程序员屏蔽分布式系统的组件的分离性,使系统被认为是一个整体,而不是独立组件的集合。

服务质量

可靠性和安全性问题再设计大多是计算机系统时时关键的。服务质量的性能源于及时性和计算吞吐量,但它已被重新定义成满足及时性保证的能力。

猜你喜欢

转载自blog.csdn.net/idler123/article/details/121219766
今日推荐