据Gartner市场调查公司的一位分析员罗布·巴切尔德说:各种数据表明网格技术在商业和研究领域有巨大发展潜力,非凡值得关注的是这个新型产业正在以每年50%的速度惊人地增长着。
尽管网格一词对大多数计算机用户来说还很生疏,但是翻开资料就会发现,国外的网格计算研究从20世纪90年代初就已经开始了,我国是在2000年左右开始这方面研究的。
网格是借鉴电力网(electric power grid)的概念提出来的。由于科研及商用计算的复杂度越来越高,人们越来越需要功能更强大的计算机。但是就如“深蓝”并不是每个人都能够拥有的,部分国家对超级计算机的出口限制及其造价的昂贵限制了它的广泛应用。另一方面,现有的计算机发展水平并不能满足人类的所有要求,许多大型计算动辄需要几年时间,越来越多的领域需要“更深的蓝”。于是人们开始寻找实现成本低廉而性能卓越的计算模式,那就是网格计算。
定义难统一
关于什么是网格有很多不同的定义。借助于人们对Internet的了解和熟悉,有人将网格称为下一代的Internet,以强调网格应用的重要性和意义;也有人将网格看做是中间件系统,虽然网格的功能需要依靠中间件的支持和治理完成,但网格决不只是中间件;还有人认为网格仅仅是把现有的计算机、设备、数据等连接起来进行共享和协作,这个观点是过时的,因为他们没有将网格看做是一个整体。实际上网格已经打破了传统意义上的共享和协作的概念,它可以使我们如同使用一台计算机那样使用Internet中的各种资源。人们对网格的定义有如此多的分歧,正说明网格的多面性。
IBM认为:互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”,这种计算方式叫做网格计算。(grid computing)。
网格与Internet的区别
有人说:“今天我们上网,明天我们就上网格了。”这种说法不够准确,让人误以为有了网格人们就不再需要Internet了。其实,网格作为建立在Internet上新一代基础设施,用户必须通过Intertnet获取网格的服务。网格使得资源的共享不再仅仅停留在数据的传输层次上。通过网格服务,可以实现多层次的资源共享,包括对计算资源、存储资源、数据资源、各种仪器资源甚至是人才资源的全面共享。
未来的网格,如同分布在世界各地的电网所产生的电能一样,可以将网格上的各种资源转化成巨大的计算能力,人们可以通过购买的方式得到这种计算能力。正如HP公司网格研究负责人里奇·弗里得里克所说:“我们将使用计算机网格来建立一个拥有大量计算能力和存储空间的环境,像获取电能一样获取计算能力和存储空间。”
商业应用有待开发
网格技术应用的一个重要意义就是让超级计算机涉及更多学科的计算领域,今天网格技术已被广泛应用于很多领域。1997年加利福尼亚大学伯克利分校的科学家们启动了一个名为SETI@home的项目,这是迄今为止最知名的计算网格,科学家希望能利用Internet范围内的计算网格,来分析用无线电天文望远镜探索地球以外的生命时所产生的大量数据。正在日内瓦建设的存储网格,是为了帮助欧洲核研究组织(European Organization for NUClear Research,ERN)的科学家们利用庞大的存储网格每年将处理数十亿gigabyte的数据,这些数据是CERN的粒子加速器所产生的,当CERN于2007年正式建立联机模式后将源源不断地产生大量的数据。过去,模拟运算需要用几天时间;而现在,只用几分钟时间而且只需极低的成本就可以完成了。IBM公司和宾夕法尼亚大学正在开发一种数据网格,能够让医生查阅全国医院网格系统上存储的病人乳房X光照片。美国糖尿病协会利用由其雇员的250多台计算机组成的网格来模拟计算错综复杂的医学数据。
目前网格计算还只是被普遍用于科研领域,较少的商业应用大多集中于金融、制造业,广泛的商业应用还有待开发。
网格不是万能的
在网格计算热情高涨的今天,必须有清醒的熟悉,网格不是传说中的银弹,它不可能解决所有问题,有专家认为:并非所有的计算都能够在网格中得到加速。只有那些可以并行运算的应用才可能被拆分成若干任务分配到多个网格计算节点,通过并行处理来提高计算速度,而有些串行计算应用是不适合在网格中计算的。
“more nodes, more points of weakness”。也许网格相对于单点计算机的计算能力要强大很多,但是导致计算任务的失败(比如器件失效)可能性也相对增大;一台计算机单独完成一项计算任务比100台计算机并行协同完成同一计算任务失败的概率要低得多,因为,当各个计算节点的处理结果相互耦合时,一台计算机的内存单元的失效所导致的计算错误就会造成整个计算的失败,而且故障很难定位。
产品服务各领风骚
在网格对大多数人来说还很生疏时,IT生产厂商们却都已将网格看作是继Internet和Web之后计算机应用领域的第三次技术革命,Sun公司网格计算总监Gentzsch博士说:“这是业界的趋势,假如你不做,别人一样会做,而你可能最后落得没有生意可做。”
2003年各大IT 生产厂商相继发布了其应用于网格技术的新产品,并积极推广各自的网格服务策略。Oracle公司的最新数据库产品 — Oracle数据库10g ,它与Oracle应用服务器10g和Oracle企业治理器一起共同构成了集成式网格计算结构软件,虽然Oracle 10g是真正意义上的网格产品,但是Oracle 10g更倾向于Oracle产品之间的集成。
作为中间件开发的领先企业,Oracle公司通过Java社区组织领导和参与了100多项网络的建立。在Oracle公司内部也已经开始使用网格计算技术。
IBM 作为网格技术的积极倡导者2001年公布投资40亿美元开发网格产品,其DB2数据库为网格开放标准提供了广泛支持,IBM 存储部的产品也将支持网格计算的实施。IBM全球服务部提供网格计算的构建、运行和维护所需的一整套IT技能,IBM还与五家提供网格治理软件的厂商(Platform Computing、DataSynapse、Avaki、Entropia,以及UnitedDevices)共同合作,在其网格解决方案中使用上述厂商的生产网格软件,应当看到在网格集成应用方面IBM具有相当的实力。IBM的一位发言人称:“我们已经有超过100个已经形成产品的网格项目,而且我们去年已经发布了10个特定行业的网格计算产品。”
SUN公司的Sun Grid Engine(SGE)和Sun Grid Engine企业版(SGEEE)等软件产品都支持网格技术。Sun从2000年开始提供网格技术方面的解决方案:Sun的网格系统。非凡值得一提的是Sun从部门级网格做起,迄今为止全球已经有8000个部门级网格使用Sun的网格系统,随着Sun的Sun Grid Engine软件的发布,Sun已经制定了企业网格方案,该产品对部门级用户不收费。到现在Sun又提出了开发全球网格系统。
此外,HP 也在其OpenView平台上增加对网格规范和标准的支持。Platform的 Platform LSF、 Avaki公司的 Avaki Data Grid、 Entropia的 Entropia DCGrid 等也都是针对特定行业的网格计算产品。
安全体系必须健全
就像网络安全一样,网格安全也是一个让人无法回避的问题,网格意味着异地客户设计的指令会在本地计算机中执行,我们清楚的记得,Unix的莫里斯蠕虫是如何通过堆栈溢出来盗取root权限,从而入侵系统进行破坏。更高的复杂度意味着更多的缺陷,复杂的网格计算系统必然面临着同样的安全威胁。
Oracle的CEO Larry Eillson就曾表示,网格技术的应用有着重大意义,但是把网格技术从实验室搬到企业来运用还有很多的工作要做。网格技术的确能够很好地处理过剩问题,但是在安全方面却还远远不够健全。IBM公司也表示,最初企业版的网格技术应用程序都将是最基本的。在这一阶段企业用户最担心的问题就是安全性、可伸缩性以及整合性。
网格是连接在Internet上为用户提供服务的,网络安全服务并不能完全解决网络计算环境中的安全问题,网格安全问题比网络安全问题更为复杂。目前Globus项目已经通过提出网格安全基础设施GSI保证网格计算环境的中的安全认证和安全通信等能力。
走进企业尚需时日
任何最新的技术,只有当它与具体广泛的应用相结合时才有发展的空间。IBM 、ORACLE 、HP、SUN等生产厂商都对网格技术的发展前景表示乐观,如Oracle的CEO Larry Ellison认为,在未来的5年内,Oracle的一半客户都会转向网格。Sun公司网格计算总监Gentzsch博士也说:“网格终将会继WWW或Internet成为企业连接的管道,但可能需要十年的时间。”《福布思》杂志也曾预言网格技术将在2004~2005进入高峰,到2020年发展成为一个年产值为20万亿美元的大型产业。但目前还是有很多企业认为,现阶段网格技术还不够成熟,缺少广泛统一的标准,能为企业带来的投资回报也无法预计。作为eWEEK的合作者同时也是 Arnold Workdwide 广告公司的CIO—Abellas-Martin就曾说:“除非你有非凡需要,如非凡效果计算、金融市场分析、天气预告或那些只有超级计算机才能胜任的任务,否则我无法想象会有多么复杂的事情需要网格计算。”他的话确实代表了现在很多人的想法:网格虽好,进入企业却尚须时日。看来,网格技术能否被更多的企业用户接受的问题,也许比它所碰到的技术上的问题更具挑战性。