分布式系统简介

上传人:ji****72 文档编号:37619617 上传时间:2018-04-20 格式:DOC 页数:21 大小:306KB
返回 下载 相关 举报
分布式系统简介_第1页
第1页 / 共21页
分布式系统简介_第2页
第2页 / 共21页
分布式系统简介_第3页
第3页 / 共21页
分布式系统简介_第4页
第4页 / 共21页
分布式系统简介_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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

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

2、器具有较大主机(即,大型机)的计算能力,但价格却只是它的几分之一。在过去的半个世纪里计算机技术取得了惊人的进步,这在其它工业中是前所未有的。从每台机器价格高达 1000 万美元,每秒执行一条指令,发展到目前售价 1000 美元而每秒执行1000 万条指令,其性能价格比提高了 1011倍。如果在同一时期内汽车工业也能以这样的速度发展,那么现在一部劳斯莱斯牌汽车(Rolls Royce)将会只需要花 10 美元就可买到,而每加仑汽油就能行驶 10 亿英里(不幸的是,那时可能会有一本 200 页的手册告诉你该如何打开车门) 。第二个进步是高速计算机网络的出现。局域网 LAN 使得同一建筑内的数十甚至

3、上百台计算机连接起来,使少量的信息能够在大约 1 毫秒左右的时间里在计算机间传送。更大量的数据则以(107108 )比特/秒(bit/s)或更大的速率传送。广域网 WAN 使得全球范围内的数百万台计算机连接起来,传输速率从 64Kbps(每秒千位比特)到用于一些先进的实验型网络中的每秒千兆比特(gigabits) 。这些技术的结果使得把由大量 CPU 组成的计算系统通过高速网络连接在一起不仅成为可能,而且变得十分容易。相对于以前包括单个 CPU、存储器、外设和一些终端在内的集中式系统(又叫单处理机系统 single processor system) ,它们通常被称为分布式系统(distrib

4、uted systems)。现在仅存在一个比较棘手的问题,那就是软件。分布式系统需要与集中式系统完全不同的软件。特别是系统所需要的操作系统只是刚刚出现。虽然分布式系统已经向前迈出了最初的几步,但仍有很长的一段路要走。对于分布式操作系统,我们对它的一些基本思想的介绍到这里已经足够了。接下来,本书将致力于研究分布式操作系统的概念、实现和几个实例。1.1 什么是分布式系统?什么是分布式系统?分布式系统有很多不同的定义,但其中没有一个是令人满意或者能够被所有人接受的。介绍分布式系统,对它的特点的下列大致的描述足够了:“一个分布式系统是一些独立的计算机的集合,但是对这个系统的用户来说,系统就象一台计算机

5、一样。 ”这个定义有两个方面的含义:第一,从硬件角度来讲,各个计算机都是自治的;第二,从软件角度来讲,用户将整个系统看作是一台计算机。这两者都是必需的,缺一不可。在简要介绍有关硬件、软件的一些背景材料之后,我们将再回到这两点上来进行讨论。由于给出分布式系统的一些实例可能要比进一步的深入研究定义更有帮助,下面就给出一些分布式系统的例子。第一个例子,设想一个大学或公司部门内的工作站网络。除了每个用户的个人工作站外,机房中可能还有一个共享的处理机池(pool of processor),这些处理机并没有分配给特定的用户,而是在需要的时候进行动态分配。这样的系统可能会有一个单一的文件系统,其中所有的文

6、件可以从所有的计算机上以相同的方式并且使用相同的路径名81fa18190b4bb8f2067d99510a9a2232.pdf 共 22 页 2存取。另外,当一个用户输入一条命令时,系统能够找到一个最好的地方执行该命令。这可能是在用户自己的工作站上,可能是在别人空闲的工作站上,也可能在机房里一个未分配的处理机上。如果这个从系统整体上看以及运行起来看都像一个典型的单处理机分时系统,那么就可以称它为一个分布式系统。第二个例子,考虑一个到处是机器人的工厂。每个机器人都有一台功能强大的计算机用于处理视觉、进行计划、通信以及其它任务。当装配线上的某个机器人发现一个它要安装的零件有缺陷时,它就要求该零件供

7、应部门的另一个机器人给它送一个替代品。如果所有的机器人都如同连接于同一中心计算机上的外设一样工作,而且系统的程序也是以这种方式进行编制的话,那么它也是一种分布式系统。最后一个例子是一个在世界各地有数百个分支机构的大银行。每个分支机构有一台主计算机存储当地帐目和处理本地事务。此外,每台计算机还能与其他分支机构的计算机及总部的计算机对话。如果交易不管顾客和帐目在哪里都能够进行,而且用户也不会感到当前这个系统与被替代的老的集中式主机有何不同,那么这个系统也被认为是一个分布式系统。1.2 目标目标我们已经能够建立一个分布式系统,但这并不意味着建立一个分布式系统一定是一个好主意。就像以目前的技术水平,我

8、们可以在一台计算机中装入四个软盘驱动器,而问题在于这样做并没有什么意义一样。本节中,我们将讨论典型分布式系统的动机和目的,分析它与传统的集中式系统相比较所具有的优点和缺点。1.2.1 分布式系统与集中式系统相比较而言的优点分布式系统与集中式系统相比较而言的优点系统倾向于分布式发展潮流的真正驱动力是经济。25 年前,计算机权威和评论家 Herb Grosch 指出 CPU 的计算能力与它的价格的平方成正比,后来成为 Grosch 定理。也就是说如果你付出两倍的价钱,就能获得四倍的性能。这一论断与当时的大型机技术非常吻合,因而使得许多机构都尽其所能购买最大的单个大型机。随着微处理机技术的发展,Gr

9、osch 定理不再适用了。现在人们只需花几百美元就能买到一个 CPU 芯片,这个芯片每秒钟执行的指令比 80 年代最大的大型机的处理机每秒钟所执行的指令还多。如果你愿意付出两倍的价钱,将得到同样的 CPU,但它却以更高的时钟速率运行。因此,最节约成本的办法通常是在一个系统中使用集中在一起的大量的廉价CPU。所以,倾向于分布式系统的主要原因是它可以潜在地得到比单个的大型集中式系统好得多的性能价格比。实际上,分布式系统是通过较低廉的价格来实现相似的性能的。与这一观点稍有不同的是,我们发现微处理机的集合不仅能产生比单个大型主机更好的性能价格比,而且还能产生单个大型主机无论如何都不能达到的绝对性能。例

10、如,按目前的技术,我们能够用 10,000 个现代 CPU 芯片组成一个系统,每个 CPU 芯片以 50 MIPS(每秒百万指令)的速率运行,那么整个系统的性能就是 500,000 MIPS。而如果单个处理机(即 CPU)要达到这一性能,就必需在 210-12 秒(2 微微秒,0.002 纳秒)的时间内执行一条指令,然而没有一个现存的计算机能接近这个速度,从理论上和工程上考虑都认为能达到这一要求的计算机都是不可能存在的。理论上,爱因斯坦的相对论指出光的传播速度最快,它能在 2 微微秒内传播 0.6 毫米。实际上,一个包含于边长为 0.6 毫米大小的立方体内的具有上面所说的计算速度的计算机产生大

11、量的热量就能将它自己立即熔掉。所以,无论是要以低价格获得普通的性能还是要以较高的价格获得极高的性能,分布式系统都能够满足。另一方面,一些作者对分布式系统和并行系统进行了区分。他们认为分布式系统是设计用来允许众多用户一起工作的,而并行系统的唯一目标就是以最快的速度完成一个任务,就像我们的速度为 500,000 MIPS 的计算机那样。我们认为,上述的区别是难以成立的,因为实际上这两个设计领域是统一的。我们更愿意在最广泛的意义上使用“分布式系统”一词81fa18190b4bb8f2067d99510a9a2232.pdf 共 22 页 3来表示任何一个有多个互连的 CPU 协同工作的系统。建立分布

12、式系统的另一原因在于一些应用本身是分布式的。一个超级市场连锁店可能有许多分店,每个商店都需要采购当地生产的商品(可能来自本地的农场) 、进行本地销售,或者要对本地的哪些蔬菜因时间太长或已经腐烂而必须扔掉作出决定。因此,每个商店的本地计算机能明了存货清单是有意义的,而不是集中于公司总部。毕竟,大多数查询和更新都是在本地进行的。然而,连锁超级市场的高层管理者也会不时地想要了解他们目前还有多少甘蓝。实现这一目标的一种途径就是将整个系统建设成对于应用程序来说就像一台计算机一样,但是在实现上它是分布的,像我们前面所描述的一个商店有一台机器。这就是一个商业分布式系统。另一种固有的分布式系统是通常被称为计算

13、机支持下的协同工作系统(CSCW,Computer Supported Cooperative Work) 。在这个系统中,一组相互之间在物理上距离较远的人员可以一起进行工作,例如,写出同一份报告。就计算机工业的长期发展趋势来说,人们可以很容易的想像出一个全新领域计算机支持的协同游戏(CSCG:Computer Supported Cooperative Games) 。在这个游戏中,不在同一地方的游戏者可以实时的玩游戏。你可以想像,在一个多维迷宫中玩电子捉迷藏,甚至是一起玩一场电子空战,每个人操纵自己的本地飞行模拟器去试着击落别的游戏者,每个游戏者的屏幕上都显示出其飞机外的情况,包括其它飞入

14、它的视野的飞机。同集中式系统相比较,分布式系统的另一个潜在的优势在于它的高可靠性。通过把工作负载分散到众多的机器上,单个芯片故障最多只会使一台机器停机,而其它机器不会受任何影响。理想条件下,某一时刻如果有 5%的计算机出现故障,系统将仍能继续工作,只不过损失 5%的性能。对于关键性的应用,如核反应堆或飞机的控制系统,采用分布式系统来实现主要是考虑到它可以获得高可靠性。最后,渐增式的增长方式也是分布式系统优于集中式系统的一个潜在的重要的原因。通常,一个公司会买一台大型主机来完成所有的工作。而当公司繁荣扩充、工作量就会增大,当其增大到某一程度时,这个主机就不能再胜任了。仅有的解决办法是要么用更大型

15、的机器(如果有的话)代替现有的大型主机,要么再增加一台大型主机。这两种作法都会引起公司运转混乱。相比较之下,如果采用分布式系统,仅给系统增加一些处理机就可能解决这个问题,而且这也允许系统在需求增长的时候逐渐进行扩充。图 1-1 中总结了以上这些优点。项目描 述经济 微处理机提供了比大型主机更好的性能价格比速度分布式系统总的计算能力比单个大型主机更强固有的分布性一些应用涉及到空间上分散的机器可靠性如果一个机器崩溃,整个系统还可以运转渐增计算能力可以逐渐有所增加图 1-1. 分布式系统相对于集中式系统的优点从长远的角度来看,主要的驱动力将是大量个人计算机的存在和人们共同工作与信息共享的需要,这种信

16、息共享必需是以一种方便的形式进行的,而不受地理或人员、数据,机器的物理分布的影响。1.2.2 分布式系统与独立分布式系统与独立 PC 机相比较的优点机相比较的优点既然使用微处理机是一种节省开支的办法,那么为什么不给每个人一台个人计算机,让81fa18190b4bb8f2067d99510a9a2232.pdf 共 22 页 4他们各自独立地工作呢?一则,许多用户需要共享数据。例如,机票预订处的工作人员需要访问存储航班以及现有座位信息的主数据库。假如给每个工作人员都备份整个数据库,那么在实际中这是无法工作的,因为没有人知道其他工作人员已经卖出了哪些座位。共享的数据是上例和许多其它应用的基础,所以计算机间必须互连。而计算机互连就产生了分布式系统。共享并不只是仅仅涉及数据。昂贵的外设,例如彩色激光打印机,照相排版机以及大型存储设备(如自动光盘点唱机)都是共享资源。把一组孤立的计算机连成一个分布式系统的第三个原因是它可以增强人与人之间的沟通,电子邮件比信件、电话和传真有更多的诱人之处。它比信件快的多,不像电话需要两人同时都在,也不像传真,它所产生的文件可在计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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