分布式系统概述ppt课件.ppt
第第1 1章章 分布式系统概述分布式系统概述 分布式系统定义分布式系统定义 分布式系统目标分布式系统目标 分布式系统硬件概念分布式系统硬件概念 分布式系统软件概念分布式系统软件概念 设计中的问题设计中的问题1.1 分布式系统定义分布式系统定义v 分布式系统的产生分布式系统的产生 功能更强的微处理器的开发功能更强的微处理器的开发 高速计算机网络的出现高速计算机网络的出现 将由大量计算机组成的系统通过高速网络连接起来,形成了分将由大量计算机组成的系统通过高速网络连接起来,形成了分布式系统。布式系统。v 分布式系统的定义分布式系统的定义 “一个分布式系统是一些独立的计算机的集合,但是对这个系一个分布式系统是一些独立的计算机的集合,但是对这个系统的用户来说,系统就像一台计算机一样。统的用户来说,系统就像一台计算机一样。” 从硬件角度:每台计算机都是自主的。从硬件角度:每台计算机都是自主的。 从软件角度:对用户来说就像与单个系统打交道。从软件角度:对用户来说就像与单个系统打交道。1.2 分布式系统目标分布式系统目标1.2.1 分布式系统相对于集中式系统的优点分布式系统相对于集中式系统的优点 项目项目 描描 述述 经济性经济性 微处理机提供了比大型主机更好的性能价格比微处理机提供了比大型主机更好的性能价格比 速度速度 分布式系统中的计算能力比单个大型主机更强分布式系统中的计算能力比单个大型主机更强 固有的分布性固有的分布性 一些应用涉及到空间上分散的机器一些应用涉及到空间上分散的机器 可靠性可靠性 如果一个机器崩溃,整个系统还可以运转如果一个机器崩溃,整个系统还可以运转 渐增式的增长方式渐增式的增长方式 计算能力可以逐渐有所增加计算能力可以逐渐有所增加1.2 分布式系统目标分布式系统目标1.2.2 分布式系统相对于独立分布式系统相对于独立PC机的优点机的优点 项项 目目 描描 述述数据共享数据共享 允许多个用户访问一个公共的数据库允许多个用户访问一个公共的数据库设备共享设备共享 允许多个用户共享昂贵的外围设备(如彩色打印机)允许多个用户共享昂贵的外围设备(如彩色打印机)通信通信 使得人们之间的通信更加容易,如通过电子邮件使得人们之间的通信更加容易,如通过电子邮件灵活性灵活性 用最有效的方式将工作负荷分配到可用的机器上用最有效的方式将工作负荷分配到可用的机器上1.2 分布式系统目标分布式系统目标1.2.3 分布式系统的缺点分布式系统的缺点 项项 目目 描描 述述软件软件 目前为分布式系统开发的软件还很少目前为分布式系统开发的软件还很少网络网络 网络可能饱和和引起其他的问题网络可能饱和和引起其他的问题安全安全 容易造成对保密数据的访问容易造成对保密数据的访问1.3 硬件概念硬件概念 分布式系统硬件分布式系统硬件计算机系统按指令流和数据流分类计算机系统按指令流和数据流分类 SISD (Single Instruction stream , Single Data stream ) 单处理机系统。单处理机系统。 SIMD (Single Instruction stream , Multiple Data stream) 并行计算机。并行计算机。 MISD ( Multiple Instruction stream , Single Data stream) 已知的计算机没有属于这一类的。已知的计算机没有属于这一类的。 MIMD (Multiple Instruction stream , Multiple Data stream) 所有的分布式系统都是所有的分布式系统都是MIMD型。型。1.3 硬件概念硬件概念 分布式系统硬件分布式系统硬件 v MIMD计算机分成两类:具有共享存储器的多处理机和不具有计算机分成两类:具有共享存储器的多处理机和不具有共享存储器的多计算机。共享存储器的多计算机。 在多处理机中,所有的在多处理机中,所有的CPUCPU共享统一的共享统一的虚拟地址空间。在多计算机中,每个计算机有它自己的存储器。虚拟地址空间。在多计算机中,每个计算机有它自己的存储器。v 多处理机和多计算机又可根据互联网的体系结果分为总线型和多处理机和多计算机又可根据互联网的体系结果分为总线型和交换型。交换型。总线型:只通过单个网络、底板、总线、电缆或其他介质将总线型:只通过单个网络、底板、总线、电缆或其他介质将所有计算机连接起来。如有线电视。所有计算机连接起来。如有线电视。交换型:机器和机器之间有独立的线路。如世界范围内的公交换型:机器和机器之间有独立的线路。如世界范围内的公共电话系统。共电话系统。1.3 硬件概念硬件概念 分布式系统硬件分布式系统硬件 v 紧耦合和松耦合系统紧耦合和松耦合系统紧耦合型:一台计算机向另一台计算机发送信息的时延很短、紧耦合型:一台计算机向另一台计算机发送信息的时延很短、数据传输速率很高;多用于并行系统(共同处理一个问题)数据传输速率很高;多用于并行系统(共同处理一个问题)松耦合型:机器间信息传送延迟大,数据传输速率也低。多松耦合型:机器间信息传送延迟大,数据传输速率也低。多用于分布式系统(处理一些不相关的问题)用于分布式系统(处理一些不相关的问题)1.3 硬件概念硬件概念 分布式系统硬件分布式系统硬件并行及分布式计算机系统分类并行及分布式计算机系统分类 并行分布式并行分布式计算机计算机多处理机多处理机(共享存储器)(共享存储器)多计算机多计算机(私有存储器)(私有存储器)总线型总线型总线型总线型交换型交换型交换型交换型MIMD松耦合松耦合紧耦合紧耦合Sequent Encore超级计算机超级计算机RP3LAN工作站工作站 超立方体超立方体Transputer1.3 硬件概念硬件概念1.3.1 基于总线的多处理机基于总线的多处理机 基于总线的多处理机由若干个基于总线的多处理机由若干个CPU组成,它们都连接到一个公组成,它们都连接到一个公共的总线上,并且共享一个存储器模块。共的总线上,并且共享一个存储器模块。 为了避免总线过载,需要高速缓存,但带来了不一致问题。连为了避免总线过载,需要高速缓存,但带来了不一致问题。连接的接的CPU数量有限。数量有限。CacheCPUBusCacheCPUCacheCPUMemory1.3 硬件概念硬件概念1.3.2 交换型多处理机交换型多处理机将存储器分成许多存储器模块,用十字交叉开关将它们与将存储器分成许多存储器模块,用十字交叉开关将它们与CPU相连。相连。MMMMCCCC优点:多个优点:多个CPU能够同时能够同时访问存储器。访问存储器。缺点:缺点:n个个CPU和和n个存个存储器模块,需要储器模块,需要n2个交叉个交叉开关。开关。1.3 硬件概念硬件概念1.3.2 交换型多处理机交换型多处理机vOmega网络网络v结论结论 需要的交叉开关数量多,需要解决交换延迟,价格昂贵。需要的交叉开关数量多,需要解决交换延迟,价格昂贵。建立一个大的、紧密偶合的、共享存储器的多处理机系统是困建立一个大的、紧密偶合的、共享存储器的多处理机系统是困难的难的 。CCCCMMMM2x2 开关开关1.3 硬件概念硬件概念1.3.3 基于总线的多计算机基于总线的多计算机v每个每个CPU都与它自身的存储器直接相连。都与它自身的存储器直接相连。v由于仅是由于仅是CPU和和CPU之间的通信,通信量比当互连网络用于之间的通信,通信量比当互连网络用于CPU和存储器之间的通信量低几个数量级。和存储器之间的通信量低几个数量级。CPU Local memory网络网络CPU Local memoryCPU Local memory图图1-4 局域网上由多台工作站组成的计算机系统局域网上由多台工作站组成的计算机系统工作站工作站工作站工作站工作站工作站1.3 硬件概念硬件概念1.3.4 交换型多计算机交换型多计算机v 两种流行的拓扑结构:网格和超立方体两种流行的拓扑结构:网格和超立方体1.4 软件概念软件概念1.4.1 网络操作系统网络操作系统v 按耦合程度分为两种不同的操作系统:松耦合系统和紧耦合系按耦合程度分为两种不同的操作系统:松耦合系统和紧耦合系统。统。v 运行在松耦合硬件上的松耦合软件运行在松耦合硬件上的松耦合软件 远程登陆远程登陆 目录服务目录服务 文件服务文件服务客户客户局域网局域网请求请求响应响应磁盘上存储有共享磁盘上存储有共享的文件系统的文件系统文件服务器文件服务器图图 1-6 在网络操作系统环境下的两个客户和一个服务器在网络操作系统环境下的两个客户和一个服务器1.4 软件概念软件概念1.4.2 真正的分布式系统真正的分布式系统v 松耦合硬件上的紧耦合软件,根本思想是:用户不必意识到松耦合硬件上的紧耦合软件,根本思想是:用户不必意识到系统中有多个系统中有多个CPU存在。存在。v 分布式系统的特点分布式系统的特点 必须有一个单一的、全局的进程间通信机制必须有一个单一的、全局的进程间通信机制 进程管理必须处处相同进程管理必须处处相同 文件系统相同文件系统相同 使用相同的系统调用接口使用相同的系统调用接口 1.4 软件概念软件概念1.4.3 多处理机分时系统多处理机分时系统v运行在紧耦合硬件上的紧耦合软件运行在紧耦合硬件上的紧耦合软件。 关键特点:存在一个唯一的运行队列关键特点:存在一个唯一的运行队列 文件系统有明显不同文件系统有明显不同Cache过程过程A在运行在运行总线总线CacheCache操作系统操作系统过程过程B在运行在运行过程过程C在运行在运行运行队运行队D,EA (运行运行)B (运行运行)C (运行运行)D (就绪就绪)E (就绪就绪)磁盘磁盘CPU 1CPU 2CPU 3图图1-8 具有一个运行队列的多处理机系统具有一个运行队列的多处理机系统1.4 软件概念软件概念v 三种操作系统比较三种操作系统比较 项项 目目网络操作网络操作系统系统分布式操分布式操作系统作系统多处理机操多处理机操作系统作系统看起来是否像一个虚拟的单处理机系统?看起来是否像一个虚拟的单处理机系统?否否是是是是所有的机器只运行相同的操作系统?所有的机器只运行相同的操作系统?否否是是是是有多少操作系统的拷贝?有多少操作系统的拷贝?nn1怎样通信?怎样通信?共享文件共享文件消息消息共享存储器共享存储器需要共同一致的网络协议?需要共同一致的网络协议?是是是是否否是否只有一个运行队列?是否只有一个运行队列?否否否否是是文件共享是否有良好的语义定义?文件共享是否有良好的语义定义?通常没有通常没有是是是是1.5 设计中的问题设计中的问题1.5.1 透明性透明性v透明度可分两个级别透明度可分两个级别 对用户隐藏系统的分布性对用户隐藏系统的分布性 对程序透明对程序透明种种 类类含义含义位置透明位置透明用户不知道资源位于何处用户不知道资源位于何处迁移透明迁移透明资源可以不改名地随意移动资源可以不改名地随意移动复制透明复制透明用户不知道有多少个拷贝存在用户不知道有多少个拷贝存在并发透明并发透明多个用户可以自动的共享资源多个用户可以自动的共享资源并行透明并行透明系统活动可以在用户没有感觉的情况下并行发生系统活动可以在用户没有感觉的情况下并行发生1.5 设计中的问题设计中的问题1.5.2 灵活性灵活性v两种学术观点两种学术观点 单内核单内核 每台机器都运行一个传统的内核,内核自身提供了大多数每台机器都运行一个传统的内核,内核自身提供了大多数的服务。单内核:集中式操作系统的服务。单内核:集中式操作系统+网络服务和远程服务。单网络服务和远程服务。单内核系统唯一潜在的优点是性能。内核系统唯一潜在的优点是性能。 用户用户单内核单内核包括文件、目录和过程包括文件、目录和过程管理管理1.5 设计中的问题设计中的问题1.5.2 灵活性灵活性v两种学术观点两种学术观点 微内核微内核 内核尽可能少的提供服务,大量的操作系统服务可从用户内核尽可能少的提供服务,大量的操作系统服务可从用户级服务器上获得。级服务器上获得。 微内核具有更好的灵活性。微内核具有更好的灵活性。 只提供四种最小的服务:只提供四种最小的服务:1.1.进程间通信机制进程间通信机制 2.2.某些内存某些内存管理功能管理功能 3.3.少量的低层进程管理和调度少量的低层进程管理和调度 4. 低层输入低层输入/输出服输出服务。务。用户用户微内核微内核文件服务文件服务微内核微内核目录服务目录服务微内核微内核处理服务处理服务微内核微内核网络网络1.5 设计中的问题设计中的问题1.5.3 可靠性可靠性v可靠性的三个方面可靠性的三个方面 高可用性高可用性 安全性安全性: : 必须保护文件和其他资源不被非法用户使用。必须保护文件和其他资源不被非法用户使用。 容错容错1.5 设计中的问题设计中的问题1.5.4 性能性能v不同的性能衡量标准:不同的性能衡量标准: 响应时间响应时间 吞吐量(每小时完成的工作量)吞吐量(每小时完成的工作量) 系统利用率系统利用率 网络容量消耗程度网络容量消耗程度1.5 设计中的问题设计中的问题1.5.5 可伸缩性可伸缩性v可伸缩性的三个方面:可伸缩性的三个方面: 适应系统规模变化的能力适应系统规模变化的能力 集中式或分布式算法集中式或分布式算法 数据集中或分布数据集中或分布1.6 小结小结v 分布式系统特点分布式系统特点优点:好的性能优点:好的性能/价格比、同分布式应用的匹配能力强、潜在的高可靠性价格比、同分布式应用的匹配能力强、潜在的高可靠性和负载增加时的可扩展性。和负载增加时的可扩展性。缺点:软件较复杂、潜在的通信瓶颈和脆弱的安全性。缺点:软件较复杂、潜在的通信瓶颈和脆弱的安全性。v 现代计算机系统现代计算机系统计算机系统可被组织成多处理机或多计算机。这两种类型都可以是基于计算机系统可被组织成多处理机或多计算机。这两种类型都可以是基于总线或基于交换的。前者趋于紧耦合,后者趋于松耦合。总线或基于交换的。前者趋于紧耦合,后者趋于松耦合。多多CPU系统的软件分为三类:网络操作系统系统的软件分为三类:网络操作系统 、分布式操作系统和共享存、分布式操作系统和共享存储器的多处理机。储器的多处理机。v 分布式系统的设计分布式系统的设计透明性、灵活性、可靠性、性能和可伸缩性。透明性、灵活性、可靠性、性能和可伸缩性。