网格(Grid)是90年代中期发展起来的下一代互联网核心技术。网格技术的开创者Ian Foster将之定义为“在动态、多机构参与的虚拟组织中协同共享资源和求解问题”。网格是在网络基础之上,基于面向服务架构(SOA, Service-Oriented Architecture),使用互操作、按需集成等技术手段,将分散在不同地理位置的资源虚拟成为一个有机整体,实现计算、存储、数据、软件和设备等资源的共享,从而大幅提高资源的利用率,使用户获得前所未有的计算和信息能力。
国际网格界致力于网格中间件、网格平台和网格应用建设。就网格中间件而言,国外著名的网格中间件有Globus Toolkit、UNICORE、Condor、gLite等,其中Globus Toolkit得到了广泛采纳;就网格平台而言,国际知名的网格平台有TeraGrid、EGEE、CoreGRID、D-Grid、ApGrid、Grid3、GIG等。美国TeraGrid是由美国国家科学基金会计划资助构建的超大规模开放的科学研究环境。TeraGrid集成了高性能计算机、数据资源、工具和高端实验设施。目前TeraGrid已经集成了超过每秒750万亿次计算能力、30PB数据,拥有超过100个面向领域的网格应用环境。欧盟e-Science促成网格EGEE(Enabling Grids for E-sciencE),是另一个超大型、面向多种领域的网格计算基础设施。目前已有120多个机构参与,包括分布在48个国家250个网格站点、68,000个CPU、20PB数据资源,目前拥有8,000个用户,每天平均处理30,000个作业,峰值超过150,000个作业;就网格应用而言,知名的网格应用系统数以百计,应用领域包括大气科学、林学、海洋科学、环境科学、生物信息学、医学、物理学、天体物理、地球科学、天文学、工程学、社会行为学等。
我国在十五期间有863支持的中国国家网格(CNGrid,863-10主题)和中国空间信息网格(SIG,863-13主题)、教育部支持的中国教育科研网格(ChinaGrid)、上海市支持的上海网格(ShanghaiGrid)等。中国国家网格拥有包括香港在内的10个结点,聚合计算能力为18万亿次,目前拥有408个用户和360个应用。中国教育科研网格ChinaGrid连接了20所高校的计算设施,运算能力达每秒3万亿次以上,开发并实现了生物信息、流体力学等五个科学研究领域的网格典型应用。十一五期间,国家对网格支持的力度更大,通过973和863、自然科学基金等途径对网格技术进行了大力支持。973计划有“语义网格的基础理论、模型与方法研究”等,863计划有“高效能计算机及网格服务环境”、“网格地理信息系统软件及其重大应用”等,国家自然科学基金重大研究计划有“网络计算应用支撑中间件”等项目。
就像云计算可以分为IaaS、PaaS和SaaS三种类型一样,网格计算也可以分为三种类型:计算网格、信息网格和知识网格。计算网格目标是提供集成各种计算资源的、虚拟化的计算基础设施。信息网格目标是提供一体化的智能信息处理平台,集成各种信息系统和信息资源,消除信息孤岛,使得用户能按需获取集成后的精确信息,即服务点播(Service on Demand) 和一步到位的服务(One Click is Enough)。知识网格研究一体化的智能知识处理和理解平台,使得用户能方便地发布、处理和获取知识。
需要说明的是,目前对网格的认识存在一种误解,认为只有使用Globus Toolkit等知名网格中间件的应用才是网格。我们认为,只要是遵照网格理念,将一定范围分布异构资源集成为有机整体,提供资源共享和协同工作服务的平台,均可以认为是网格。这是因为,由于网格技术非常复杂,必然有一个从不规范到规范化的过程,应该承认差异存在的客观性。虽然网格界从一开始就致力于构造能够实现全面互操作的环境,但由于网格处于信息技术前沿、许多领域尚未定型、已发布的个别规范过于复杂造成易用性差等原因,现有网格系统多针对具体应用采用适用的、个性化的框架设计和实现技术等,造成网格系统之间互操作困难,这也是开放网格论坛OGF(Open Grid Forum)提出建立不同网格系统互通机制的计划GIN(Grid Interoperation Now)的原因。从另一个角度看,虽然建立全球一统的网格平台的计划还有很长的路要走,但并不妨碍网格技术在各种具体的应用系统中发挥重要的作用。网格计算与云计算的关系如下表所示。
表 1 网格计算与云计算的比较
网格计算 | 云计算 | |
目标 | 共享高性能计算力和数据资源,实现资源共享和协同工作 | 提供通用的计算平台和存储空间,提供各种软件服务 |
资源来源 | 不同机构 | 同一机构 |
资源类型 | 异构资源 | 同构资源 |
资源节点 | 高性能计算机 | 服务器/PC |
虚拟化视图 | 虚拟组织 | 虚拟机 |
计算类型 | 紧耦合问题为主 | 松耦合问题 |
应用类型 | 科学计算为主,计算密集 | 数据处理为主,数据密集 |
用户类型 | 科学界 | 商业社会 |
付费方式 | 免费(政府出资) | 按量计费 |
标准化 | 有统一的国际标准OGSA/WSRF | 尚无标准,但已经有了开放云计算联盟OCC |
网格计算走的是学院派的路子:在概念上争论多年,在体系结构上三次伤筋动骨,在标准规范上花费了大量的心力,所设定的目标又非常远大--要在跨平台、跨组织、跨信任域的极其复杂的异构环境中共享资源和协同解决问题,所要共享的资源也是五花八门--从高性能计算机、数据库、设备到软件、甚至知识;云计算走的是现实派的路子:暂时不管概念、不管标准,Google云计算与Amazon云计算的差别非常大,云计算只是对他们以前做的事情的新的共同的时髦叫法;所共享的存储和计算资源暂时仅限于某个企业内部,省去了许多跨组织协调的问题;以Google为代表的云计算在内部管理运作方式上的简洁一如其界面,能省的功能都省了,Google文件系统甚至不允许修改已经存在的文件,大大降低了实现难度,却借助其无与伦比的规模效应释放前所未有的能量。
网格计算与云计算的关系,就像是OSI与TCP/IP之间的关系:ISO制定的OSI(开放系统互联)网络标准,考虑得非常周到,也异常复杂,在多年之前就考虑到了会话层和表示层的问题。很有远见,但过于阳春白雪了,实现的难度和代价也非常大。当OSI的一个简化版--TCP/IP冒出来之后,将七层协议简化为四层,内容也大大精简,因而迅速取得了成功。在TCP/IP一统天下之后多年,语义网等问题才被提上议事日程,开始为TCP/IP补课,增加其会话和表示的能力。因此,OSI是学院派,TCP/IP是现实派。OSI是TCP/IP的基础,TCP/IP又推动了OSI的发展。不是成者为王、败者为寇的问题,而是滚动发展的问题。
早在2002年,刘鹏就指出了传统网格计算思路存在的不实用问题,并提出了网格计算池(Computing Pool)的概念[1][2],这种概念与当今的云计算是吻合的。“传统上,人们希望用网格将若干台超级计算机的计算能力‘累加’,以形成一个‘前所未有’的虚拟超级计算机。但是,到目前为止,这些项目还是试验性的、专用的,不太可能投入长期的、针对通用任务的实际运行。究其原因,大多数计算任务不能够划分成相互之间不通信或很少通信的子任务,因而在子任务之间存在频繁通信。而无论网络条件有多好,远程超级计算机之间的通信带宽和延迟(由远距离传输和TCP/IP协议造成)都无法与超级计算机内部总线和系统区域网络SAN相比。…… 既然目前阶段网络条件和研究水平尚不能有效地支持跨结点分布运算任务(这就是国际上所设想的计算网格),限定为三点:(1) 计算资源共享(N台本地或异地高性能计算机加入这个系统中)。可以大大提高资源的利用率和服务质量。(2) 不把一个任务分解成N个子任务,而只是安排在其中一台合适的机器上运行。(3) 通过Web提交任务和查看结果。”也就是说,网格计算池“把分散在各地的高性能计算机用高速网络连接起来,用专门设计的中间件软件有机地粘合在一起,以Web界面接受各地科学工作者提出的计算请求,并将之分配到合适的结点上运行。计算池能大大提高资源的服务质量和利用率,同时避免跨结点划分应用程序所带来的低效性和复杂性,能够在目前条件下达到实用化要求。”
没有网格计算打下的基础,云计算也不会这么快到来。云计算是网格计算的一种简化实用版,不像网格2.0,而像网格0.2。网格0.1是指以前实现的以科学研究为主的网格,非常重视标准规范,也非常复杂,但缺乏成功的商业模式。云计算是网格计算的一种简化形态,云计算的成功也是网格的成功。网格不仅要集成异构资源,还要在解决许多非技术的协调问题,也不像云计算有成功的商业模式推动,所以实现起来要比云计算难度大很多。但对于许多高端科学或军事应用而言,云计算是无法满足需求的,必须依靠网格来解决。
目前,许多人声称网格计算失败了,云计算取而代之了,这其实是一种错觉。网格计算已经有十多年历史,不如刚兴起时那样引人注目是正常的。事实上,有些政府主导、范围较窄、用途特定的网格,已经取得了决定性的胜利。代表性的有:美国的TeraGrid和欧洲的EGEE等,这些网格每天都有几十万个作业在上面执行。未来的科学研究主战场,将建立在网格计算之上。军事上,美军的全球信息网格GIG已经囊括超过700万台计算机,规模超过现有的所有云计算中心之和。
相信不久的将来,建立在云计算之上的商业2.0与建立在网格计算之上的科学2.0都将取得成功。
参考文献
[1] 刘鹏. 提出一种实用的网格实现方式——网格计算池模型, 2002-11-27, http://www.chinagrid.net/show.aspx?id=1672&cid=57
[2] Peng Liu, Yao Shi, San-li Li, Computing Pool--a Simplified and Practical Computational Grid Model, the Second International Workshop on Grid and Cooperative Computing (GCC 2003), Shanghai, Dec 7-10, 2003, published in Lecture Notes in Computer Science (LNCS), Vol. 3032, Heidelberg: Springer-Verlag, 2004.http://www.chinagrid.net/show.aspx?id=1915&cid=48
本文作者:刘鹏,来源:中国云计算(http://www.chinacloud.cn)