4、基于蚁群算法的网格系统模型
本文引入了蚁群算法用于解决网格环境下的任务调度问题,体现网格环境下的资源分配与任务调度的复杂性和并行性。如图所示:
该模型的各模块功能如下:
①网格计算资源目录
该机制负责周期性地检查和接收各个网格计算资源的注册请求,周期性地检查和接收网格计算资源信息,进行资源发现和实时更新。网格计算资源目录接收到用户代理的网格资源申请信息后,立刻向用户代理提交在线资源列表。这项功能与传统的启发式算法相同。
②网格计算资源
网格计算资源是具有存储和加工功能的资源,负责接收并在本地执行已分配的任务。它在执行完一项任务后对网格计算资源本身的信息素进行全局更新,这是大多数启发式算法无法实现的功能。网格计算资源实时的向网格资源目录注册自己的最新信息,网格计算资源由被动的参与者变成主动的参与者。这里,信息素的构成可以理解为:网格计算资源的计算能力、服务质量、可信度等。
③用户
这是网格作业的发源地。他提交应用请求,也就是网格作业给用户代理,最后接收用户代理返回的作业执行信息。
④用户代理
用户代理负责接收并整理一个用户的应用请求,向资源目录申请并获得在线网格计算资源信息后,按照信息素局部更新策略选出一个最优解,并根据该分配方案发送任务到相应的
网格计算资源。它的功能主要有两个:一是发现资源并根据用户的任务队列提交信息和在线网格计算资源信息预测一个给定任务在相应网格计算资源上的执行时间,二是根据预测结果进行资源选择和任务调度。
网格计算源于美国和欧洲的研究计划,作为一种新兴的计算技术,它正在向世界其他国家和地区迅速传播,而且各国政府、相应的国际组织及大的企业己经在网格研究领域投入了大量的资金。全球网格论坛(Global Grid Forum,GGF)、地区和国家的网格论坛也正在迅速的发展,学术交流活动正在积极地展开,其中全球网格论坛已经成为网格标准制定与发布的主要机构。下面详细介绍一下目前国内外网格的研究现状。
1、美国的网格研究现状
美国是网格技术的倡导者,也是目前网格技术的引领者。美国的网格发展也是从大学和科研机构开始的,随后企业界的参与加快了网格技术的发展。
Globus[1]是目前网格技术的旗舰产品,是Globus联盟的网格产品。Globus联盟推动了网格技术的不断发展,是网格技术发展的主要力量之一,它由Argonne国家实验室、芝加哥大学、爱丁堡大学和瑞典的皇家研究院等单位构成。Globus联盟是网格计算的领导团对,以发展网格的基础技术为己任,先后推出了(Globus Toolkit Version2)GT2、GT3和GT4,GT3是第一个基于OGSA(Open Grid Service Architecture)体系结构的网格平台。GT4是基于WSRF(Web Service Framework,Web服务资源框架)体系结构的,目前最新版本是GT4。
PlanetLab是2002年3月由民间研究团体发起的一个研究项目,旨在研究下一代互联网技术。该研究计划希望克服现在互联网不够透明的缺点,提供透明的互联网服务,同时在现有的互联网上增加一个Overlay,在PlanetLab中使用的是一种虚拟服务的计算方式,计算能力通过虚拟机器来实现,每一个虚拟机成为一个Slice,可以包含多个真实的计算资源,也可以是一个真是计算资源的一部分。目前普林斯顿大学、华盛顿大学以及惠普公司、Intel公司等纷纷加入了这一研究计划。PlanetLab目前在全球已经部署了上百个节点,在我国2004年底通过中国教育网也加入了这一研究计划。
总之,美国在网络领域走在了世界的前列,不论是理论研究、平台建设还是实际应用项目的使用上。同时,也可以发现,网格技术的跨领域合作和国际合作是其发展过程中的一大特点。
2、欧洲的网格研究现状
欧洲的网格研究起步也很早,已经启动了很多研究计划,取得了一定的研究成果。英国和德国在网格研究方面走在了欧洲的前列。
英国的e-Science计划开始于2001年,主要解决大规模科学计算、数据可视化、信息资源共享等问题,提供端到端的计算、数据和信息服务。这是一个比较庞大的网格计划,包含着很多的子项目,其中英国网格操作支持中心是一个虚拟的管理机构,负责支持网格计划的正常执行,其核心是构建英国的国家网格。
Cactus项目是在德国MaxPlanck引力物理研究所的带领下,由德国和美国多个研究机构共同完成的。基于Cactus平台的数字相对论应用是一个极具代表性的成功的网格高性能计算应用案例,他利用网格求解爱因斯坦相对论方程,并模拟出了天体的运动规律。这是一个典型的网格问题:一方面,它需要很大的计算能力,如模拟一大一小两个黑洞的碰撞,其计算量不是单台超级计算机所能完成的,必须借助网格计算任务分解到多台超级计算机上。另一方面,模拟黑洞是一个系统工程,需要天文学家、物理学家、数学家和计算机专家的共同参与,而网格平台能够使分布在各地的、不同专业背景的研究人员进行紧密协作。该项目采用了许多措施来优化整体性能,优化后系统运行效率提升很大。
XtremWeb是法国的一个为科研和全球计算的应用项目提供计算平台的桌面网格中间件。它基于周期窃取技术,利用Internet上汇集的计算机的CPU空闲时间来进行高性能计算。
欧洲的其他国家也在积极开展网格方面的研究工作,或是通过欧盟的合作,或是独立从事的研究计划,在网格的应用领域方面各有特色。
3、亚洲的网格研究现状
目前,我国的网格研究主要包括863计划资助的中国家网格(China National Grid)计划,教育部资助的中国网格(China Grid)计划和国家基金资助的国家科学网格计划(National Science Grid Project)。中国科学院计算技术研究所从1996年开始了网格技术的研究开发工作。2000年开发了连接国内8个曙光计算中心的网格。2001年提出了织女星网格计划[2][3],该项目主要包括知识网格(Knowledge Grid)、信息网格(Information Grid)、服务网格(Service Grid)、基础研究和网格操作系统五个部分。织女星网格项目的名称Vega来源于其四个特性:即通用服务(Versatile Service)、辅助智能(Enabling Intelligence)、全局一体(Global Uniformity)、自主控制(Autonomous Control)。与国内外其他网格研究项目相比,织女星网格的最大特点是“服务网格”的概念。另外国内一些高校(清华大学、北京大学、西安交通大学、北京航空航天大学、华中科技大学等)也正在展开相关的研究工作。国家自然科学基金委员会于2004年开始通过重大专项的方式对网格研究进行了资助,通过中科院计算所和北京航空航天大学分别作为牵头单位来实施这一专项研究,解决网格研究中的科学问题和应用开发。
除了我国之外,其他亚洲国家在各国政府及相关企业的大力支持下,网格技术的研究和应用也积极的开展了起来。韩国、日本、印度、马来西亚和新加坡等国家也正在组织积极开展网格技术的研究工作,并积极与国际上的其他网格计划进行合作研究。
总之,亚洲的网格研究正在逐步兴起,随着业国际研究的不断接轨,亚洲在网格的发展中将会扮演越来越重要的角色。
(一)网格计算的定义、概念
网格计算是动态多机构虚拟组织中的一个协调的共享资源和解决问题的过程。网格概念最初是借鉴电力网(Electric Power Grid)的概念提出来的,网格的最终目的是希望用户在使用网格计算能力时就如同现在使用电力一样方便。但是到目前为止,学术界对于什么是网格和什么是网格计算,还没有一个普遍接受的定义,关于网格概念的分歧和争议仍然存在。
下面是一些关于网格或者网格计算的定义:
﹡网格就是下一代的Internet。这一定义强调的是网格的重要性和意义。
﹡网格计算就是在动态变化的、拥有多个部门或者团体的复杂虚拟组织内,灵活、安全的协同资源共享与问题将求解。这一概念强调的是网格是为虚拟组织服务的,网格必须具备动态、协同资源共享的特点。
﹡网格就是方便资源管理,有效支持广域分布的、多领域的科学与工程问题解决的中间件系统。这一定义强调的是中间件系统在网格中的作用。
﹡网格是建造分布式科学计算环境的一种一体化的集成方法,这一环境包括计算、数据管理科学仪器以及人类的协作。这一定义强调的是主要用于科学技算的网格所应该具备的特点。
﹡网格是一种无缝的、集成的计算与协作环境。这种定义强调的是网格的集成化特点。 ﹡网格是基于硬件支持的各种服务和功能的提供者。
上述各个定义,是从不同角度和侧重点给出的,它们从某个方面反映了网格和网格计算的特点。
Ian Foster等人在网格和网格简单理论方面做出了巨大的贡献,他们给出了如下的网格定义:将地理上分布不同、系统异构、性能各异的高性能计算机、计算机集群、大型服务器、大型检索存储系统、贵重科研设备、大型通信设备和可视化、虚拟现实系统等,通过高速互联网连接起来,形成了一个广域范围的无缝集成和协同计算,就是网格计算系统(Grid Computing System),简称网格。
(三)网格计算的意义
网格试图突破在计算资源上的所有限制,使人们能够方便自由地使用其拥有的各种资源,从而实现更好的共享和提供解决更复杂问题的能力。
1、突破计算能力的限制。网格技术集成了网格环境中的所有计算资源,从而为我们提供了一个“超级计算机”,在这种超级技术能力的支持下,人们可以完成许多过去无法通过计算来实现的工作。
2、突破地理位置的限制。网格用户可以透明地使用一种网格资源,他根本不用关心所使用的资源的具体地理位置,而像使用本地资源一样。这是由于网格资源屏蔽了资源的物理位置,提供统一的访问接口,从而实现了资源共享。
3、打破传统的共享或写作方面的限制。过去对资源的共享大多停留在数据文件传输的层次上,而网格资源的共享则允许对其他远程的资源进行直接的控制,因此共享资源的各方在协作的时候就能够更广泛的交流信息。
4、节约资源。网格技术实现了资源的共享,处在不同地理位置的人们可以共享这些资源,这就避免了资源的重复性购买,提高资源的利用效率,节约资源。
5、打破信息孤岛,实现信息的多元化一体化服务。网格能够提供资源共享,它能消除信息孤岛、实现应用程序的互连互通。网格与计算机网络不同,计算机网络实现的是一种硬件的连通,而网格能实现应用层面的连通。
网格计算的架构决定于网格体系结构的设计,但不管采用何种体系结构,网格都必须具备资源管理、信息管理、数据管理、服务质量保证、安全等基本的功能模块。网格体系结构要考虑到是如何向用户提供一个接口,通过该接口接收来自用户的请求,发送来自网格的信息。用户可以将所使用的网格看作是一个黑盒子,不必知道其内部如何实现用户请求的服务。实际上,网格系统中是由一系列的基本功能模块协作,向用户提供服务的,网格系统的基本功能模块如图1所示。
图 1. 网格系统的基本功能模块示意图
按照Ian Foster 和Globus 项目组的观点,网格应用领域目前主要有四类:分布式超级计算、分布式仪器系统、数据密集型计算和远程沉浸。
分布式超级计算是指将分布在不同地点的超级计算机用高速网络连接起来,并用网格中间件软件“粘合”起来,形成比单台超级计算机强大得多的计算平台。事实上,网格的最初设计目标主要就是要满足更大规模的计算需求。
分布式仪器系统是指用网格管理分布在各地的贵重仪器系统,提供远程访问仪器设备的手段,提高仪器的利用率,大大方便用户的使用。网格将分布式仪器系统变成了一个非常易于管理和有弹性的系统。并行计算技术是由一些计算密集型应用推动着的,特别是一些带有重大挑战性质的应用,它们大大促进了对高性能并行体系结构、编程环境、大规模可视化等领域的研究。
数据密集型计算它对应的数据网格更侧重于数据的存贮、传输和处理,而计算网格则更侧重于计算能力的提高,所以它们的侧重点和实现技术是不同的。例如目前欧洲原子能研究机构CERN 所开展的数据网格DataGrid 项目。
远程沉浸是一种特殊的网络化虚拟现实环境。远程沉浸是一个典型的网格问题,它所共享的是一个集中的虚拟环境。这个环境可以是对现实或历史的逼真反映,可以是对高性能计算结果或数据库的可视化,也可以是个纯粹虚构的空间。
除此以外,网格还可运用于生物医学,提供药品开发人员所需的计算能力,用以研究药物和蛋白质分子的形态与运动;运用于工程;用网格计算进行复杂的仿真与设计;用于数据搜集分析,地理信息科学、制造、石油加工、货物运输、甚至零售企业都要维护昂贵的设备,时常会出现问题,造成不好的结果,网格能够存储和处理所有交易;用于娱乐产业、特殊效果设计、超级视频会议等。
1、科学研究
现在科学研究的问题空前复杂化,而科学研究所需要的运算资源常常是捉襟见肘。复杂科学领域的计算通常以超级计算机作为数据处理中心,超级计算机最然处理能力强大,但是其本身的造价及其高昂,并不是所有的科研机构都有能力配备。网格技术的出现,最大程度地提高了现有网络计算资源的利用率。目前利用网格提高现有资源利用率主要有两种办法。
一是利用网格技术可以将各个实验室的超级计算机连接起来,形成一个“强强联合”的超级信息处理中心。另外一种方式就是通过互联网,利用互联网个人用户的闲置计算机,进行科学研究。这种方式最为著名的项目就是寻找外星生命的计划seti@home。
2、企业信息处理
网格专家为我们描绘的是这样的一幅画面:等网格的触角深及到互联网的每一个角落时,我们从互联网获得网格的运算资源就会像我们从电网上获取电力那么简单,我们只需要支付少量费用,便可租用这台“超级信息处理中心”为我们工作。这对于信息处理需求大的企业来讲,无疑是个福音。现在很多企业为了保证其业务不间断地运转,大多部署了价格不菲的大型IT系统,这些IT设备除了在少数的业务高峰时间可以得到充分利用外,大部分时间都是闲置的,这些闲置资源无疑导致了企业运行成本的增加。一个强大的可租用虚拟系统,可以让用户完成以前难以承担的任务,其生产成本却不会有明显增长。
3、电子政务
利用互联网传达信息只是电子政务的初级阶段,进行日常性的政府办公才是真正意义上的电子政务。网格技术可以整合和管理分散在各部门的信息化资源,实现各个政府部门之间数据的无缝交换,消除“信息孤岛”,打破电子政务资源共享的瓶颈;另一方面,网格技术的
分布式工作模式,可以有效地实现在网络虚拟环境下的协同办公,提高政府的工作效率、增强为公众服务的能力。
4、个人娱乐
随着互联网的发展,网络视频点播与在线游戏已经成为个人娱乐重要的一环。使用网格可以为游戏开发商和服务供应商提供可扩展的、高弹性的基础设施以运行大型多人游戏。而对于个人用户来说,网格服务器则意味着更安全、更快捷的游戏体验。网格技术有望使虚拟现实技术走向平民化。由于运行虚拟现实技术所需要的计算资源太过于庞大,目前虚拟现实技术只用于飞行员、宇航员等的训练工作。利用网格这种造价低廉而数据处理能力超强的计算模式,可以将虚拟现实技术运用于网络游戏中,让参与游戏的人可以真切地感受虚拟环境所带来的游戏快感。毫无疑问,如果这一技术移植成功,将对目前的网络游戏起革命性的变化。
当然,在网格技术走向大规模应用时,也存在着不少问题,如各个公司之间的技术标准不统一、并非所有的软件都支持分布式计算、分享服务器会带来数据安全问题;当然,还有些非技术性问题,如人们对新技术成熟与否、共享资源会不会丧失对资源控制权的担忧,也成为网格技术进一步普及的障碍。不过这些问题并不可怕,所有的新技术都会面临这样或者那样的难题,网格当然也不例外。相信随着技术的进一步发展,网格应用会更加丰富多彩。
国外:国外对网格的研究始于20世纪90年代中期。其中由美国自然科学基金会资助的网格项目NCSA,NPACI和TeraGrid,美国宇航管理局构造的网格计划IPG,美国国防部的HPCMP网格,美国能源部的DOE Science Grid网格和连接三大国家实验室的ANCI Grid的网格以及欧洲数据网格EDG,日本的Ninf等,都是有影响的网格计划。
目前著名的网格软件有Globus,Logoin等。一批围绕网格计算的软件公司也逐渐壮大并日益受到关注,如:Entropia,Avaki,Noemix,Data Synapse等。
国内:1999年中科院计算所联合江南计算所、国防科大等十几所科研单位,共同承担了863项目“国家高性能计算环境”的研发任务。由教育部资助,清华大学牵头的重点项目“先进计算基础设施”也进行了部门内的网格计算实验。“中国国家网格”专项于2002年启动,促进了中国高性能计算机的研究和产业化。教育部与IBM在2003年宣布合作共建“中国教育科研网格”工程。在国家863计划和中科院知识创新工程共同支持下,联想公司研制成功了峰值运算速度5.324万亿次/s的国家网格主节点“深腾6800”超级计算机。2004年10万亿次/s曙光4000A落户上海超级计算中心。中国也成为继美国、日本后第三个能制造10万亿次/s商品化高性能计算机的国家。
(二)网格计算研究现状与发展动态
网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模式。目前应用的网格有:美国科学网格、远程分布式计算与通信和地球系统网格、TeraGrid和国家地震工程仿真网格、CrossGrid、天体物理虚拟天文台、英国国家网格、德国的计算资源统一接口项目、亚太地区网格。
Globus目标构建一个网格软件基础设施。研究内容包括资源管理、数据访问、应用开发、网格安全等。目前全球许多用户利用Globus工具包创建网格和开发网格应用。美国国家技术网格项目的目标是创建一个无缝集成的协同计算环境原型系统。虚拟实验室项目致力于研究、开发能够帮助解决数据密集的、涉及大规模计算的分子生物学问题的网格技术。
天体物理仿真合作实验室项目的主要目标利用Cactus和Globus网格计算的研究成果为高级可视化交互和元计算提供大规模并行计算能力,实现在相对论天体物理学领域的大规模仿真。
虽然目前网格计算还主要是应用于学术与科研界,但越来越多的大型IT机构希望能利用网格计算来完成自身的一些项目。据专家预测,网格计算作为信息产业的热点,将是解决如高能物理实验、破解基因代码等数据量极大的科学工程计算问题最直接、最有效途径。随着网格计算技术进一步发展,网格计算技术会逐渐渗透中国技术市场。伴随着中国高科技产业基地建设的不断扩大和完善,网格计算也会应用于更广阔的领域和行业。对计算机网络技术的应用以及其它产业的发展产生巨大而深远的影响。
4、基于蚁群算法的网格系统模型
本文引入了蚁群算法用于解决网格环境下的任务调度问题,体现网格环境下的资源分配与任务调度的复杂性和并行性。如图所示:
该模型的各模块功能如下:
①网格计算资源目录
该机制负责周期性地检查和接收各个网格计算资源的注册请求,周期性地检查和接收网格计算资源信息,进行资源发现和实时更新。网格计算资源目录接收到用户代理的网格资源申请信息后,立刻向用户代理提交在线资源列表。这项功能与传统的启发式算法相同。
②网格计算资源
网格计算资源是具有存储和加工功能的资源,负责接收并在本地执行已分配的任务。它在执行完一项任务后对网格计算资源本身的信息素进行全局更新,这是大多数启发式算法无法实现的功能。网格计算资源实时的向网格资源目录注册自己的最新信息,网格计算资源由被动的参与者变成主动的参与者。这里,信息素的构成可以理解为:网格计算资源的计算能力、服务质量、可信度等。
③用户
这是网格作业的发源地。他提交应用请求,也就是网格作业给用户代理,最后接收用户代理返回的作业执行信息。
④用户代理
用户代理负责接收并整理一个用户的应用请求,向资源目录申请并获得在线网格计算资源信息后,按照信息素局部更新策略选出一个最优解,并根据该分配方案发送任务到相应的
网格计算资源。它的功能主要有两个:一是发现资源并根据用户的任务队列提交信息和在线网格计算资源信息预测一个给定任务在相应网格计算资源上的执行时间,二是根据预测结果进行资源选择和任务调度。
网格计算源于美国和欧洲的研究计划,作为一种新兴的计算技术,它正在向世界其他国家和地区迅速传播,而且各国政府、相应的国际组织及大的企业己经在网格研究领域投入了大量的资金。全球网格论坛(Global Grid Forum,GGF)、地区和国家的网格论坛也正在迅速的发展,学术交流活动正在积极地展开,其中全球网格论坛已经成为网格标准制定与发布的主要机构。下面详细介绍一下目前国内外网格的研究现状。
1、美国的网格研究现状
美国是网格技术的倡导者,也是目前网格技术的引领者。美国的网格发展也是从大学和科研机构开始的,随后企业界的参与加快了网格技术的发展。
Globus[1]是目前网格技术的旗舰产品,是Globus联盟的网格产品。Globus联盟推动了网格技术的不断发展,是网格技术发展的主要力量之一,它由Argonne国家实验室、芝加哥大学、爱丁堡大学和瑞典的皇家研究院等单位构成。Globus联盟是网格计算的领导团对,以发展网格的基础技术为己任,先后推出了(Globus Toolkit Version2)GT2、GT3和GT4,GT3是第一个基于OGSA(Open Grid Service Architecture)体系结构的网格平台。GT4是基于WSRF(Web Service Framework,Web服务资源框架)体系结构的,目前最新版本是GT4。
PlanetLab是2002年3月由民间研究团体发起的一个研究项目,旨在研究下一代互联网技术。该研究计划希望克服现在互联网不够透明的缺点,提供透明的互联网服务,同时在现有的互联网上增加一个Overlay,在PlanetLab中使用的是一种虚拟服务的计算方式,计算能力通过虚拟机器来实现,每一个虚拟机成为一个Slice,可以包含多个真实的计算资源,也可以是一个真是计算资源的一部分。目前普林斯顿大学、华盛顿大学以及惠普公司、Intel公司等纷纷加入了这一研究计划。PlanetLab目前在全球已经部署了上百个节点,在我国2004年底通过中国教育网也加入了这一研究计划。
总之,美国在网络领域走在了世界的前列,不论是理论研究、平台建设还是实际应用项目的使用上。同时,也可以发现,网格技术的跨领域合作和国际合作是其发展过程中的一大特点。
2、欧洲的网格研究现状
欧洲的网格研究起步也很早,已经启动了很多研究计划,取得了一定的研究成果。英国和德国在网格研究方面走在了欧洲的前列。
英国的e-Science计划开始于2001年,主要解决大规模科学计算、数据可视化、信息资源共享等问题,提供端到端的计算、数据和信息服务。这是一个比较庞大的网格计划,包含着很多的子项目,其中英国网格操作支持中心是一个虚拟的管理机构,负责支持网格计划的正常执行,其核心是构建英国的国家网格。
Cactus项目是在德国MaxPlanck引力物理研究所的带领下,由德国和美国多个研究机构共同完成的。基于Cactus平台的数字相对论应用是一个极具代表性的成功的网格高性能计算应用案例,他利用网格求解爱因斯坦相对论方程,并模拟出了天体的运动规律。这是一个典型的网格问题:一方面,它需要很大的计算能力,如模拟一大一小两个黑洞的碰撞,其计算量不是单台超级计算机所能完成的,必须借助网格计算任务分解到多台超级计算机上。另一方面,模拟黑洞是一个系统工程,需要天文学家、物理学家、数学家和计算机专家的共同参与,而网格平台能够使分布在各地的、不同专业背景的研究人员进行紧密协作。该项目采用了许多措施来优化整体性能,优化后系统运行效率提升很大。
XtremWeb是法国的一个为科研和全球计算的应用项目提供计算平台的桌面网格中间件。它基于周期窃取技术,利用Internet上汇集的计算机的CPU空闲时间来进行高性能计算。
欧洲的其他国家也在积极开展网格方面的研究工作,或是通过欧盟的合作,或是独立从事的研究计划,在网格的应用领域方面各有特色。
3、亚洲的网格研究现状
目前,我国的网格研究主要包括863计划资助的中国家网格(China National Grid)计划,教育部资助的中国网格(China Grid)计划和国家基金资助的国家科学网格计划(National Science Grid Project)。中国科学院计算技术研究所从1996年开始了网格技术的研究开发工作。2000年开发了连接国内8个曙光计算中心的网格。2001年提出了织女星网格计划[2][3],该项目主要包括知识网格(Knowledge Grid)、信息网格(Information Grid)、服务网格(Service Grid)、基础研究和网格操作系统五个部分。织女星网格项目的名称Vega来源于其四个特性:即通用服务(Versatile Service)、辅助智能(Enabling Intelligence)、全局一体(Global Uniformity)、自主控制(Autonomous Control)。与国内外其他网格研究项目相比,织女星网格的最大特点是“服务网格”的概念。另外国内一些高校(清华大学、北京大学、西安交通大学、北京航空航天大学、华中科技大学等)也正在展开相关的研究工作。国家自然科学基金委员会于2004年开始通过重大专项的方式对网格研究进行了资助,通过中科院计算所和北京航空航天大学分别作为牵头单位来实施这一专项研究,解决网格研究中的科学问题和应用开发。
除了我国之外,其他亚洲国家在各国政府及相关企业的大力支持下,网格技术的研究和应用也积极的开展了起来。韩国、日本、印度、马来西亚和新加坡等国家也正在组织积极开展网格技术的研究工作,并积极与国际上的其他网格计划进行合作研究。
总之,亚洲的网格研究正在逐步兴起,随着业国际研究的不断接轨,亚洲在网格的发展中将会扮演越来越重要的角色。
(一)网格计算的定义、概念
网格计算是动态多机构虚拟组织中的一个协调的共享资源和解决问题的过程。网格概念最初是借鉴电力网(Electric Power Grid)的概念提出来的,网格的最终目的是希望用户在使用网格计算能力时就如同现在使用电力一样方便。但是到目前为止,学术界对于什么是网格和什么是网格计算,还没有一个普遍接受的定义,关于网格概念的分歧和争议仍然存在。
下面是一些关于网格或者网格计算的定义:
﹡网格就是下一代的Internet。这一定义强调的是网格的重要性和意义。
﹡网格计算就是在动态变化的、拥有多个部门或者团体的复杂虚拟组织内,灵活、安全的协同资源共享与问题将求解。这一概念强调的是网格是为虚拟组织服务的,网格必须具备动态、协同资源共享的特点。
﹡网格就是方便资源管理,有效支持广域分布的、多领域的科学与工程问题解决的中间件系统。这一定义强调的是中间件系统在网格中的作用。
﹡网格是建造分布式科学计算环境的一种一体化的集成方法,这一环境包括计算、数据管理科学仪器以及人类的协作。这一定义强调的是主要用于科学技算的网格所应该具备的特点。
﹡网格是一种无缝的、集成的计算与协作环境。这种定义强调的是网格的集成化特点。 ﹡网格是基于硬件支持的各种服务和功能的提供者。
上述各个定义,是从不同角度和侧重点给出的,它们从某个方面反映了网格和网格计算的特点。
Ian Foster等人在网格和网格简单理论方面做出了巨大的贡献,他们给出了如下的网格定义:将地理上分布不同、系统异构、性能各异的高性能计算机、计算机集群、大型服务器、大型检索存储系统、贵重科研设备、大型通信设备和可视化、虚拟现实系统等,通过高速互联网连接起来,形成了一个广域范围的无缝集成和协同计算,就是网格计算系统(Grid Computing System),简称网格。
(三)网格计算的意义
网格试图突破在计算资源上的所有限制,使人们能够方便自由地使用其拥有的各种资源,从而实现更好的共享和提供解决更复杂问题的能力。
1、突破计算能力的限制。网格技术集成了网格环境中的所有计算资源,从而为我们提供了一个“超级计算机”,在这种超级技术能力的支持下,人们可以完成许多过去无法通过计算来实现的工作。
2、突破地理位置的限制。网格用户可以透明地使用一种网格资源,他根本不用关心所使用的资源的具体地理位置,而像使用本地资源一样。这是由于网格资源屏蔽了资源的物理位置,提供统一的访问接口,从而实现了资源共享。
3、打破传统的共享或写作方面的限制。过去对资源的共享大多停留在数据文件传输的层次上,而网格资源的共享则允许对其他远程的资源进行直接的控制,因此共享资源的各方在协作的时候就能够更广泛的交流信息。
4、节约资源。网格技术实现了资源的共享,处在不同地理位置的人们可以共享这些资源,这就避免了资源的重复性购买,提高资源的利用效率,节约资源。
5、打破信息孤岛,实现信息的多元化一体化服务。网格能够提供资源共享,它能消除信息孤岛、实现应用程序的互连互通。网格与计算机网络不同,计算机网络实现的是一种硬件的连通,而网格能实现应用层面的连通。
网格计算的架构决定于网格体系结构的设计,但不管采用何种体系结构,网格都必须具备资源管理、信息管理、数据管理、服务质量保证、安全等基本的功能模块。网格体系结构要考虑到是如何向用户提供一个接口,通过该接口接收来自用户的请求,发送来自网格的信息。用户可以将所使用的网格看作是一个黑盒子,不必知道其内部如何实现用户请求的服务。实际上,网格系统中是由一系列的基本功能模块协作,向用户提供服务的,网格系统的基本功能模块如图1所示。
图 1. 网格系统的基本功能模块示意图
按照Ian Foster 和Globus 项目组的观点,网格应用领域目前主要有四类:分布式超级计算、分布式仪器系统、数据密集型计算和远程沉浸。
分布式超级计算是指将分布在不同地点的超级计算机用高速网络连接起来,并用网格中间件软件“粘合”起来,形成比单台超级计算机强大得多的计算平台。事实上,网格的最初设计目标主要就是要满足更大规模的计算需求。
分布式仪器系统是指用网格管理分布在各地的贵重仪器系统,提供远程访问仪器设备的手段,提高仪器的利用率,大大方便用户的使用。网格将分布式仪器系统变成了一个非常易于管理和有弹性的系统。并行计算技术是由一些计算密集型应用推动着的,特别是一些带有重大挑战性质的应用,它们大大促进了对高性能并行体系结构、编程环境、大规模可视化等领域的研究。
数据密集型计算它对应的数据网格更侧重于数据的存贮、传输和处理,而计算网格则更侧重于计算能力的提高,所以它们的侧重点和实现技术是不同的。例如目前欧洲原子能研究机构CERN 所开展的数据网格DataGrid 项目。
远程沉浸是一种特殊的网络化虚拟现实环境。远程沉浸是一个典型的网格问题,它所共享的是一个集中的虚拟环境。这个环境可以是对现实或历史的逼真反映,可以是对高性能计算结果或数据库的可视化,也可以是个纯粹虚构的空间。
除此以外,网格还可运用于生物医学,提供药品开发人员所需的计算能力,用以研究药物和蛋白质分子的形态与运动;运用于工程;用网格计算进行复杂的仿真与设计;用于数据搜集分析,地理信息科学、制造、石油加工、货物运输、甚至零售企业都要维护昂贵的设备,时常会出现问题,造成不好的结果,网格能够存储和处理所有交易;用于娱乐产业、特殊效果设计、超级视频会议等。
1、科学研究
现在科学研究的问题空前复杂化,而科学研究所需要的运算资源常常是捉襟见肘。复杂科学领域的计算通常以超级计算机作为数据处理中心,超级计算机最然处理能力强大,但是其本身的造价及其高昂,并不是所有的科研机构都有能力配备。网格技术的出现,最大程度地提高了现有网络计算资源的利用率。目前利用网格提高现有资源利用率主要有两种办法。
一是利用网格技术可以将各个实验室的超级计算机连接起来,形成一个“强强联合”的超级信息处理中心。另外一种方式就是通过互联网,利用互联网个人用户的闲置计算机,进行科学研究。这种方式最为著名的项目就是寻找外星生命的计划seti@home。
2、企业信息处理
网格专家为我们描绘的是这样的一幅画面:等网格的触角深及到互联网的每一个角落时,我们从互联网获得网格的运算资源就会像我们从电网上获取电力那么简单,我们只需要支付少量费用,便可租用这台“超级信息处理中心”为我们工作。这对于信息处理需求大的企业来讲,无疑是个福音。现在很多企业为了保证其业务不间断地运转,大多部署了价格不菲的大型IT系统,这些IT设备除了在少数的业务高峰时间可以得到充分利用外,大部分时间都是闲置的,这些闲置资源无疑导致了企业运行成本的增加。一个强大的可租用虚拟系统,可以让用户完成以前难以承担的任务,其生产成本却不会有明显增长。
3、电子政务
利用互联网传达信息只是电子政务的初级阶段,进行日常性的政府办公才是真正意义上的电子政务。网格技术可以整合和管理分散在各部门的信息化资源,实现各个政府部门之间数据的无缝交换,消除“信息孤岛”,打破电子政务资源共享的瓶颈;另一方面,网格技术的
分布式工作模式,可以有效地实现在网络虚拟环境下的协同办公,提高政府的工作效率、增强为公众服务的能力。
4、个人娱乐
随着互联网的发展,网络视频点播与在线游戏已经成为个人娱乐重要的一环。使用网格可以为游戏开发商和服务供应商提供可扩展的、高弹性的基础设施以运行大型多人游戏。而对于个人用户来说,网格服务器则意味着更安全、更快捷的游戏体验。网格技术有望使虚拟现实技术走向平民化。由于运行虚拟现实技术所需要的计算资源太过于庞大,目前虚拟现实技术只用于飞行员、宇航员等的训练工作。利用网格这种造价低廉而数据处理能力超强的计算模式,可以将虚拟现实技术运用于网络游戏中,让参与游戏的人可以真切地感受虚拟环境所带来的游戏快感。毫无疑问,如果这一技术移植成功,将对目前的网络游戏起革命性的变化。
当然,在网格技术走向大规模应用时,也存在着不少问题,如各个公司之间的技术标准不统一、并非所有的软件都支持分布式计算、分享服务器会带来数据安全问题;当然,还有些非技术性问题,如人们对新技术成熟与否、共享资源会不会丧失对资源控制权的担忧,也成为网格技术进一步普及的障碍。不过这些问题并不可怕,所有的新技术都会面临这样或者那样的难题,网格当然也不例外。相信随着技术的进一步发展,网格应用会更加丰富多彩。
国外:国外对网格的研究始于20世纪90年代中期。其中由美国自然科学基金会资助的网格项目NCSA,NPACI和TeraGrid,美国宇航管理局构造的网格计划IPG,美国国防部的HPCMP网格,美国能源部的DOE Science Grid网格和连接三大国家实验室的ANCI Grid的网格以及欧洲数据网格EDG,日本的Ninf等,都是有影响的网格计划。
目前著名的网格软件有Globus,Logoin等。一批围绕网格计算的软件公司也逐渐壮大并日益受到关注,如:Entropia,Avaki,Noemix,Data Synapse等。
国内:1999年中科院计算所联合江南计算所、国防科大等十几所科研单位,共同承担了863项目“国家高性能计算环境”的研发任务。由教育部资助,清华大学牵头的重点项目“先进计算基础设施”也进行了部门内的网格计算实验。“中国国家网格”专项于2002年启动,促进了中国高性能计算机的研究和产业化。教育部与IBM在2003年宣布合作共建“中国教育科研网格”工程。在国家863计划和中科院知识创新工程共同支持下,联想公司研制成功了峰值运算速度5.324万亿次/s的国家网格主节点“深腾6800”超级计算机。2004年10万亿次/s曙光4000A落户上海超级计算中心。中国也成为继美国、日本后第三个能制造10万亿次/s商品化高性能计算机的国家。
(二)网格计算研究现状与发展动态
网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模式。目前应用的网格有:美国科学网格、远程分布式计算与通信和地球系统网格、TeraGrid和国家地震工程仿真网格、CrossGrid、天体物理虚拟天文台、英国国家网格、德国的计算资源统一接口项目、亚太地区网格。
Globus目标构建一个网格软件基础设施。研究内容包括资源管理、数据访问、应用开发、网格安全等。目前全球许多用户利用Globus工具包创建网格和开发网格应用。美国国家技术网格项目的目标是创建一个无缝集成的协同计算环境原型系统。虚拟实验室项目致力于研究、开发能够帮助解决数据密集的、涉及大规模计算的分子生物学问题的网格技术。
天体物理仿真合作实验室项目的主要目标利用Cactus和Globus网格计算的研究成果为高级可视化交互和元计算提供大规模并行计算能力,实现在相对论天体物理学领域的大规模仿真。
虽然目前网格计算还主要是应用于学术与科研界,但越来越多的大型IT机构希望能利用网格计算来完成自身的一些项目。据专家预测,网格计算作为信息产业的热点,将是解决如高能物理实验、破解基因代码等数据量极大的科学工程计算问题最直接、最有效途径。随着网格计算技术进一步发展,网格计算技术会逐渐渗透中国技术市场。伴随着中国高科技产业基地建设的不断扩大和完善,网格计算也会应用于更广阔的领域和行业。对计算机网络技术的应用以及其它产业的发展产生巨大而深远的影响。