何海丹
内容摘要:本文对网格定义、现状、特点作了阐述,介绍了网格协议Globus体系结构,并将网格与因特做了比较和分析
关键词:网格计算、资源共享、 Globus体系、广域缓存技术
1.引言
二十世纪六十年代末,人类采用信息包传输和开放式整体结构技术,组建了ARPAnet,从而诞生了Internet。到了九十年代初,万维网应运而生。就在中国这样一个发展中国家,网络的迹象也随处可见。可是,当技术发展到了一个瓶颈,我们不禁疑惑:“因特网后面是什么?万维网后面是什么?什么是信息技术的下一个大浪潮?” Grid Computing(网格计算)的呼声越来越高,国外媒体常用“下一代Internet”、“Internet2”、“下一代Web”等词语来称呼与网格相关的技术。中国科学院计算所所长李国杰院士认为,网格实际上是继传统因特网、Web之后的第三个大浪潮。
2.网格计算的定义
网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”,所以这种计算方式叫网格计算。
Grid Computing(网格计算)的构想来源于另一专业“Power Grid(电力供应网)”。Power Grid的原意是电力供应商根据用户的需要供应电力,消费者只需支付自己使用的那部分电费。网格计算的基本思想也因此被引申为,就像人们日常生活中从电网中获取电能一样获取高性能的计算能力。
最“正统”的网格研究来源于美国联邦政府过去10年来资助的高性能计算项目。这类研究使用的名词就是“网格”(Grid)或“计算网格”,早期还使用过另一个名词—“元计算”(Metacomputing)。元计算被定义为通过网络连接强力计算资源,形成对用户透明的超级计算环境。目前用得较多的术语“网格计算(grid computing)”更系统化地发展了最初元计算的概念,它通过网络连接地理上分布的各类计算机(包括机群)、数据库、存储系统和可视化系统等,形成对用户相对透明的虚拟的高性能资源共享的计算环境,应用包括了分布式计算、高吞吐量计算、协同工程和数据查询等诸多功能。
3.网格计算的发展现状
网格计算的发展将是一个很长的过程,据《Forbes ASAP》预测,网格技术将在2005年达到高峰,并带来因特网的新生。如果网格技术能促使市场按预期的17%年增长率持续成长的话,那么在2020年将会形成一个年产值20万亿美元的大产业。
面对这样一个极具诱惑的利润源,很多发达国家都投入了大量研究资金,希望能抓住机遇,掌握未来的命运。美国的“全球信息网格”和英国的“英国国家网格”等,都是雄心勃勃的网格战略。目前很多大公司开始投入其中,如“蓝色巨人”IBM正在构筑一项名为“Grid Computing”的计划,旨在通过因特网,向每一台个人电脑提供超级的处理能力。 2001年11月,Sun推出了Sun Grid Engine企业版软件的β版,旨在促进网格计算的发展。
“众人拾柴火焰高”,中国的这句老话成了网格计算出现并蓬勃发展的最好注脚。目前,我国已开展了“国家高性能计算环境”和“先进计算基础设施北京上海试点工程”两个项目,对网格计算进行研究,这两个项目分别由中国科学院和清华大学牵头。中科院计算所正在进行的“织女星计划”(Vega 计划)正是以元数据、构件框架、智能体、网格公共信息协议和网格计算协议为主要突破点对网格计算进行的研究。
4.网格计算的特点和基本功能
简单的说,网格是把整个因特网整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享,因此网格的根本特征不是它的规模,而是资源共享,消除资源孤岛。网格最突出的两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。
实际上,网格计算是分布式计算(Distributed Computing)的一种,这种“蚂蚁搬山”式的网格计算,看似普通,但却有过及其出色的表现。1999年,SETI@HOME项目是网格计算的一个成功典范。该项目在1999年初开始将分布于世界各地的200万台个人电脑组成计算机阵列,用于搜索射电天文望远镜信号中的外星文明迹象。该项目组称,在不到两年的时间里,这种计算方法已经完成了单台计算机345000年的计算量。可见,这种“蚂蚁搬山”式的分布式计算的处理能力十分强大,正所谓“泰山不辞抔土,故能成其大”。
充分利用网上的闲置处理能力则是网格计算的又一个优势,网格计算模式首先把要计算的数据分割成若干“小片”,而计算这些“小片”的软件通常是一个预先编制好的屏幕保护程序,然后不同节点的计算机可以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。只要,节点的计算机的用户不使用计算机时,屏保程序就会工作,这样这台计算机的闲置计算能力就被充分地调动起来了。众所周知,在使用寿命周期中,大多数桌面电脑仅仅用到了其工作能力的5%~10%,多数服务器应用峰值只有20%,而网格技术正是我们在寻求的一种非常充裕的、时刻可以使用的计算能力。
网格计算一般具备三种基本功能:任务管理、任务调度和资源管理。任务管理即用户提交任务、为任务指定所需资源、删除任务并监测任务运行状态。任务调度是指用户提交的任务由该功能按照任务类型、所需资源、可用资源等安排运行日程和策略。 资源管理是确定并监测网格资源状况,收集任务运行时的资源占用数据。
5.网格协议Globus体系结构
Globus的网格计算协议建立在互联网协议之上,以互联网协议中的通信、路由、名字解析等功能为基础。Globus的协议分为五层:构造层、连接层、资源层、汇集层和应用层。每层都有自已的服务、API和SDK,上层协议调用下层协议的服务。网格内的全局应用都通过协议提供的服务调用操作系统。
构造层(Fabric) 它的功能是向上提供网格中可供共享的资源,它们是物理或逻辑实体。常用的资源包括处理能力、存储系统、目录、网格资源、分布式文件系统、分布式计算机池、计算机集群等。Toolkit中相应组件负责侦测可用的软硬件资源的特性、当前负荷、状态等信息,并将其打包供上层协议调用。
连接层(Connectivity) 它是网格中网络事务处理通信与授权控制的核心协议。构造层提交的各种资源间的数据交换都在这一层的控制下实现。各资源间的授权验证、安全控制也在这里实现。在Toolkit中,相应组件采用基于公钥的网格安全基础协议(GSI)。在此协议中提供一次登录、委托授权、局域安全方案整合、基于用户的信任关系等功能。资源间的数据交换通过传输、路由及名字解析实现。
资源层(Resource) 这一层的作用是对单个资源实施控制,与可用资源进行安全握手、对资源做初始化、监测资源运行状况、统计与付费有关的资源使用数据。在Toolkit中有一系列组件用来实现资源注册、资源分配和资源监视。Toolkit还在这一层定义了客户端的C、Java的API和SDK。
汇集层(Collective) 这层的作用是将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享、调用。为了对来自应用的共享进行管理和控制,汇集层提供目录服务、资源分配、日程安排、资源代理、资源监测诊断、网格启动、负荷控制、账户管理等多种功能。
应用层(Applications) 这层是网格上用户的应用程序。应用程序通过各层的API调用相应的服务,再通过服务调用网格上的资源来完成任务。应用程序的开发涉及大量库函数。为便于网格应用程序的开发,需要构建支持网格计算的库函数。
目前,Globus体系结构已为一些大型网格应用所采用。研究人员已经在天气预报、高能物理实验、航空器研究等领域已开发了一些基于Globus网格计算的应用程序,较果较好。
6.网格与因特之比较
尽管当前因特网已经很时髦了,专家们还是对它提出了很多批评。最主要的批评有两个。一个批评是,因特网实际上是一个大垃圾山。人们不停地往上倒东西,结果使得它包含很多重复、过时、零散、混乱的数据和信息,人们很难找到所需要的东西。万维网的企图是把垃圾变成金子,用一些简单的办法把数据和信息组织起来,让人们更方便地获得信息。但是万维网出来后,反面更加速了人们往上倒垃圾的趋势。另一个批评是,因特网就像一个只有神经细胞的低等生物,它没有大脑。如果一个网站的负载太高,今天的因特网还不能做自动的负载平衡,不能让别的网站分担一部分工作,也很难做到“广域并行计算” 。
阿岗国家实验室的资深科学家、美国计算网格项目的领导人伊安·福斯特(Ian Foster)曾这样描述网格:“网格是构筑在因特网上的一组新兴技术,它将高速互联网、高性能计算机、大型数据库、传感器、远程设备等融为一体,为科技人员和普通老百姓提供更多的资源、功能和交互性。因特网主要为人们提供电子邮件、网页浏览等通信功能,而网格功能更多更强,能让人们透明地使用计算、存储等其他资源。” 在网格上做计算,就像下围棋一样,不是单个棋子完成的,而是所有棋子互相配合形成合力完成的。简单地讲,传统因特网实现了计算机硬件的连通,Web实现了网页的连通,而网格试图实现将互联网上所有信息和知识孤岛联为一体,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等。
因特网终端的种类还很少(主要是微机,其次是手机)。它们的功能也还很弱,主要是网页浏览,电子商务、计算、多媒体信息服务的应用还远没有普及。网格则比因特网具有更强的功能和性能,主要表现在四个方面。第一,网格的互联网络比因特网具有更大的带宽。CERN的科学家这样形容网格的带宽:“它就像用100条车道的高速公路取代今天的道路。”第二,网格上将有更多高性能计算机,因此网格的计算速度、数据处理速度可以大幅度提高。第三,网格的体系结构将比因特网更能有效地利用这些资源。比如,网格将采用一种所谓的“广域缓存技术”,它自动地把用户最需要的信息放在离用户最近的服务器上。第四,网格将促进更多、更大的网上社区的出现。根据网络的麦特考夫定律,网格的价值与网格用户数的平方成正比。
如果说高性能只是反映了网格和因特网数量上的区别,那么网格的知识生产特性就反映了质的区别。因特网本身不创造或生产知识。人们都是先把信息或者是知识用其他方式生产出来以后,再“放到网上”,供用户查找。网格不应该像因特网那样,提供几百万个网站,让用户去费尽心思寻找合适的地方,而是能根据用户的要求自动地生产知识。在知识生产的过程中,高性能计算机将起到关键的作用,它把从数据源(传感器、贵重设备、数据库、信息库等等)得到的原始数据,运行特定的程序加工成信息和知识。
网格并不是要取代因特技术,而是试图在因特之上创造出更高的技术。
7.网格存在的问题
任何一项崭新的技术,都一定会存在相应的问题和挑战,网格当然也不例外。
(1)异构性:由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。
(2)动态自适应性:要在网格资源规模不断扩大、应用不断增长的情况下,不因一个低速或者落伍的系统而降低整体速度和性能,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务,避开“最小公分母”问题。
(3)因特带宽:如今的因特带宽始终无法承载网格。
(4)统一标准:网格的技术标准需国际化,统一标准意味着网格可以使接入设备像电话一样易用。
(5)网络安全性和知识产权问题:一旦资源被整合到网格环境下实现共享,我们就不得不担心这些数据如何分享、分割、过滤、移动、确保安全和有效管理利用。
8.结束语
网格凭借其独特的优势和魅力,在学科研究、企业信息处理、电子政务、个人娱乐方面拥有广泛的应用前景。我国的许多行业,如能源、交通、气象、水利、农林、教育、环保等对信息网格的需求也是非常巨大的。网格已从一个新兴名词逐渐融入到各行各业,未来几年中网格将在全球掀起一股新的大潮,互联网的前两次浪潮,中国都没有参与世界上核心技术的创新工作,我国的计算机产业,在总体上一直落后于西方国家。那么这次网格所带来的将是中国实现跨越式发展的一个绝好机会,我们必须抓住机遇,加入到世界同行的队伍中,一起创造网格。
参考文献:
(1)伊安·福斯特(Ian Foster). 《网格:21世纪信息技术基础设施的蓝图》. 1998年版
(2)商务应用.《什么是网格计算》. http://www.zdnet.com.cn/biztech/tech-trend/ story/0,2000068130,39034787,00.htm. Friday, May 17 2002
(3)中国网格.《网格计算》.www.chinagrid.com
(4)刘鹏.《网格应用研究现状》. 清华大学计算机系高性能所网格研究组
(5)金凡.《网格计算技术的魅力在哪里?》. 中国计算机报.2004-5-10
(6)徐志伟. 《互联网涅槃—正在浮现的网格技术》.《互联网世界》.陈丽英主编
(7)都志辉、陈渝、刘鹏编.《网格计算》.清华大学出版社.2002年11月出版
(8)Ian Foster (Editor), Carl Kesselman (Editor). 《TheGrid》.first edition. published November, 1998