分散式处理器


分散式处理器

文章插图
分散式处理器【分散式处理器】分散式处理(distributed processing)和并行处理(Parallel processing)是为了提高并行处理速度採用的两种不同的体系架构 。分散式处理器则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网路连线起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统 。
基本介绍中文名:分散式处理器
外文名:Distributed processor
简称:DP
学科:计算机科学与技术
类别:计算机系统
优势:提高处理速度
基本概念分散式处理(distributed processing)和并行处理(Parallel processing)是为了提高并行处理速度採用的两种不同的体系架构 。并行处理是利用多个功能部件或多个处理机同时工作来提高系统性能或可靠性的计算机系统,这种系统至少包含指令级或指令级以上的并行 。分散式处理器则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网路连线起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统 。结构出现大量事实和有关技术资料证明,分散式多处理机系统已成为当今微型计算机套用系统的重要方面 。多处理机系统的套用和推广将为我国传统工业的改造和更新,为新兴工业领域比如民用航空领域的安全生产和运输将起到愈来愈注目的作用 。对于複杂的高性能的自动化系统,比如自动炼钢系统、自动轧钢系统、高速高精度的数控装置系统等,对于要求高速实时回响的信息处理及控制系统,比如航天航空通信系统、现代民用航空飞机机载的自动信息处理及控制系统,工业机器人系统等,往往由单个微处理器为主所组成的计算机系统不能满足整个信息及控制系统的要求 。而採用功能相对分散的多微处理器组成的计算机系统则能够很好地满足上述系统的整体要求 。系统设计者通常把整个系统功能分成若干个相对独立的分系统(或分模组),使多处理机系统中的每个处理机分别对应其分系统并承担其该分系统所预定的功能单元的信息处理任务,同时还能适当分担某些系统控制功能单元分配的任务 。整个系统运行时,各处理机分系统能够相对独立地并行地协调地进行信息的传输控制与处理 。这样就使总系统的综合实时回响能力得到改善,数据处理的吞吐量和速度得到提高,其可靠性和整体功能也得到加强 。系统中的硬体部件和软体模组紧密结合,互相支持 。虽然系统中的具体硬体部件和软体的具体模组是分散处理,分级分任务管理的,但在整体上和内在联繫上硬体部件和软体模组组成整个系统的整体 。这样既增强了系统的软硬体的可扩展性、灵活性,又增强了系统的通用性和整体性 。构成方式分散式处理系统包含硬体,控制系统,接口系统,数据,应用程式和人等六个要素 。而控制系统中包含了分散式作业系统,分散式资料库以及通信协定等 。分散式计算环境是在具有多地址空间的多计算机系统上进行计算和信息处理的软体环境 。而分散式软体系统是支持分散式处理的软体系统,它包括分散式作业系统,分散式程式设计语言及其编译系统,分散式档案系统和分散式资料库系统等 。而CORBA,COM+等是设计分散式软体系统的一些技术 。简单来说,分散式处理就是多台相连的计算机各自承担同一工作任务的不同部分,在人的控制下,同时运行,共同完成同一件工作任务 。一般信息处理系统的硬体、控制点和资料库有多种构成方式 。从硬体组成来看属于分散式系统的有两种:①系统由多个处理机组成,但是有统一的输入输出系统;②多计算机系统,有多个输入输出系统 。从控制点的设定方式来看属于分散式处理的有3种:①多个系统在子任务一级上协同操作执行某一任务;②多个相同的控制系统协同执行同一任务;③多个不同的控制系统协同执行同一任务 。从资料库来看属于分散式的有3种:①只有部分资料库在主结点中有複製本;②只有部分资料库在主结点中有目录;③资料库全部分散存放,没有主结点 。分散式处理系统必须有能力在短时间内动态地组合成面向不同服务对象的系统 。对用户来说系统是透明的,用户只需指定系统乾什幺而不必指出哪个部件可以提供这一服务 。系统各组成部分是自主的,但不是无政府状态,而是遵循某个主计画由高级作业系统进行协调工作 。在一个计算机网中有多台主机不一定都是分散式处理 。如果这样的系统不具备动态组合及任务再指派的能力,那幺它们仍然是集中式处理 。高级作业系统是分散式处理的关键 。在分散式系统中不再使用完整的信息,各个组成部分提供自己的状态信息,高级作业系统根据这些状态信息进行任务协调和资源再分配,各组成部分之间没 有层次关係而是自主的 。系统优点分散式系统与集中式系统相比较而言的优点系统倾向于分散式发展潮流的真正驱动力是经济 。25年前,计算机权威和评论家Herb Grosch指出CPU的计算能力与它的价格的平方成正比,后来成为Grosch定理 。也就是说如果你付出两倍的价钱,就能获得四倍的性能 。这一论断与当时的大型机技术非常吻合,因而使得许多机构都尽其所能购买最大的单个大型机 。随着微处理机技术的发展,Grosch定理不再适用了 。到了二十一世纪初期,人们只需花几百美元就能买到一个CPU晶片,这个晶片每秒钟执行的指令比80年代最大的大型机的处理机每秒钟所执行的指令还多 。如果你愿意付出两倍的价钱,将得到同样的CPU,但它却以更高的时钟速率运行 。因此,最节约成本的办法通常是在一个系统中使用集中在一起的大量的廉价CPU 。所以,倾向于分散式系统的主要原因是它可以潜在地得到比单个的大型集中式系统好得多的性价比 。实际上,分散式系统是通过较低廉的价格来实现相似的性能的 。与这一观点稍有不同的是,我们发现微处理机的集合不仅能产生比单个大型主机更好的性能价格比,而且还能产生单个大型主机无论如何都不能达到的绝对性能 。例如,按二十一世初期的技术,我们能够用10,000个现代CPU晶片组成一个系统,每个CPU晶片以50 MIPS(每秒百万指令)的速率运行,那幺整个系统的性能就是500,000 MIPS 。而如果单个处理机(即CPU)要达到这一性能,就必需在2×10-12 秒(2 微微秒,0.002纳秒)的时间内执行一条指令,然而没有一个现存的计算机能接近这个速度,从理论上和工程上考虑都认为能达到这一要求的计算机都是不可能存在的 。理论上,爱因斯坦的相对论指出光的传播速度最快,它能在2 微微秒内传播0.6毫米 。实际上,一个包含于边长为0.6 毫米大小的立方体内的具有上面所说的计算速度的计算机产生大量的热量就能将它自己立即熔掉 。所以,无论是要以低价格获得普通的性能还是要以较高的价格获得极高的性能,分散式系统都能够满足 。另一方面,一些作者对分散式系统和并行系统进行了区分 。他们认为分散式系统是设计用来允许众多用户一起工作的,而并行系统的唯一目标就是以最快的速度完成一个任务,就像我们的速度为500,000 MIPS的计算机那样 。我们认为,上述的区别是难以成立的,因为实际上这两个设计领域是统一的 。我们更愿意在最广泛的意义上使用“分散式系统”一词来表示任何一个有多个互连的CPU协同工作的系统 。建立分散式系统的另一原因在于一些套用本身是分散式的 。一个超级市场连锁店可能有许多分店,每个商店都需要採购当地生产的商品(可能来自本地的农场)、进行本地销售,或者要对本地的哪些蔬菜因时间太长或已经腐烂而必须扔掉作出决定 。因此,每个商店的本地计算机能明了存货清单是有意义的,而不是集中于公司总部 。毕竟,大多数查询和更新都是在本地进行的 。然而,连锁超级市场的高层管理者也会不时地想要了解他们还有多少甘蓝 。实现这一目标的一种途径就是将整个系统建设成对于应用程式来说就像一台计算机一样,但是在实现上它是分布的,像我们前面所描述的一个商店有一台机器 。这就是一个商业分散式系统 。另一种固有的分散式系统是通常被称为计算机支持下的协同工作系统(CSCW,Computer Supported Cooperative Work) 。在这个系统中,一组相互之间在物理上距离较远的人员可以一起进行工作,例如,写出同一份报告 。就计算机工业的长期发展趋势来说,人们可以很容易的想像出一个全新领域--计算机支持的协同游戏(CSCG:Computer Supported Cooperative Games) 。在这个游戏中,不在同一地方的游戏者可以实时的玩游戏 。你可以想像,在一个多维迷宫中玩电子捉迷藏,甚至是一起玩一场电子空战,每个人操纵自己的本地飞行模拟器去试着击落别的游戏者,每个游戏者的萤幕上都显示出其飞机外的情况,包括其它飞入它的视野的飞机 。同集中式系统相比较,分散式系统的另一个潜在的优势在于它的高可靠性 。通过把工作负载分散到众多的机器上,单个晶片故障最多只会使一台机器停机,而其它机器不会受任何影响 。理想条件下,某一时刻如果有5%的计算机出现故障,系统将仍能继续工作,只不过损失5%的性能 。对于关键性的套用,如核反应堆或飞机的控制系统,採用分散式系统来实现主要是考虑到它可以获得高可靠性 。最后,渐增式的增长方式也是分散式系统优于集中式系统的一个潜在的重要的原因 。通常,一个公司会买一台大型主机来完成所有的工作 。而当公司繁荣扩充、工作量就会增大,当其增大到某一程度时,这个主机就不能再胜任了 。仅有的解决办法是要幺用更大型的机器(如果有的话)代替现有的大型主机,要幺再增加一台大型主机 。这两种作法都会引起公司运转混乱 。相比较之下,如果採用分散式系统,仅给系统增加一些处理机就可能解决这个问题,而且这也允许系统在需求增长的时候逐渐进行扩充 。表1中总结了以上这些优点 。表1