分布式计算技术介绍

摘要:作为使用低成本的硬件来达到高性能计算机性能的一项技术,分布式计算技术近年来发展迅速,并且在科研、数据搜索、复杂数据计算等方面发挥了重要作用,如:中间件技术;P2P技术;移动Agent技术;网格技术;云计算;Web Service等,这里介绍这些技术和国内外应用情况。

关键词:分布式计算;云计算;并行计算;Web Service;网格计算

中***分类号:TP393.02文献标识码:A 文章编号:1009-3044(2011)22-5463-03

Introduction of Distributed Computation

DUAN Xiao-guo

(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266500, China)

Abstract: Distributed Computation system is developing quickly, we can use cheap hard ware to do some research work which only high performance computer can do before by this technology, today distributed computation system is an important technology in research, database search, complex computation and other fields. Such as: P2P, Mobile Agent, Grid Computing, Cloud Computing, Web Service. Introduce this technology and some application examples here.

Key words: distributed computation; cloud computing; parallel computing; Web Service; grid computing

1 综述

分布式计算和并行计算技术为研究开发高性能计算机另辟蹊径,使用普通的计算机通过网络连接之后,通过这两种计算技术来完成以前只有在高性能计算机上才能进行的工作,随着技术的发展和进步,分布式计算技术已经使参与分布式计算的普通计算机的“联合计算能力”超过了单台超级计算机。分布式计算技术已经有十几年的研究历史, 但现在仍然是计算机研究领域的一片热土,在不同的应用领域发展起来特点各异的分布式计算技术的分支。

1.1 分布式计算国内外研究现状[1]

现在对分布式计算技术的研究主要集中两个方面:分布式操作系统和分布式计算环境。经过近20年的研究,已经有多种分布式计算技术在各不同领域得到应用,下面是比较主流的几种技术:中间件技术、P2P技术、移动Agent技术、网格技术、Web Service技术,这些技术已经比较成熟,且得到了大家的认同,已经在其适合的领域内用于科学研究或大规模数据计算。

整体研究水平来看,国内的研究水平和国际上发达国家有明显差距,我国虽然拥有数量巨大的计算机用户和网络用户,但了解或者知道分布式计算的用户却不多,大部分人或者绝大部分用户使用计算机进行日常办公、网上查询、聊天等工作,只有部分高校和科研机构才参与分布式计算,这和西方欧美发达国家相比,我们的理论起点低,研究的深度和应用的广度都和发达国家有巨大的差距。

1.2 分布式计算国内外应用现状[1]

现在分布式计算已经应用在科研、教育、天气预报分析、数据库搜索、生物技术等诸多领域,以下是几个比较典型的例子:

SETI@home是国际上比较著名的一个分布式计算应用的项目。这个项目主要是通过使用参与分布式计算的计算机***计算程序来对射电望远镜收到的海量信号进行计算分析,目的是确定地球之外有无类人或类似地球生物的生命存在,寻找宇宙中的生命体,我们国家也有一些机构和个人参与这个科研项目。

若说SETI@home和我们的实际生活没有多大关系,那么下面这两个项目则和我们有密切的关系。Climateprediction工程是分布式计算技术在气象预测领域内的成功应用例子之一,研究者首先建立气象计算模型,全球各地巨的气象数据输入计算程序,任何参加这个项目的组织和机构或者个人,都可领到合适的计算任务,并把计算的结果返回,通过海量的计算来组建地球气象模型。

Folding@home是另一个著名的分布式计算工程,这个项目主要是研究蛋白质折叠、、聚合及由此过程引起的一些相关疾病。使用计算机来模拟蛋白质的折叠和聚合过程需要海量的计算,分布式计算可以通过利用大量的闲散计算资源,甚至是跨越国界、民族的界限,来承担这个巨大的计算任务,研究这些疾病的产生原理,为攻克和预防这些疾病做理论上的分析,目前有多个国家的科研机构和组织参与这个项目,我们中国也有人参与这个项目。

作为应用分布式计算最成功的组织之一:谷歌,他的文件管理系统被作为一个典范,许多学者对其研究,一些同行进行效仿,甚至有些人将谷歌的文件管理系统作为一门学科来研究,GFS这个原本是谷歌自有名词缩写因此也成了这个行业应用分布式计算的一个典范。

和上面的应用例子类似的分布式计算工程有很多,分布在不同的国家和地区,但这些项目大都互无联系,甚至每个项目都使用一个不同的软件,使用不同的分布式计算技术,如何整合这些互不关联的项目,更大限度地发挥参与这些工程的计算机的能力,这也是一个研究课题,美国加州大学伯克利分校已经建立了一个开放的网络计算平台,即行内皆知的BOINC(BERKELEY OPEN INFRASTRUCTURE FOR NETWORK COMPUTING),这个平台的主要功能是把不同的分布式计算项目连接起来,对参与这些项目的计算资源进行统一合理分配,从而更有效的利用这些计算资源,提高计算效率。

2 分布式计算的关键技术

2.1 关键技术一:中间件技术[2]

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

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

2.2 关键技术二:网格技术[3]

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

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

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

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

2.3 关键技术三:移动Agent技术[4]

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

***2 传统网络计算方式 ***3 移动Agent

移动Agent技术自90年代开始发展很快,因其本身就是一种适用性很强的分布式计算模式,且具有极好的鲁棒性,对网络的要求低,故这项技术是目前分布式计算技术研究的一个热点。

2.4 关键技术四:P2P技术[5]

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

2.5 关键技术五:Web service技术[6]

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

2.6 关键技术六:云计算[7]

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

3 结论

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

参考文献:

[1] 邓传***,马志民.分布式计算模型探讨[D].福建:厦门大学,2005.

[2] 奚丽倩,袁国良.浅析中间件技术的研究现状[D].上海:上海海事大学,2009.

[3] 赵东.网格计算环境中若干关键技术的研究[D].成都:电子科技大学,2003.

[4] 于涛,张继棠,雷飞鹏.Mobile Agent技术应用[D].重庆:重庆邮电大学,2007.

[5] 周文莉,吴晓非.P2P技术综述[D].北京:北京邮电大学,2006.

[6] 杨涛,刘金德.web service技术综述――一种面向服务的分布式计算模式[D].四川:电子科技大学,2004.

[7] 邓倩妮,陈全.云计算及其关键技术[D].上海:上海交通大学,2009.

注:本文中所涉及到的***表、注解、公式等内容请以PDF格式阅读原文

分布式计算技术介绍

转载请注明出处学文网 » 分布式计算技术介绍

学习

李鳝绘画作品鉴定和市场前景(下)

阅读(25)

李复堂的绘画生涯,可以分为三个艺术阶段。这三个阶段彼此有着明显的区别又有相互因果的关系。第一个阶段是他的幼年到三十岁前后。这是他在绘画艺术上面的学习古人技法的阶段,个人的面貌不明显。目前所发现最早的李复堂的作品是在康熙甲午

学习

浅析地基基础设计

阅读(35)

本文为您介绍浅析地基基础设计,内容包括垫层属于基础还是地基,围墙地基基础施工方法。摘要:改革开放三十多年以来,我国经济发展取得了长足的发展,建筑行业也如雨后春笋般迅速发展。高层建筑、地下停车场、地下商场、大型水电站、高速公路和

学习

焦虑和意义

阅读(24)

本文为您介绍焦虑和意义,内容包括焦虑的意义在线阅读,时刻活在焦虑里有什么意义。克尔凯郭尔说,焦虑是我们的“良师”,当新的可能性浮现时,焦虑就在那里。

学习

锚网支护技术实践与应用

阅读(25)

本文为您介绍锚网支护技术实践与应用,内容包括辽宁锚网支护价格,什么是锚网梁支护。【摘要】锚网支护是一种有效的矿井巷道支护方式,由于对围岩强度的强化作用,可显著提高围岩的稳定性,加之具有支护成本低、成巷速度快、劳动强度减轻、提高

学习

光子技术

阅读(33)

本文为您介绍光子技术,内容包括光子技术,光子技术是什么。1.垂直腔面发射激光器的特性分析韩力英,贾春辉,刘磊,刘立艳,张存善,赵红东,HANLi-ying,JIAChun-hui,LIULei,LIULi-yan,ZHANGCun-shan,ZHAOHong-dong

学习

霍去病墓前动物石雕的文化功能与造型特点

阅读(39)

本文为您介绍霍去病墓前动物石雕的文化功能与造型特点,内容包括霍去病墓石雕研究状况,霍去病墓动物石雕。摘要霍去病墓前动物石雕是中国现存古代成组大型石刻艺术的代表。通过对霍去病墓前的动物石雕的文化功能和其具备的艺术特点深入研

学习

消杀服务范文精选

阅读(19)

本文为您介绍消杀服务范文精选,内容包括消杀服务公司需要什么资质,消杀报告范文。消杀服务篇16月四害消杀工作计划(一)

学习

供应链协同管理

阅读(28)

本文为您介绍供应链协同管理,内容包括供应链协同管理软件,供应链协同解决方案。供应链管理从20世纪80年代开始提出以来,经过多年的发展已基本成熟。供应链管理已从企业内部扩展到了企业外部,已从企业内部信息化扩展到企业分销网络、战略合

学习

厌胜钱刍议

阅读(22)

【关键词】厌胜钱;吉祥;婚育;宗教;民俗;娱乐

学习

浅析给水工程管道弯头支墩

阅读(28)

本文为您介绍浅析给水工程管道弯头支墩,内容包括给水管道支墩在图纸上怎么看,管道弯头支墩尺寸集。关键词:管道支墩;案例;支墩设置

学习

CNKI、万方、维普数据库的特点对比及中国数据建设现状

阅读(23)

本文为您介绍CNKI、万方、维普数据库的特点对比及中国数据建设现状,内容包括cnki数据库全文下载提供哪些格式,简述如何通过cnki万方数据库检索。[摘要]跨入信息时代以来,中国的数据库研究不断取得进步和发展,从20世纪90年代以来,中国逐渐形

学习

基于PLC的过程控制

阅读(29)

本文为您介绍基于PLC的过程控制,内容包括plc过程控制系统教程,什么plc适合过程控制。[摘要]近些年来,我国的国民经济得到了快速的发展,工业自动化技术得到了快速的发展。此外,伴随自动化生产线的引入一方面提升了生产效率,另一方面确保工业

学习

锚网支护技术实践与应用

阅读(25)

本文为您介绍锚网支护技术实践与应用,内容包括辽宁锚网支护价格,什么是锚网梁支护。【摘要】锚网支护是一种有效的矿井巷道支护方式,由于对围岩强度的强化作用,可显著提高围岩的稳定性,加之具有支护成本低、成巷速度快、劳动强度减轻、提高

学习

光子技术

阅读(33)

本文为您介绍光子技术,内容包括光子技术,光子技术是什么。1.垂直腔面发射激光器的特性分析韩力英,贾春辉,刘磊,刘立艳,张存善,赵红东,HANLi-ying,JIAChun-hui,LIULei,LIULi-yan,ZHANGCun-shan,ZHAOHong-dong

学习

工程物探技术在岩土工程的应用

阅读(32)

本文为您介绍工程物探技术在岩土工程的应用,内容包括物探在岩土工程中的用途,岩土工程物探是什么意思。摘要:工程物探技术应用到我国岩土工程领域,可以借助现代技术与先进设备完成工程地质勘探工作,收集可靠、真实的工程参数,为岩土工程施工

学习

网络RTK技术

阅读(24)

本文为您介绍网络RTK技术,内容包括网络rtk技术的特点和优势,rtk网络基站。摘要:基于连续多基站观测的网络RTK技术是当前研究的热点。该文介绍了网络RTK系统的组成和虚拟参考站技术(VRS)的基本概念,论述了网络RTK较于常规RTK技术的优势,对网络

学习

浅谈深厚杂填土建筑地基工程处理技术

阅读(29)

本文为您介绍浅谈深厚杂填土建筑地基工程处理技术,内容包括地基处理需要将杂填土全部移除吗,杂填土地基承载力怎样确定。摘要:对于一般厚度较小的填土地基,地基处理方法往往较多,如换填碾压法、强夯法、挤密碎石桩法、挤密灰土桩法等。而对

学习

桩板墙施工技术浅淡

阅读(50)

本文为您介绍桩板墙施工技术浅淡,内容包括桩板墙专项施工方案,桩板墙施工动画。摘要:桩板墙作为深路堑或高路堤加固施工方法之一,在工程领域发挥着重要作用。这一结构在减小工程数量、缩短工期、降低成本、节约投资等方面有着明显的优越性

学习

桥梁空心板铰缝破坏成因分析及加固修复技术

阅读(22)

本文为您介绍桥梁空心板铰缝破坏成因分析及加固修复技术,内容包括桥梁预制空心板裂缝修补方法,桥梁空心板铰缝施工。摘要:根据对工程实践中经常出现的装配式空心板铰缝出现破坏的问题,本文从设计、施工和运营阶段分析了病害形成的机制和原

学习

海拔高度与大气压关系的回归计算

阅读(23)

本文为您介绍海拔高度与大气压关系的回归计算,内容包括海拔高度和气温的计算公式,大气压强与海拔的关系公式。摘要:在一些特殊工作中,需要根据海拔高度计算大气压的数值。本文根据全国主要城市的海拔高度与大气压数值,回归计算出了比较准确