网格风貌
全球互联网实现了人们共享信息的梦想,而网格技术正在向我们展现下一代网络应用的面貌:共享计算资源,例如计算能力和存储资源等等。网格的概念取自于电力网格,我们为设备供电的时候无需关心电力来自何处,电力网络和电力节点所组成的基础设施统合的为所有用户提供所需的电力。网格的创造者们希望网格能够使计算资源能够象电力一样容易使用。在理想的情况下,网格的使用者可以随时随地的执行网格中的程序,取用分散与整个网格中的资料;网格会自动为任务分配所需的计算资源,整个网格系统就像一个具有自主性的有机体。基于开放网格服务体系结构(OGSA)标准和Globus Toolkit提供的开发工具,任何组织都可以构建自己的网格系统,而当这些小型的网格最终完成互联之后,象电力网络一样企业构建了自己的基础结构(我们可以称之为内部网格),但是随着时间的推移,逐渐将这些网格互连起来。诸如 OGSA 之类的标准将使这种互连成为可能,而象电力网格一样的信息网格将成为现实。
参考
OGSA:网格的发展非常依赖于统一和开放的标准,因此促进了开放网格服务架构(Open Grid Services Architecture,OGSA)的出现。OGSA 是由 Global Grid Forum(GGF)的 Open Grid Services Infrastructure(OGSI)在2002 年 6 月制定的。
Globus:Globus 是美国 Argonne 国家实验室的研发项目,全美有 12 所大学和研究机构参与了该项目。Globus 对资源管理、安全、信息服务及数据管理等网格计算的关键理论进行研究,目前Globus 的技术已经在 NASA 网格(NASA IPG)、欧洲数据网格(Data Grid)、 美国国家技术网格(NTG)等多个项目中得到应用。
网格系统的基本构成
用户接口

网格的用户接口应该象电源插座一样对用户屏蔽所有的运作机制和复杂性,为用户提供所有类型应用的统一的接入点。通过网格的用户接口,用户可以透明的获取网格系统中的计算资源。用户接口部分属于网格体系的最顶层“应用层”的内容,该层主要处理与网格用户交互的部分,同时提供统计和认证等管理功能。
代理程序
在通过所需的认证之后,用户会启动一个程序用以确认网格中的可用资源,这个程序通常被称之为代理程序。现在比较常见的一种代理程序是基于LDAP实现的,叫做网格信息服务(Grid Information Service,GIS)。
调度程序
在确认了资源之后,就需要调度这些资源供要完成的任务使用。通常在任务比较单一或相互没有联系的情况下并不需要调度程序也可完成网格资源的分配,而如果多个任务需要共享同一份资源则必须通过调度程序才能完成工作。在网格中计算资源具有不同的级别,所以调度程序也相应的具有不同的级别,多种计算资源组成的集合和单一计算资源可能需要不同级别的调度程序。
数据管理
网格需要有必要的机制将任务所需的数据移动到执行该任务的节点上,在Globus Toolkit中包含了提供此类服务的数据管理组件,称之为辅助存储器网格访问(Grid Access to Secondary Storage,GASS)。该组件包含一些典型的数据传输工具,例如基于标准FTP协议构建的GridFTP。在用户获得了相应的认证之后就可以使用该类工具在网格的任意节点之间传送数据,无需再针对特定的节点进行登录。
资源管理
网格资源分配管理器(Grid Resource Allocation Manager,GRAM)是网格系统中的一组服务,用于对网格中计算资源上的工作任务进行管理,例如启动工作、停止工作、检查工作状态等等。
安全管理
网格的安全体系中应该包括加密、认证、授权等足够完善的安全机制。Globus Toolkit的网格安全性基础结构(Grid Security Infrastructure,GSI)组件提供了健壮的安全性机制,该组件实现了OpenSSL并提供了单一登录等功能。
网格应用解析
计算能力的共享仍旧是目前网格应用的主要方向,例如由美国国防先进研究计划处资助加州理工学院进行的用于大规模军事模拟的SF Express项目,就从单台超级计算机环境转向了了基于Globus的分布式网格环境。网格技术使得SF Express在位于异地的多台超级计算机之间实现了任务调配、并行运算和结果汇总。如果没有网格技术,则只能手动完成超级计算机的预约管理和数据传送。
除了这些大型专有机构发起的应用之外,一个可喜的现象是网格技术已经在向民用市场渗透了。民用市场关心的问题与政府和科研机构有很多不同,性价比是这些组织机构所关注的首要因素。Forrester研究公司的专家对目前企业运算环境的评价是“目前 IT 部门运行效率十分低下,通常只利用了总容量的小部分”。特别是在存储管理方面,闲置空间所造成的浪费相当可观,这也是为什么Oracle和EMC等很多软硬件厂商开始基于网格构建更加先进的存储应用。基于网格的存储设施每秒吞吐量通常都是以几百GB甚至TB,而非MB级别,这些网格存储的I/O将达到几百万到几十亿的IOPS。而提供如此巨大存储能力的系统却可以分布于不同的物理位置,虚拟出一个单一的、自主管理的存储设施。Gartner的一位高级分析师指出:“电脑基础架构一旦开始完全虚拟化,网络化、处理能力、容量等等界限统统消失”。在新的存储形式下,用户甚至可以抛弃自己独立的存储设备,转而使用网格中的的存储资源,而且这一切都是按照实际的需要进行分配的。除了节省费用之外,这种新的网格存储模式还可以提供更高的可用性和更低的故障率,这来自于网格资源节点高度的分布性和灵活性。整个网格相当于一个具有极高冗余性和抗灾能力的存储系统,局部的问题完全不会影响到网格用户的工作。以Oracle为例,在其2003年发布的10g版本的数据库系统当中就集成了网格技术,结合同时发布的Oracle企业管理器10g和Oracle应用服务器10g,已经形成了完整的企业网格计算架构。Oracle企业管理器10g所提供的Oracle网络控制台组件可以帮助企业管理整个Oracle网格设施,并且能够针对目前的设施状态提供智能建议。
案例
KEAN是一家大型超市,其商品采购自上千家的供应商。KEAN希望能够所有商品相关的信息吸纳到自己的系统当中,以对运营活动进行全面的管理。为了保持良好的合作关系,供应商当然乐于提供符合KEAN标准的数据形式并将这些数据传送到KEAN的中心数据库中,但是这一次KEAN采用了超越传统的方式:网格。供应商不再将数据发送给KEAN,而是自己保有这些数据,但是供应商将KEAN需要的数据网格化从而形成了一个虚拟的存储系统。这样KEAN可以随时通过网格服务在这个虚拟数据库中获取数据,而且无需再关心如此众多的数据来源使用的都是什么架构的系统。一个最直接的好处是KEAN省却了搭建中心数据库的成本,供应商们也无需再手动的向KEAN发送数据,网格系统会自动的获取所需的数据而节省了手动数据传送过程中的管理成本。另外,网格系统提供了更高的实时性,相对于传统方式KEAN可以利用网格随时获取最新的数据。
结语
利用现有的技术,企业组织已经有足够的能力建构自己的网格系统,而且现在还可以利用已有网格服务设施的资源,例如Globus的MDS。国内也有一些质量很高的网格服务平台,例如基于Globus的HowU网格和×××计算技术研究所VEGA的资源路由器。网格的发展必将带给企业远超从前的计算能力,并深刻改变网络的整体面貌。