欢迎访问
科技社会 >> 科普知识 >> 分布式计算技术——网格

分布式计算技术——网格

张四保 马小成

  第一代互联网利用TCP/IP协议把分布在世界各地的计算机连接起来;第二代互联网利用Web计算把成千上万个网站上的网页联系起来;第三代互联网是信息服务网格(information service grid),其主要特点是把计算机、网页和各种信息资源连成一个整体,整个网络如同一台巨大无比的计算机,向每个用户提供一体化的服务。

   网格作为一种建立在互联网之上的新一代基础设施,在国内外的学术界和工业界都引起了广泛关注。

   网格的定义与体系结构

   术语网格源于学术界的学派描述共享联网的所有资源,以共同地解决超级计算任务。有关“网格”的最早出处,据说源于专业术语电力供应网“power grid”。“Power grid”的原意是电力供应商根据用户的需要供应电力,消费者只需支付自己所用的那部分电费,而不需要在意所用的电源来自哪个电厂。一般认为,有关网格的实质性研究始于1995年。当时美国阿贡(Argonne)国家实验室的福斯特(I.Foster)博士和南加州大学信息科学研究所的凯塞尔曼(C. Kesselman)博士共同领导了美国政府支持的高性能分布式计算项目Globus。在此项目中,为了标记现代科学和工程方面的分布式计算基础结构,首次使用了具有实际内涵的“网格”,提出了一种前所未有的网格理念并实施了相关研究与发展。“网格之父”福斯特对网格有个经典的定义:网格是一个集成的计算资源环境,或者说是一个计算资源池。

   网格是利用互联网把地理上广泛分布的各种资源(包括计算资源、存储资源、带宽资源、软件资源、数据资源、信息资源、知识资源等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等),虚拟组织最终实现在这个虚拟环境下进行资源共享和协同工作,彻底消除资源“孤岛”,最充分地实现信息共享。网格必须同时满足三个条件:在非集中控制的环境中协同使用资源;使用标准的、开放的和通用的协议和接口;提供非平凡的服务。遍布全球的计算机蕴藏着巨大的计算能力,可以形成任何单台计算机无法比拟的虚拟超级计算机。

   网格具有以下四点优势。

   1)资源共享,消除资源孤岛:网格能够提供资源共享,它能消除信息孤岛、实现应用程序的互连互通。网格与计算机网络不同,计算机网络实现的是一种硬件的连通,而网格能实现应用层面的连通。

   2)协同工作:网格第二个特点是协同工作,很多网格结点可以共同处理一个项目。

  3)通用开放标准,非集中控制,非平凡服务质量:这是福斯特最近提出的网格检验标准。网格是基于国际的开放技术标准,这跟以前很多行业、部门或公司推出的软件产品不一样。

   4)动态功能,高度可扩展性:网格可以提供动态的服务,能够适应变化。同时网格并非限制性的,它实现了高度的可扩展性。

   目前,比较重要的网格体系结构有两种:五层沙漏斗结构和开放网格服务结构(open grid services architecureOGSA)。五层沙漏斗结构简单,主要以“协议”为中心思想,侧重于定性的描述,易于在科学计算中应用。OGSA主要以Globus软件包和web service两大技术作为支撑,是以“服务”为中心的服务框架。由于OGSA性能良好,是公认的下一代网格结构。

  OGSA架构主要有四层:物理和逻辑资源层、Web服务层、基于OGSA架构的网格服务层、网格应用程序层。

  

 

 

   说到“网格”,当然不能不提到虚拟组织。网格所指的实际和专门的问题,在动态的、多机构的虚拟组织中可调整的资源共享和问题求解。它所关心的共享是直接访问计算机、软件、数据和其他资源,如在工业、科学和工程中出现的协作性问题求解和资源代理中所需要的资源,而不限于某种特定的资源。关于共享的规则是:(1)由资源提供者和消费者高度可控;(2)资源提供者和消费者明确、详细地定义什么被共享,允许谁被共享以及共享出现的条件。虚拟组织是指由这两个规则所定义的一组个体与/或机构。虚拟组织的活动是跨实际组织的资源共享与协作求解。

   虚拟组织的关键特征大致表现在以下几个方面。

   虚拟组织具有较大的适应性,在内部组织结构、规章制度等方面具有灵捷性。虚拟组织是一个以机会为基础的各种核心能力的统一体,这些核心能力分散在许多实际组织中,它被用来使各种类型的组织部分或全部结合起来以抓住机会。当机会消失后,虚拟组织就解散。所以,虚拟组织可能存在几个月或几十年。

   虚拟组织共享各成员的核心能力。虚拟组织是通过整合各成员的资源、技术、顾客市场机会而形成的。它的价值就在于能够整合各成员的核心能力和资源,从而降低时间、费用和风险。如波音777型客机开发小组的某些成员具有互补性核心能力,某些成员具有协同操作能力,而另一些成员能提供进入非波音公司市场的途径。

   虚拟组织中的成员必须以相互信任的方式行动。合作是虚拟组织存在的基础,但由于虚拟组织突破了以内部组织制度为基础的传统管理方法,各成员又保持着自己原有的风格,势必在成员的协调合作中出现问题。但各个成员为了获取一个共同的市场机会结合在一起,他们在合作中必须彼此信任,当信任成为分享成功的必要条件时,就会在各成员中形成一种强烈的依赖关系。否则,这些成员无法取得成功,顾客们也不会同他们开展业务。

   网格的体系特征

   网格之所以能有以上所说的种种优势特征,是由网格的体系结构赋予它的。网格体系结构的主要功能是划分系统基本组件,指定组件的目的与功能,刻画组件之间的相互作用,整合各部分组件。科研工作者已经提出并实现了若干种合理的网格体系结构。下面介绍目前影响比较广泛的两个网格体系结构:网格计算协议体系结构(grid protocol architectureGPA)和计算经济网格体系结构(GRACE)模型。

  OGSAopen grid services architecture)被称为是下一代的网格体系结构,它是在原来“五层沙漏结构”的基础上,结合最新的web service 技术提出来的。OGSA包括两大关键技术即网格技术和web service 技术。

   随着网格计算研究的深入,人们越来越发现网格体系结构的重要。网格体系结构是关于如何建造网格的技术,包括对网格基本组成部分和各部分功能的定义和描述,网格各部分相互关系与集成方法的规定,网格有效运行机制的刻画。显然,网格体系结构是网格的骨架和灵魂,是网格最核心的技术,只有建立合理的网格体系结构,才能设计和建造好网格,才能使网格有效地发挥作用。

  OGSA最突出的思想就是以“服务”为中心。在OGSA框架中,将一切都抽象为服务,包括计算机、程序、数据、仪器设备等。这种观念有利于通过统一的标准接口来管理和使用网格。Web service提供了一种基于服务的框架结构,但是web service 面对的一般都是永久服务,而在网格应用环境中,大量的是临时性的短暂服务,比如一个计算任务的执行等。考虑到网格环境的具体特点,OGSA 在原来web service 服务概念的基础上,提出了“网格服务(grid service)”的概念,用于解决服务发现、动态服务创建、服务生命周期管理等与临时服务有关的问题。

   基于网格服务的概念,OGSA将整个网格看作是“网格服务”的集合,但这个集合不是一成不变的,是可以扩展的,这反映了网格的动态特性。网格服务通过定义接口来完成不同的功能,服务数据是关于网格服务实例的信息,因此网格服务可以简单地表示为“网格服务=接口/行为+服务数据”。

   网格协议体系结构

   福斯特于2001年提出了网格计算协议体系结构,认为网格建设的核心是标准化的协议与服务,并与Internet网络协议进行类比。该结构主要包括以下五个层次。

   构造层(fabric):控制局部的资源。由物理或逻辑实体组成,目的是为上层提供共享的资源。常用的物理资源包括计算资源、存储系统、目录、网络资源等;逻辑资源包括分布式文件系统、分布计算池、计算机群等。构造层组件的功能受高层需求影响,基本功能包括资源查询和资源管理的QoS保证。

   连接层(connectivity):支持便利安全的通信。该层定义了网格中安全通信与认证授权控制的核心协议。资源间的数据交换和授权认证、安全控制都在这一层控制实现。该层组件提供单点登录、代理委托、同本地安全策略的整合和基于用户的信任策略等功能。

   资源层(resource):共享单一资源。该层建立在连接层的通信和认证协议之上,满足安全会话、资源初始化、资源运行状况监测、资源使用状况统计等需求,通过调用构造层函数来访问和控制局部资源。

   汇集层(collective):协调各种资源。该层将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享和调用。该层组件可以实现各种共享行为,包括目录服务、资源协同、资源监测诊断、数据复制、负荷控制、账户管理等功能。

   应用层(application):为网格上用户的应用程序层。应用层是在虚拟组织环境中存在的。应用程序通过各层的应用程序编程接口(API)调用相应的服务,再通过服务调动网格上的资源来完成任务。为便于网格应用程序的开发,需要构建支持网格计算的大型函数库。

   网格的主要应用

   按照福斯特和Globus 项目组的观点,网格应用领域目前主要有四类:分布式超级计算、分布式仪器系统、数据密集型计算和远程沉浸。下面主要介绍这些应用领域中有代表性的项目。

   1 分布式超级计算

   分布式超级计算(distributed supercomputing)是指将分布在不同地点的超级计算机用高速网络连接起来,并用网格中间件软件“粘合”起来,形成比单台超级计算机强大得多的计算平台。事实上,网格的最初设计目标主要就是要满足更大规模的计算需求,Globus 正是从这类应用起家的。两个具有典型的分布式超级计算应用:第一个是军事仿真项目SF Express,它将大型军事仿真任务分解到分布式环境中运行,从而在规模上创下了该领域的世界纪录;第二个应用称作数字相对论,它利用网格求解爱因斯坦相对论方程并模拟出天体的运动规律。

   SF Express 全称为综合军力表示(synthetic forces express),始于1996 年,是由美国国防部下属的国防先进研究计划处DARPAdefense advanced research projects agency)资助、由加利福尼亚理工学院负责完成的,其目标是进行规模尽可能大的作战模拟。从SF Express 走过的历程来看,由单台并行计算机转向网格环境,将能够解决的问题规模扩大了一个数量级。而它与Globus 的融合程度,决定了它对网格环境的适应能力。这对后来的大规模网格应用无疑是有借鉴意义的。

   数字相对论的应用基于Cactus(仙人掌)平台。Globus是网格基础设施,其作用相当于网格操作系统,担负管理网格资源的重任,但它离具体应用还比较远。对黑洞的模拟是Cactus 项目的得意之作。这是一个典型的网格问题:一方面,它需要很大的计算能力。例如,要模拟一大一小两个黑洞的碰撞,其计算量不是单台超级计算机所能完成的。为此,必须借助网格,把计算任务分解到多台超级计算机上;另一方面,模拟黑洞是一个系统工程,需要天文学家、物理学家、数学家和计算机专家的共同参与,而网格平台能够使分布在各地的、不同专业背景的研究人员进行紧密协作。这个应用很有代表性,在2001 年超级计算会议(Supercomputing 2001)上获得戈登·贝尔(Gordon Bell)奖。

   2 分布式仪器系统

   分布式仪器系统(distributed instrumentation system)是指用网格管理分布在各地的贵重仪器系统,提供远程访问仪器设备的手段,提高仪器的利用率,大大方便用户的使用。在网格出现之前,人们就试图通过网络访问一些仪器设备或仪器数据,但当时的软硬件环境都不成熟,只能实现一些低要求应用罢了,而网格将分布式仪器系统变成了一个非常易于管理和有弹性的系统。

   3 数据密集型计算

   并行计算技术往往是由一些计算密集型应用推动着的,特别是一些带有重大挑战(grand challenge)性质的应用,它们大大促进了对高性能并行体系结构、编程环境、大规模可视化等领域的研究。但是,相比之下,数据密集型计算(data intensive computing)的应用好像要比计算密集型应用多得多。它对应的数据网格更侧重于数据的存贮、传输和处理,而计算网格则更侧重于计算能力的提高,所以它们的侧重点和实现技术是不同的。

   4 远程沉浸

   远程沉浸(tele-immersion)这个术语是在1996 10 月,由伊利诺伊州大学芝加哥分校的电子可视化实验室EVLelectronic visualization laboratory)最早提出来的。远程沉浸是一种特殊的网络化虚拟现实环境。这个环境可以是对现实或历史的逼真反映,可以是对高性能计算结果或数据库的可视化,也可以是个纯粹虚构的空间。“沉浸”的意思是人可以完全融入其中:各地的参与者通过网络聚在同一个虚拟空间里,既可以随意漫游,又可以相互沟通,还可以与虚拟环境交互,使之发生改变。打个比方,远程沉浸是一部观众可以进入其中的科幻电影。远程沉浸可以广泛应用于交互式科学可视化、教育、训练、艺术、娱乐、工业设计、信息可视化等许多领域。

   从网格的角度来看,远程沉浸算得上是个“另类”,它与分布式超级计算、分布式仪器系统和数据密集型计算的性质有很大的不同:一方面,虽然它能把高性能计算的结果用一种全新的方式可视化出来,但它本身对高性能计算的要求并不高;另一方面,它并没有集网络上的大量资源于一身。远程沉浸是一个典型的网格问题,只不过它所共享的是一个集中的虚拟环境,而主要不是共享计算能力或数据存储能力罢了。更进一步,网格是未来Internet 的发展方向,也就是说,网格会成为未来的网络基础设施,几乎所有的应用都将基于网格,因而极富创新精神、有广阔发展空间的远程沉浸应用,也会毫无例外地依赖于网格的支持。另外,远程沉浸以崭新的手段极大地促进了网络化协作,这也正是网格的精髓所在。

   5 信息集成

   早在网格兴起之前,人们已经意识到了信息集成的重要性,许多公司推出了相应产品。如微软的.NET让所有的计算机、相关设备和服务商协同工作,使信息能够在指定的时间以指定的方式传送到指定的位置;IBMweb sphere可以使分布在全球的采购商、供应商和交易市场共享其行业信息,实现最低成本的交易;Sun基于Java推出了相应的J2EE平台规范,实现跨国企业的跨平台、跨地域管理;Oracle推出的oracle portal,使信息能够方便地从数据库和用户之间流动。

   网格最早以集成异构计算平台的身份出现,接着跨入分布处理海量数据的领域,自然而然地,网格将在信息集成领域一展身手。所谓的信息网格,就是要建立一个体系结构并开发相应的中间件,向用户提供“信息在你指尖”(information at your fingertip)式的服务。信息网格研究的中心问题有:如何描述信息、存储信息、发布信息和查找信息;如何充分利用现有网络技术,如HTTPXMLWSDLDDISOAP等,构成一个完整的服务链;信息的语义表示,即如何赋予信息以内涵,以及如何避免信息的二义性;如何对信息加密,防止信息泄露,等等。

   网格在GIMPS中的具体应用

  2008823日,美国加州大学洛杉矶分校的计算机专家史密斯(E.Smith)通过参加了一个名为“因特网梅森素数大搜索”(Great Internet Mersenne Prime Search,简称GIMPS)的国际合作项目,发现了第46个梅森素数243112609-1,这是人类迄今为止所知的最大素数。随着互联网和分布计算的发展,利用网格技术寻找梅森素数得到了突破性进展。

  1996年初,美国数学家及程序设计师沃尔特曼(G. Woltman)编制了一个梅森素数计算程序,并把它放在网页上供数学家和数学爱好者免费使用,这就是闻名世界的GIMPS项目。该项目就是采用网格技术来搜索梅森素数的。目前,世界上有150多个国家和地区近15万人参加了这一项目,并动用超过30万台计算机联网来进行网格计算。截止目前,12年来GIMPS项目在网格技术的协作下已发现了12个梅森素数。

  GIMPS项目中的技术应用表现为PC网格计算。PC网格是能利用这种计算能力的计算系统,是支持分布计算的基础结构,实现计算能力、计算程序的共享,完成大型计算的合作求解。它的主要特点在于:通过置分配给网格PC节点的子任务在其任务执行集合中优先级最低而不致影响该资源节点执行更紧要的计算任务,并且它会有效采用负载均衡来减少为保证处理能力而引起的高负载,强容错能力带来了可靠性,传输数据量少使得测试容易。PC网格的分布式计算结果与大型超高速计算机运行的结果相同。

   1)参与计算的网格节点从web服务器上下载专用软件并安装于本地。在GIMPS中,用户只需从GIMPS主页上下载专用软件Prime95Mprime

   2)本地PC节点向中央服务器请求发送程序和数据。

   3)中央服务器将大型计算应用问题按合理的大小分解成多个小的任务发送给不同的网格PC节点。

   4)网格PC节点将接收到的子任务作为优先最低的任务在其CPU空闲时被执行。

   5)当处理完毕,网格节点上的专用软件将结果送回中央服务器,并请求新的数据,返回到步骤(3),直到计算结束。

   6)中央服务器收集并整理,保存从参与计算的PC节点上获得的处理结果,必要时作后处理。

   从最新的12个梅森素数是在GIMPS项目中发现这一事实,我们已可想象到网格的威力。网格计算技术使得要用大量个人计算机去做本来要用超级计算机才能完成的项目成为可能。这是一个前景非常广阔的领域。

   网格的研究情况

   目前,世界许多国家都制定并实施了各自的网格计划。如美国开发了LegionGlobus等有影响的软件和工具,美国军方的“全球信息网”(global information grid)计划在2020年完成;还有欧洲多国参加的“欧洲网格”和“全球数据网格”,日本的NinfBricks,韩国的N*Grid等。

   网格计算的目的是消除资源“孤岛”,建立海量数据库、实现资源共享、达到协作工作。微软、IBMSunOracle等大公司都发布了自己的网格计算的计划,并在进一步实现之中。

   在我国,已经完成的网格研究项目主要有清华大学的先进计算基础设施ACIadvanced computational infrastructure)和以中科院计算为主的国家高性能计算环境NHPCEnational high performance computing environment)。

   在清华ACI系统中,清华大学研制的高性能计算机“THNPSC-2”与上海大学研制的高性能计算机“自强2000”通过高速网络连接在一起,此外还连接了4个应用结点。除此之外,还开发了相应的中间件,可以构成跨地区、跨学科的“虚拟实验室”研究环境。清华ACI系统具有一套健全的资源管理系统、任务管理系统、用户管理系统及安全服务与监控系统。清华ACI 系统于20016月通过了鉴定。

   1999年底到2001年初,中科院计算所联合十几家科研单位,承担了863重点项目“国家高性能计算环境”的研发任务。该项目的目标是建立一个分布式环境下支持异构平台的计算网格示范系统,它把我国的8个高性能计算中心通过Internet连接起来,进行统一的资源管理、信息管理和用户管理,并在此基础上开发了多个计算型的网格应用系统,取得了一系列研究成果。

  200245日至6日,科技部召开了“网格战略研讨会”,确认将网格的研究和应用列为“863计划”的一个专项,随即成立了专项专家组。863网格专项投资高达3个亿,主要任务是研制面向网格的万亿次级高性能计算机、具有数万亿次聚合计算能力的高性能计算环境;开发具有自主知识产权的网格软件;建设科学研究、经济建设、社会发展和国防建设急需的重要应用网格;制定若干与网格相关的国家标准,参与制定国际标准,使一批发明专利和软件获得受理和登记,形成自主知识产权。

  2002年底,上海宣布将投入两个多亿,用于建设e-Institute,其中网格是重点,将把上海交大、复旦、华东理工等多所重点高校用网格整合起来,共享资源,协同教学科研。清华大学教授、上海大学计算机学院院长李三立院士担任网格主题的首席科学家。另据消息,教育部也将对网格研究进行大力支持。早在2000年,教育部就支持李三立进行先进计算基础设施ACI北京上海试点工程,取得阶段性成果。据说,教育部希望百所重点高校拥有千亿次级别的高性能计算机,以提高科研水平。在这个基础上,建设一个覆盖全国主要高校的网格是水到渠成的事。

   (本文作者张四保、马小成为新疆喀什师范学院数学系教师。)

 

 

更新时间:2010-11-05 09:42:50
 
网络链接(KSN) 友好的连接联盟,让更多人知道你合作成功 大专院校 研究院所 产业公司 科技园区 协会事业 期刊网络 服务博览
本网域名: www.知识产品网.com,www.zhishichanpin.com,知识产品.中国,www.diwuchanye.com,第五产业.中国,集创.com,自版.中国,ipr品牌.中国,cnd5.cn,cnd5.net
友 情
链 接
     网站介绍     服务协议     联系我们