分布式系统简介

上传人:ni****g 文档编号:487256639 上传时间:2023-05-11 格式:DOCX 页数:21 大小:199.61KB
返回 下载 相关 举报
分布式系统简介_第1页
第1页 / 共21页
分布式系统简介_第2页
第2页 / 共21页
分布式系统简介_第3页
第3页 / 共21页
分布式系统简介_第4页
第4页 / 共21页
分布式系统简介_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《分布式系统简介》由会员分享,可在线阅读,更多相关《分布式系统简介(21页珍藏版)》请在金锄头文库上搜索。

1、第一章 分布式系统概述计算机系统正在经历着一场革命。从1945 年现代计算机时代开始到1985 年前后,计算 机是庞大而又昂贵的。即使是微型机,通常也每台价值数万美元。因此,大多数机构只有少 数的几台计算机,同时,由于缺乏一种把它们连接起来的方法,所以这些计算机只能相互独 立地运行。但是,从20世纪 80年代中期开始,技术上的两大进步开始改变这种状况。首先是功能 更强的微处理机的开发,开始出现了 8位的机型,随后不久16位,32位,甚至64位的CPU 也开始普及。其中许多机器具有较大主机(即,大型机)的计算能力,但价格却只是它的几 分之一。在过去的半个世纪里计算机技术取得了惊人的进步,这在其它

2、工业中是前所未有的。从 每台机器价格高达1000 万美元,每秒执行一条指令,发展到目前售价1 000美元而每秒执行 1000 万条指令,其性能价格比提高了 1011倍。如果在同一时期内汽车工业也能以这样的速度 发展,那么现在一部劳斯莱斯牌汽车(Rolls Royce)将会只需要花10美元就可买到,而每加 仑汽油就能行驶10亿英里(不幸的是,那时可能会有一本200页的手册告诉你该如何打开车 门)。第二个进步是高速计算机网络的出现。局域网LAN使得同一建筑内的数十甚至上百台 计算机连接起来,使少量的信息能够在大约1 毫秒左右的时间里在计算机间传送。更大量的 数据则以(107108 )比特/秒(bi

3、t/s)或更大的速率传送。广域网WAN使得全球范围内的 数百万台计算机连接起来,传输速率从64Kbps(每秒千位比特)到用于一些先进的实验型网络 中的每秒千兆比特(gigabits)。这些技术的结果使得把由大量CPU组成的计算系统通过高速网络连接在一起不仅成为 可能,而且变得十分容易。相对于以前包括单个CPU、存储器、外设和一些终端在内的集中 式系统(又叫单处理机系统single processor system),它们通常被称为分布式系统(distributed systems)。现在仅存在一个比较棘手的问题,那就是软件。分布式系统需要与集中式系统完全不同 的软件。特别是系统所需要的操作系统

4、只是刚刚出现。虽然分布式系统已经向前迈出了最初 的几步,但仍有很长的一段路要走。对于分布式操作系统,我们对它的一些基本思想的介绍 到这里已经足够了。接下来,本书将致力于研究分布式操作系统的概念、实现和几个实例。 1.1什么是分布式系统?分布式系统有很多不同的定义,但其中没有一个是令人满意或者能够被所有人接受的。介绍分布式系统,对它的特点的下列大致的描述足够了:“一个分布式系统是一些独立的计算机的集合,但是对这个系统的用户来说,系统就象 一台计算机一样。”这个定义有两个方面的含义:第一,从硬件角度来讲,各个计算机都是自治的;第二, 从软件角度来讲,用户将整个系统看作是一台计算机。这两者都是必需的

5、,缺一不可。在简 要介绍有关硬件、软件的一些背景材料之后,我们将再回到这两点上来进行讨论。由于给出分布式系统的一些实例可能要比进一步的深入研究定义更有帮助,下面就给出 一些分布式系统的例子。第一个例子,设想一个大学或公司部门内的工作站网络。除了每个 用户的个人工作站外,机房中可能还有一个共享的处理机池(pool of processor),这些处理机 并没有分配给特定的用户,而是在需要的时候进行动态分配。这样的系统可能会有一个单一 的文件系统,其中所有的文件可以从所有的计算机上以相同的方式并且使用相同的路径名存 取。另外,当一个用户输入一条命令时,系统能够找到一个最好的地方执行该命令。这可能

6、是在用户自己的工作站上,可能是在别人空闲的工作站上,也可能在机房里一个未分配的处 理机上。如果这个从系统整体上看以及运行起来看都像一个典型的单处理机分时系统,那么 就可以称它为一个分布式系统。第二个例子,考虑一个到处是机器人的工厂。每个机器人都有一台功能强大的计算机用 于处理视觉、进行计划、通信以及其它任务。当装配线上的某个机器人发现一个它要安装的 零件有缺陷时,它就要求该零件供应部门的另一个机器人给它送一个替代品。如果所有的机 器人都如同连接于同一中心计算机上的外设一样工作,而且系统的程序也是以这种方式进行 编制的话,那么它也是一种分布式系统。最后一个例子是一个在世界各地有数百个分支机构的大

7、银行。每个分支机构有一台主计 算机存储当地帐目和处理本地事务。此外,每台计算机还能与其他分支机构的计算机及总部 的计算机对话。如果交易不管顾客和帐目在哪里都能够进行,而且用户也不会感到当前这个 系统与被替代的老的集中式主机有何不同,那么这个系统也被认为是一个分布式系统。 1.2 目标我们已经能够建立一个分布式系统,但这并不意味着建立一个分布式系统一定是一个好 主意。就像以目前的技术水平,我们可以在一台计算机中装入四个软盘驱动器,而问题在于 这样做并没有什么意义一样。本节中,我们将讨论典型分布式系统的动机和目的,分析它与 传统的集中式系统相比较所具有的优点和缺点。1.2.1 分布式系统与集中式系

8、统相比较而言的优点系统倾向于分布式发展潮流的真正驱动力是经济。25 年前,计算机权威和评论家 Herb Grosch指出CPU的计算能力与它的价格的平方成正比,后来成为Grosch定理。也就是说如 果你付出两倍的价钱,就能获得四倍的性能。这一论断与当时的大型机技术非常吻合,因而 使得许多机构都尽其所能购买最大的单个大型机。随着微处理机技术的发展, Grosch 定理不再适用了。现在人们只需花几百美元就能买 到一个CPU芯片,这个芯片每秒钟执行的指令比80年代最大的大型机的处理机每秒钟所执 行的指令还多。如果你愿意付出两倍的价钱,将得到同样的CPU,但它却以更高的时钟速率 运行。因此,最节约成本

9、的办法通常是在一个系统中使用集中在一起的大量的廉价CPU。所 以,倾向于分布式系统的主要原因是它可以潜在地得到比单个的大型集中式系统好得多的性 能价格比。实际上,分布式系统是通过较低廉的价格来实现相似的性能的。与这一观点稍有不同的是,我们发现微处理机的集合不仅能产生比单个大型主机更好的 性能价格比,而且还能产生单个大型主机无论如何都不能达到的绝对性能。例如,按目前的 技术,我们能够用10,000个现代CPU芯片组成一个系统,每个CPU芯片以50 MIPS (每秒 百万指令)的速率运行,那么整个系统的性能就是500,000 MIPS。而如果单个处理机(即CPU) 要达到这一性能,就必需在2X10

10、-12秒(2微微秒,0.002纳秒)的时间内执行一条指令, 然而没有一个现存的计算机能接近这个速度,从理论上和工程上考虑都认为能达到这一要求 的计算机都是不可能存在的。理论上,爱因斯坦的相对论指出光的传播速度最快,它能在2 微 微秒内传播0.6毫米。实际上,一个包含于边长为0.6 毫米大小的立方体内的具有上面所说 的计算速度的计算机产生大量的热量就能将它自己立即熔掉。所以,无论是要以低价格获得 普通的性能还是要以较高的价格获得极高的性能,分布式系统都能够满足。另一方面,一些作者对分布式系统和并行系统进行了区分。他们认为分布式系统是设计 用来允许众多用户一起工作的,而并行系统的唯一目标就是以最快

11、的速度完成一个任务,就 像我们的速度为500,000 MIPS的计算机那样。我们认为,上述的区别是难以成立的,因为实 际上这两个设计领域是统一的。我们更愿意在最广泛的意义上使用“分布式系统”一词来表 示任何一个有多个互连的CPU协同工作的系统。建立分布式系统的另一原因在于一些应用本身是分布式的。一个超级市场连锁店可能有 许多分店,每个商店都需要采购当地生产的商品(可能来自本地的农场)、进行本地销售,或 者要对本地的哪些蔬菜因时间太长或已经腐烂而必须扔掉作出决定。因此,每个商店的本地 计算机能明了存货清单是有意义的,而不是集中于公司总部。毕竟,大多数查询和更新都是 在本地进行的。然而,连锁超级市

12、场的高层管理者也会不时地想要了解他们目前还有多少甘 蓝。实现这一目标的一种途径就是将整个系统建设成对于应用程序来说就像一台计算机一样, 但是在实现上它是分布的,像我们前面所描述的一个商店有一台机器。这就是一个商业分布 式系统。另一种固有的分布式系统是通常被称为计算机支持下的协同工作系统(CSCW, Computer Supported Cooperative Work)。在这个系统中,一组相互之间在物理上距离较远的人员可以一 起进行工作,例如,写出同一份报告。就计算机工业的长期发展趋势来说,人们可以很容易 的想像出一个全新领域 计算机支持的协同游戏(CSCG: Computer Support

13、ed Cooperative Games)o在这个游戏中,不在同一地方的游戏者可以实时的玩游戏。你可以想像,在一个多 维迷宫中玩电子捉迷藏,甚至是一起玩一场电子空战,每个人操纵自己的本地飞行模拟器去 试着击落别的游戏者,每个游戏者的屏幕上都显示出其飞机外的情况,包括其它飞入它的视 野的飞机。同集中式系统相比较,分布式系统的另一个潜在的优势在于它的高可靠性。通过把工作 负载分散到众多的机器上,单个芯片故障最多只会使一台机器停机,而其它机器不会受任何 影响。理想条件下,某一时刻如果有 5%的计算机出现故障,系统将仍能继续工作,只不过 损失 5%的性能。对于关键性的应用,如核反应堆或飞机的控制系统,

14、采用分布式系统来实 现主要是考虑到它可以获得高可靠性。最后,渐增式的增长方式也是分布式系统优于集中式系统的一个潜在的重要的原因。通 常,一个公司会买一台大型主机来完成所有的工作。而当公司繁荣扩充、工作量就会增大, 当其增大到某一程度时,这个主机就不能再胜任了。仅有的解决办法是要么用更大型的机器 (如果有的话)代替现有的大型主机,要么再增加一台大型主机。这两种作法都会引起公司 运转混乱。相比较之下,如果采用分布式系统,仅给系统增加一些处理机就可能解决这个问 题,而且这也允许系统在需求增长的时候逐渐进行扩充。图1-1 中总结了以上这些优点。项目描述经济微处理机提供了比大型主机更好的性能价格比速度分

15、布式系统总的计算能力比单个大型主机更强固有的分布性一些应用涉及到空间上分散的机器可靠性如果一个机器崩溃,整个系统还可以运转渐增计算能力可以逐渐有所增加图 1-1. 分布式系统相对于集中式系统的优点从长远的角度来看,主要的驱动力将是大量个人计算机的存在和人们共同工作与信息共 享的需要,这种信息共享必需是以一种方便的形式进行的,而不受地理或人员、数据,机器 的物理分布的影响。1.2.2分布式系统与独立PC机相比较的优点既然使用微处理机是一种节省开支的办法,那么为什么不给每个人一台个人计算机,让 他们各自独立地工作呢?一则,许多用户需要共享数据。例如,机票预订处的工作人员需要 访问存储航班以及现有座

16、位信息的主数据库。假如给每个工作人员都备份整个数据库,那么 在实际中这是无法工作的,因为没有人知道其他工作人员已经卖出了哪些座位。共享的数据 是上例和许多其它应用的基础,所以计算机间必须互连。而计算机互连就产生了分布式系统。共享并不只是仅仅涉及数据。昂贵的外设,例如彩色激光打印机,照相排版机以及大型 存储设备(如自动光盘点唱机)都是共享资源。把一组孤立的计算机连成一个分布式系统的第三个原因是它可以增强人与人之间的沟 通,电子邮件比信件、电话和传真有更多的诱人之处。它比信件快的多,不像电话需要两人 同时都在,也不像传真,它所产生的文件可在计算机中进行编辑、重排和存储,也可以由文 本处理程序来处理。最后,分布式系统可能比给每个用户一个独立的计算机更灵活。尽管一种可能的模式是 给每个人一台个人计算机并把它们通过 LAN 联在一起,但这种方式并不是唯一的。另外还 存在一种模式是将个人计算机和共享计算机混合连接在一起(这些

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号