网格技术及其应用(1)

发布时间:2005-03-03 作者:方宁,沈金龙

1 网格的由来
    网格(Grid)组成的构想源于电力供应网,其基本思路是使用户在应用网格计算时,就像日常生活中从电网中获取电能那样,可以方便地获取高性能的计算能力。图1给出了电力网和网格组成的示意比较。通常人们在使用电力时,并不知道电是从哪个发电站送来的,也无需知道电是通过什么型号的发电设备产生的,不论是采用火力发电,还是水力发电或核反应发电,表现的形式为无形的电能。网格也希望如此,最终使人们可以从有形的计算机系统向使用者提供无形的计算能力。

1.1  网格和网格计算
    网格是一个集成的计算与资源环境,也就是说网格是一个计算资源池。除了必要的各种类型的计算机、网络通信平台之外,计算资源池涵盖了计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等,甚至还包括与人文相关的专家资源的集合。网格计算(Grid Computing)广义的定义就是基于网格对问题求解的过程。显然,上述所给出的网格和网格计算概念相对是抽象的。狭义定义中的网格资源主要是指分布的计算机资源,而网格计算是指将分布的计算机组织起来协同解决复杂的科学与工程计算问题。

    可见从工程实施意义上,网格是继传统因特网(Internet)、万维网(WWW)之后的新一代因特网环境集成及应用。传统因特网实现了计算机硬件的连通,Web 实现了网页的连通,而网格则试图实现因特网上所有资源的全面连通,形成对用户相对透明的虚拟的高性能计算环境,最终实现网络虚拟环境上的资源共享和协同工作,消除信息孤岛和资源孤岛。因此,网格是信息社会的网络基础设施,是把整个因特网整合成一台无形的超级虚拟计算机,实现因特网上所有资源的互联、互通,完成各类资源智能共享的一种新型的分布式计算技术。

1.2  网格的现实意义
    网格技术的起源可以追溯到20世纪90年代初。当时,欧洲的一批科学家将分布在法国和瑞士等国不同地理位置的计算资源,包括CPU、存储器、数据库等通过高速的因特网组成充分的资源集成,使其具有一种更高性能计算、管理及服务的资源能力,来解决高能物理研究中的计算难题。其结果是,位于瑞士的科技人员可以通过网格将巨大的计算任务提交到位于法国的高性能计算机集群上完成,这预示着:世界上计算机不管是大型、小型,还是个人的,都可以连在一个共有的开放式的因特网上,将因特网上所有的计算机设备集成起来形成一个虚拟的超级计算机系统不再是一种梦想,这就是网格技术产生的背景。

    促使网格技术产生的因素主要有如下几点:

(1)随着人们对各种学科研究领域的深入拓展,对解决问题所需的计算能力大幅度增加。如在建立数字化人脑数据库的研究中,若将人脑体素的分辨率定在微米级,则建立一个彩色数字化人脑数据库的数据量将达4.5 PB(1P=1015)。如果当前硬盘的容量为100 GB,则一个彩色数字化人脑数据库就需45 000块硬盘。

(2)因特网上的计算能力(如CPU)很多都处于闲置状态,众多计算机高级处理能力仅仅用于上网浏览网页或做简单的文字处理对计算资源是一种浪费。

(3)因特网特别是浏览器已可进行较为复杂的操作,从而为网格实施资源分配、任务调度等运作过程提供了条件。

    网格概念的提出从根本上突破了以往计算资源利用的种种限制(如地理位置),使之成为以共享和协作方式迅速、方便解决复杂问题的基本工具。

1.3  网格的组成和特征
    网格计算系统主要包括网格节点、网格系统软件、网格应用,如图2所示。网格节点是地理上独立的计算和信息中心。网格系统软件对网格计算系统的组成起着关键的作用,软件统一管理计算网格(Computational Grid),将各个节点集成起来,组成一个虚拟协同高性能计算环境,向社会大众和各领域的科研机构统一提供高性能计算和海量信息处理服务。网格应用是以生物、气象、能源、石油、水利、军事等行业的重大应用为背景建立的应用。

    网格计算系统具有资源分布性、管理多重性、动态多样性、结构可扩展性等特征,其节点及各种资源分布于不同的地方,隶属于不同的所有者,具有多层管理的特点。为了完成特定的工作,各种各样的异构资源可动态组合,规模可不断加大。

(1)分布性
    分布与共享是网格的一个主要特征。网格的分布性首先指的是网格资源是分布的,但又是共享的。可以认为:分布是网格硬件在物理上的特征表现,而共享则是在网格软件支持下实现的逻辑上的特征。

(2)多样性
    网格资源是多样的和异构的。网格中的信息技术资源多种多样,不仅有各种类型的超级计算机,甚至包括各种尖端科学仪器,如光谱分析仪、天文望远镜等都可以联接到网格环境中,由这些机器产生的科学数据可以直接传输到网格上去,从而实现跨越地理分布的多个管理域。

(3)动态性
    与Internet 类似,网格也是一个开放性的信息载体。它可以从最初包括的少数资源发展到具有成千上万资源的大网格。网格资源的动态变化要求提高网格的可扩展性,自适应性。网格的设计与实现时,必须注重网格的可扩展性。与一般的因特网及单机结构不相同的是,网格系统由于地域分布和系统的复杂性使其整体结构经常发生变化。网格同样可能发生障碍,但由于网格系统的动态适应能力很强,能够在特殊情况下自动将用户的请求转发给正常的子系统来完成。

(4)管理复杂性
    与因特网的域管理机制类似,网格系统中的各种资源属于不同的机构与组织,网格资源应具有自治性的。但网格资源也必须能提供统一管理,具有互操作特征,因此,管理网格系统的管理机制更为复杂。

(5)自相似性
    分形模型的一个重要特征是自相似性。网格的局部和整体之间也存在着一定的相似性,这对于构建和研究网格技术有十分重要的意义。

    以WWW为代表的因特网技术在给人们带来了很多方便的同时,其固有的缺陷也暴露无疑。人们常用信息垃圾山来形容Internet的现状,这是由Internet自身特性所决定的:Internet是一个开放性的系统,人们在网上发布信息时,几乎没有任何限制;Internet实行的所谓域管理及分散管理机制,缺乏一个统一的网络管理神经中枢,所以导致整个网络体系处于无序的状态。

    相比之下,网格是高性能计算机、信息源、因特网3种技术的有机组合,具有更高性能的知识生产、一体化和资源共享功能。具体包括:

(1)网格比WWW具有更大的带宽和更高的信息传输速度.。
(2)可提供高级数据处理能力。
(3)可提供有效的广域缓存技术支持。
(4)拥有更大的网上社区。

    除此之外,网格在处理信息方面与WWW质的区别还在于:因特网本身主要起信息载体的功能,并不创造和生产知识,而网格却能根据用户的要求自动地生产知识与信息。在知识生产过程中,网格的高性能计算机能将数据源(传感器、贵重设备、数据库、信息库)中得到原始数据通过特定网格程序软件加工成信息知识。而且这一功能是完全由网格本身完成,不需要人为干预。另外与WWW的信息孤岛效应不同,在逻辑上,整个网格就像一台计算机在运作,充分体现了它的一体化和高度综合性功能,而不像WWW那样从成千上万个网址中漫无边际地查找。

2 网格体系结构
    网格体系结构是对网格基本组成部分和各部分功能的定义和描述,对网格各部分相互关系与集成方法的规定,以及对网格有效运行机制的定义。网格体系结构是网格最核心的技术,是网格的架构和灵魂,只有建立合理的网格体系结构,才能够设计和构建网格,才能够使网格的效能发挥得最好。目前最重要最有影响的网格体系结构有两个:5层沙漏体系结构、基于Web服务的开放网格服务体系结构(OGSA)。

2.1  5层沙漏体系结构
    5层沙漏体系结构是一种很有影响力的结构,这种结构是基于美国国家实验室的网格研发项目Globus提出来的,主要侧重于定性描述,而不是定义具体的协议。5层沙漏体系结构是以协议为中心的结构,强调被共享的物理资源以及这些资源所支持的服务,突出服务与应用编程接口(API)和软件开发工具(SDK)的重要性。

    5层沙漏结构自下而上按构造层、连接层、资源层、汇聚层和应用层划分,如图3所示。

(1)构造层
    构造层控制局部的资源,并向上提供网格中可供共享访问的资源,它们是物理或逻辑实体,如高性能计算资源、大型数据库存储资源、高速网络资源、传感器和远程设备等。Globus工具包中相应的组件负责监测可用的软硬件资源的特性、当前负荷、状态等信息,并将其打包供上层调用。

(2)连接层
    连接层定义了网格事务处理所需通信和鉴别的核心协议,通信协议使物理层资源之间可进行数据交换,通过传输、路由、名字解析实现。鉴别是在通信服务之上,进行授权验证。Globus工具包中,相应组件采用基于公钥的网格安全基础协议(GSI)。在此协议中提供一次登录、委托授权、整合各种局域网安全方案、基于用户的信任关系等功能。

(3)资源层
    资源层建立在连接层协议之上,定义安全握手、资源初始化,监测和控制资源的运行状况,统计与计费有关资源的使用情况。资源层调用构造层的功能实现对本地资源的访问和控制。资源层协议主要分两类:一类是信息协议,用于获得资源的结构和状态信息;另一类是管理信息,用于协商对特定共享资源的访问。

(4)汇聚层
    资源层主要是实现与单个资源的交互,而汇聚层则负责协调各种资源,关注全局的状态以及跨多个资源的交互,实现更广泛的资源共享,它包括目录服务、资源分配、进度安排、业务代理、资源监视和诊断、负载控制、软件发现(基于求解问题参数的最佳软件实现和运行平台)、安全认证、计费等。

(5)应用层
    应用层作为网格体系结构中的最高一层,是在虚拟组织环境中存在的,由用户的应用程序构成。应用程序通过调用下层提供的服务,再通过服务调用网格上的资源实现,为了便于应用程序的开发,需要大量支持网格计算的库函数。

    网格的5层沙漏体系结构的建立需要具有支持资源共享、服务共享、代码共享的协议软件和应用编程接口,对实现这些协议的技术没有限制。从长期的角度讲,网格计算能否获得成功,取决于连接层和资源层的协议必须能否得到更广泛的支持,能否够屏蔽掉网格中各种资源的分布、异构特性。因特网协议使不同的计算机网络能够互联和交换信息,网格协议使不同的用户组织能够互操作和交换或共享资源。

    5层体系结构的另一个特点是沙漏形状(见图3)。为什么采用沙漏形状?实际上可通过与微内核的操作系统进行类比来理解。微内核操作系统仅提供一些关键的核心功能,大量与应用或与特定设备有关的部分交付其他部分来实现。由此可知,一个小的核心操作系统非常有利于移植,也容易实现和获取支持。在网格环境中,由于各部分协议的数量不同且可变化,确保最核心部分的协议,使其既能支持上层各种协议向其映射,同时又可实现向下层的各种协议映射。换句话说,在支持网格计算的所有地点都应能得到核心协议的支持,为此应对核心协议数量加以控制,因而,网格核心协议也就成了5层体系结构的“瓶颈”。(待续)

收稿日期:2004-11-15

[摘要] 网格(Grid)是构筑在Internet上的一组新兴技术,可将高速互联网、电脑、大型资料库、传感器、远端设备等融为一体,提供更多功能及服务。网格除了能为人们提供共享运算、存储及其他资源外,还可提供包括通信、软件、信息硬件及相关知识等资源。 本讲座将分3讲对网格技术进行介绍:第1讲介绍网格技术的基本概念,如网格的定义,网格的组成和特征;还介绍部分网格的体系结构,如5层沙漏结构。第2讲继续介绍网格的体系结构,如开放网格服务体系结构以及其支撑工具——Globus。第3讲介绍网格实现技术及网格技术在相关行业的应用。