分布式计算

分布式计算

分布式计算优点和特点

资源共享:可共享系统中的硬件、软件和数据等信息资源。

分布式透明处理平台: 展现给用户的是一个统一的整体系统;

高性价比:分布式系统具有较高的性能价格比。

应用分布性:多数应用本身就是分布式的,如ATM应用。

高可靠性:现代分布式系统具有高度容错机制。

可扩展性:添加几台PC等可提高系统的性能。

高度灵活性:能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。

分布式计算工作原理

分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。

随着计算机的普及,越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。

互联网的出现, 使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。

一个非常复杂的问题往往很适合于划分为大量的更小的计算片断的问题。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。

关键技术一:中间件技术

中间件技术是比较早期的分布式计算技术,所谓的中间件技术,就和字面上的意思一样,是一个联络不同技术和操作系统的纽带,通过这个软件,分布式应用软件可以在使用不同的操作系统和技术的计算机之间进行计算资源共享,IBM和SUNMicrosystems以及AT&T贝尔实验室都对中间件技术的研究和发展做出重要贡献,贝尔实验室于1984年发布的Tuxedo应该算是早期比较成熟的中间件技术产品,这个负责屏蔽不同操作系统、编程语言、通讯协议的中间件就负责计算资源的管理和分配以及网络通信。经过十几年的发展,多种技术开始融合,中间件技术又发展出不同层次和类型的多个产品,例如:自适应中间件、移动中间件、对象中间件、消息中间件、数据库中间件,远程过程调用中间件等等。

中间件技术是分布式计算技术中的一种基础技术,其他一些分布式计算技术和中间件技术结合以优化分布式计算技术,例如:网格计算。

关键技术二:网格技术

网格计算是目前最重要的分布式计算技术之一,它通过网络系统将分布在不同地点或区域的计算机资源(包括各种硬件和软件以及信息数据等)连接成一个巨大的异构计算机,虽然这些计算资源分布在各自不同的计算机上,这些计算机可能有不同的操作系统、不同的技术协议,但是通过网格技术组建的这个系统却可以象一台计算机一样对这些资源进行管理和利用,从而完成一些计算规模巨大的复杂运算和数据处理任务。从另一个意义上说,这种计算资源的统一管理和共享,不仅仅为提供复杂就算提供支持,还可以在很大的区域范围内,打破企业、组织和国家界限,避免重复资源投资和浪费,充分利用自己的计算资源,因此网格计算在分布式计算技术中占有十分重要的地位。

网格有多种体系结构,其中Foster等提出的五层沙漏结构(图1)为比较典型的一种体系结构,自下向上分别是构造层、连接层、资源层、汇聚层和应用层;还有一种典型的结构体系:开放网格服务结构OGSA(OpenGrid Services Architecture),这个结构是结合Web Service技术的网格体系,OGSA是以服务为中心的“服务结构”,定义了“网格服务”的概念,网格服务是一种Web Service,该服务提供了一组接口。

网格系统大致都可以划分为三个层次的基本结构:底层(构造层)主要是分布在各个计算机上的资源,也称资源层,硬件和软件、信息数据等;中间层,主要负责屏蔽底层资源的异构性,是上面提到的中间件技术;应用层,这是我们的工作平台,通过应用层来组织协调和合理利用底层的资源来完成分布式工作任务。

网格资源层构成网格系统的硬件基础,它包括各种计算资源,如超级计算机、贵重仪器、可视化设备、现有应用软件等,这些计算资源通过网络设备连接起来。网格资源层仅仅实现了计算资源在物理上的连通,但从逻辑上看,这些资源仍然是孤立的,资源共享问题仍然没有得到解决。因此,必须在网格资源层的基础上通过网格中间件层来完成广域计算资源的有效共享。

网格中间件层是指一系列工具和协议软件,其功能是屏蔽网格资源层中计算资源的分布、异构特性,向网格应用层提供透明、一致的使用接口。网格中间件层也称为网格操作系统(GridOperating System),它同时需要提供用户编程接口和相应的环境,以支持网格应用的开发。

网格应用层是用户需求的具体体现。在网格操作系统的支持下,网格用户可以使用其提供的工具或环境开发各种应用系统。能否在网格系统上开发应用系统以解决各种大型计算问题是衡量网格系统优劣的关键。

网格(GRID)归诸于一个下部基础构造,它使得高端计算、网络、数据库和私有科学工具的集成和协作使用成为可能,并且,能够被多个组织所管理。网格应用通常包含大量的数据或计算,经常需要组织间的安全的资源共享。因此,它们不易被今天的Internet和WEB基础构造所处理。

关键技术三:移动Agent技术

移动Agent是一种可以在构成分布式计算系统的各节点移动的软件Agent,软件Agent应该是人工智能技术发展起来的一个产物,人工智能的研究主要解决知识表达、机器学习、推理等类似人的智能的算法问题,而软件Agent就具有类人的智能,可以自主管理,能对环境做出响应,甚至主动行动,进行推理计算来完成任务。我们一般把软件Agent看做是在一台机器上运行的一个程序,而移动Agent则是可以自主在网络上构成分布式计算系统的各节点之间进行移动的一个程序。这个程序带着自己的任务找到可以完成这个任务的节点(这个节点有完成这个任务所需要的数据、硬件、软件等资源),通过网络移动到这个节点,在此暂时定居,利用这个节点的资源进行计算,计算结束后,这个Agent携带计算结果通过网络自主移动到下一个需要达到的节点,这种模式可以减少网络拥堵,在一个节点盘踞期间,甚至可以断开网络连接也不会影响其正常工作,只要在它完成任务需要移动时恢复网络连接即可。这种移动类似密封采蜜,一朵花上的资源用完之后飞到另外一朵花上,满载之后(完成任务)飞回蜂窝,卸载蜂蜜,进行第二次行动。这和传统的数据调用方式要好得多,一来可以减少大量数据在网络上传输,对带宽的要求就低了;二来可以减少大量数据传递带来的数据错误,提高计算的效率和鲁棒性;图2和图3分别是传统网络计算和移动Agent的示意图。移动Agent技术自90年代开始发展很快,因其本身就是一种适用性很强的分布式计算模式,且具有极好的鲁棒性,对网络的要求低,故这项技术是目前分布式计算技术研究的一个热点。

关键技术四:P2P技术

P2P(Peer-to-Peer)对等网络应该是资格比较老的一项技术,例如TCP/IP协议,并没有对客户机和服务器做区分,所谓的对等就是地位相同,在网络中的节点处于同样的地位,没有客户端和服务器的区分,这些地位相等的节点可以互相进行资源利用和数据共享,不需要通过服务器来转接和通信,这样可以减少对服务器的依赖,也就降低了对服务器的性能要求(软件、硬件要求)。当然,纯粹的对等网也有其弊端,为了解决这些问题,一些分支和混合技术发展起来,例如为了解决P2P搜索速度慢的问题,在对等网中仍然设置服务器,但是服务器只提供搜索索引,各节点可以快速在服务器上查到要搜索的资源目录和地址,然后直接去目标地址完成资源交互。为了解决热点资源网路堵塞的问题,数据传输方式由点对点方式发展为多点对多点传输,该项技术已经在现在的网络上广泛应用。点对点传输只能在在源节点和目标节点之间传送数据,若一个节点的资源对应多个目标节点,其传送效率就低了,多点传送解决这个问题,将数据源分割成多个数据包,这些数据包可以不依照顺序给各目标节点发送,同时收到数据包的目标节点可以作为其他目标节点的源节点,给其他未收到该数据包的节点传送数据,使用这种技术,下载源数据的节点越多,实际传送的效率就越快,但是若不能将全部数据包都收齐,这些数据包将无法连接起来,也就无法使用,点对点传输则不存在这个问题。

关键技术五:Web service技术

并行计算和分布式计算的优点就是发挥“集体的力量”,将大任务分解成小任务,分配给多个计算节点同时去计算,起初的并行计算可以在一台计算机上执行,也可以提高运行效率,现在的分布式计算已经将计算扩展到多台计算机,甚至是多个网络,在网络上有序执行一个共同的任务,当然离不开Web技术,但在分布式计算发展起来之前的网络协议并不能满足分布式计算的要求,于是产生了Web service技术,简单地说,这种技术的功能和中间件的功能有相似之处:Web service技术是屏蔽掉不同开发平台开发的功能模块的相互调用的障碍,从而可以利用 HTTP SOAP 协议使商业数据在 Web 上传输可以调用这些开发平台不同的功能模块来完成计算任务。这样看来,要在互联网上实施大规模的分布式计算,就需要Web service做支撑,因此很多人认为这项技术是分布式系统继续研究和开发的理想模型。

关键技术六:云计算

云计算也是分布式计算技术的一种,其最基本的概念,是将巨大的计算处理程序分拆成无数个小的子程序,再将这些小程序分配给庞大的计算机网络系统经搜寻、计算分析之后将处理结果回传给用户。所谓的“云”,最初来自“电子云”的概念,这种子程序的分解是数量巨大,或者可以想象成将水滴分解到蒸气一样的微小颗粒,也就是“云”状态,如此多的任务,分配给同样多的计算节点去计算,每个节点的任务很小,计算也很快,但如何管理这如云一样的庞大网络,就大有文章。使用这项技术,服务提供者可以在短时间内(数秒或者几分钟),达成处理数数量巨大的信息,达到和“超级计算机”同样强大效能的网络服务。最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息。进一步的云计算不仅只做资料搜寻、分析的功能,更可计算一些像是分析DNA结构、基因图谱定序、解析癌症细胞等。稍早之前的大规模分布式计算技术即为“云计算”的概念起源。

结论

  分布式计算作为一项快速发展的计算机技术,因有低运营成本高计算性能的优势,且目前我国有丰富的闲置计算资源,其发展前景十分乐观,关于对该项技术的研究,我国明显落后于发达国家,已经成为计算机大国,存在严重的资源浪费和闲置,现在分布式计算技术只是在一些高校、科研机构内作为研究和应用的对象,分布式计算技术虽然发展迅速,但各项技术大都存在一些问题,例如:数据安全问题、网络异构问题等等,还有巨大的研究和发展潜力。

 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值