转:网格计算 —— 迈向标准化平台

发表于:2007-05-25来源:作者:点击数: 标签:
级别:入门 MartinC.Brown(questions@mcslp.com) 自由作家/顾问 2004年1月 如何让各个组件相互对话是所有计算技术都面临的问题之一。这就是为什么我们需要标准。但是,如何把标准应用到网格计算中呢?目前都有哪些可用的标准?在网格应用程序中采用标准 解决

级别:入门 
 

Martin C. Brown (questions@mcslp.com)
自由作家/顾问
2004 年 1 月

如何让各个组件相互对话是所有计算技术都面临的问题之一。这就是为什么我们需要标准。但是,如何把标准应用到网格计算中呢?目前都有哪些可用的标准?在网格应用程序中采用标准解决方案真正能获得多大的好处?Martin C. Brown 通过本文回答了这些问题,并回顾了网格的历史,展望了网格的未来。 
如何让各个组件相互对话是所有计算技术都会面临的问题之一。要使不同平台和环境相互对话,没有哪一点比这个问题更重要了。这就是网格计算面临的挑战之一。要更有效地利用可用的计算资源,这些环境需要采用相同的语言来对话。

本文将探讨标准在网格计算中的重要性,标准对功能和工具所产生的影响,目前存在哪些标准,以及如何应用标准解决分布式计算的问题。然后,本文还将介绍基于标准的环境所具备的优势。

网格开发的历史
为了理解标准在整个网格计算中的作用,有必要首先回顾网格计算的发展历程。 

可以这么说:网格计算起源于早期的计算机网络。那时,使用“空闲” CPU 周期被看作是一种有效而经济的方法,可以最大限度地利用昂贵的硬件。在 1970 年:计算机都是价值几十万美元的大型机,每一秒都意味着大量金钱的开销,所以使用那些“浪费”的周期可以最大限度地节约成本。 

随着计算机的快速发展,Internet 产生了大量未被充分使用的计算能力。使大众计算机能够在分布式计算环境中处理任务这一领域出现了两个领导者,distributed.net 和 SETI@Home。Distributed.net 专注于使用穷举(brute force)方法来解决加密字符串的计算需求。 

SETI@Home 使得公众可以通过对无线电的峰值和正常信号的处理,加入到寻找宇宙生命的巨大工程中。在这背后,许多其他公司也提出了解决方案;比如来自 United Devices 的通用解决方案,以及其他一些针对特定目标的支持方案,比如 Parabon 公司的解决方案。

不过,这些网格系统各不相同。如果只安装 distributed.net 客户机,您将无法处理甚至无法访问 SETI@Home。同样,如果不使用 United Devices 的分发和管理系统,您也无法部署 United Devices 客户机。

没有标准的生活
Twwl hgoiwh, ghgi, ahdfigh pkasdp ndpjw pigpinmg。

您能理解上面这些文字吗?我肯定您不能。但这正好说明了没有标准的生活所带来的问题。如果没有标准的方法来交流书写的文字,人们将无法彼此理解。 

这个道理同样适用于计算领域。如果您正在线阅读本文,那么您不仅要理解英文,而且需要使用一些标准来完成这项任务,比如 TCP/IP,一种网络通信标准;HTTP,一种文件传输协议标准;HTML,一种文本描述标准。您很可能还要使用键盘和鼠标,同样,它们也必须遵守一些标准才能与计算机协同工作。最后,操作系统和应用程序之间也需要通信,并把所有字节转换成显示器上的像素。 

在新兴的网格技术中,标准的缺乏是指各个公司、开发人员和机构使用不同的技术和方案来开发、支持网格技术。在各个网格计算群体相对隔离的情况下,这不会引发太大的问题。但是,如果想在更大范围内扩展网格计算环境,这将会引发分割、不兼容和局限性等诸多问题。 

有效的网格依赖于对计算能力的充分利用,不论网格位于局域网中、跨越外网还是贯穿范围更广的 Internet 系统。为了高效地利用计算能力,网格需要尽可能地支持广泛的计算平台,而且必须具备灵活的机制来分发和分配任务给各个客户机。

通过对 Internet 上几个较为著名的网格计算项目的观察,您可能已经发现了非标准方案的局限性。以 distributed.net 为例,如果想要成为 distributed.net 网格的服务提供者,您必须下载一个特定的客户机,用于处理来自相应服务器的任务单元。即使安装了 distributed.net 客户机之后,您也只能处理 distributed.net 提供的任务单元。 

这种封闭的环境限制了以下方面:如何分配工作,谁可以成为服务提供者,谁可以成为服务请求者,以及如何找到可用的项目。Distributed.net 服务提供者只能处理来自 Distributed.net 的任务单元。 

请仔细思考一些具体的问题,以下这些是缺乏网格标准可能引发的问题:

安全性。缺乏网格服务成员或任务单元分配方面的安全标准,信息可能被分配给错误的客户机,或者导致恶意用户连接到网格服务。 
信息服务。网格服务的信息或元数据可以帮助系统分配信息,并识别请求者、提供者以及他们各自的需求和可用资源。如果缺少这方面的标准,只能使用专门的软件和解决方案来支持自己的网格系统。 
数据管理。您需要存储信息,并分配信息给网格服务。如果没有一个标准化的方法来描述任务和任务的交换方式,网格服务的灵活性和互操作性将会受到限制。 
调度。必须能够在服务提供者之间调度任务,这样才能保证提供者保持忙碌状态并在适当的时间和阶段内工作。描述网格服务的标准化方法有助于给出这一方面的结构,因为它允许在网格实现中指定任务的调度方式。 
任务单元管理。有效的网格服务需要借助任务单元的分配管理,保证任务均匀地分配给每个服务提供者。如果缺少一种发布和管理这一过程的标准方法,很可能会出现这样的情况:一些服务提供者处于闲置状态;而另外一些提供者则有大量任务在排队等待,需要花费大量时间去处理。 
分发管理。代理并分发任务单元到客户机这一任务可以通过多种不同的方式来实现。如果没有一种标准的分发管理方法,将会限制服务提供者对任务单元的连接和接收,同时也会限制网格服务用户(即请求者)提交任务的能力。 
从网格开发人员的角度来看,采用封闭环境同样会带来问题。为了利用网格上的计算资源,网格开发人员必须使用专门的工具包或开发环境来构建、提供和处理任务单元。封闭环境限制了任务单元运行的网格平台,同时限制了网格任务的使用、提供和请求。

这也意味着:如果不重新部署相应的网格软件,您就无法在自己的网格中联合或者采用其他网格解决方案。例如,如果 distributed.net 想要让自己的服务提供者(安装了 distributed.net 客户机的人)处理 SETI@Home 任务单元 ,则他们必须重新部署服务提供者。他们还必须重新设计自己的发现和分配系统,从而允许不同种类的任务单元被部署给服务提供者。并且,他们还需要更新已完成单元上的统计分析,这样才能保证跟踪的正确性。 

网格的目标是利用所有可用的计算能力。但是,如果没有标准,我们实际上限制而不是扩展了闲置计算资源在网格服务中的作用。 

标准方案的优势
标准化方案有许多优势,最终可以归纳为一点:扩展和延伸了网格计算的可用资源。更明确地说,如果遵守 OGSI 标准,将会带来以下优势:

互操作性。可以混合使用服务提供者组件,分发跟踪系统和系统管理。更重要的是,可以在各种平台上、用各种语言轻松而高效地开发和设计网格系统。所有这些因素都将简化向服务提供者分发任务的工作,并简化服务提供者查找可以连接的网格服务和系统。 
功能增强。支持更多平台和环境,能够更方便地发布服务,从而导致可用功能的增强。 
灵活性。网格有了更广泛的客户机,客户机也有了更广泛的网格,增强的灵活性意味网格用户可以提高自己的计算能力。因为所有组件都使用同一种语言进行对话,所以我们可以分别站在客户机和服务器的角度,在网格系统和任务之间进行切换。这样就可以节约网格用户的计算能力,客户机也可以选择支持更广泛的项目。 
开发速度。使用标准工具包将会加速网格系统的开发速度。与其花费时间在网格的通信和管理系统开发上,不如多花些时间在优化数据处理例程上。 
通过使用一系列标准,我们可以增加潜在的资源储备、扩展网格服务、简化管理,并使它们以一种开放而高效的方式运行,从而可以更方便地部署和使用网格服务。 

但是,应该选择什么标准呢? 

了解 OGSA 和 OGSI
目前,只有一种网格服务标准,开放网格服务架构(Open Grid Services Architecture,OGSA),以及它的配套实现标准,开放网格服务基础设施(Open Grid Services Infrastructure,OGSI)。 

通过定义适用于任何网格系统的基本网格应用程序结构,OGSA 希望能够解决前面提到的问题。本质上,OGSA 标准定义了什么是网格服务,网格服务可以做些什么,以及网格服务所基于的技术。但是,OGSA 并没有深入阐述规范中的技术细节,它的主要目的是澄清什么是网格系统,什么不是网格系统。 

OGSI 是 OGSA 所描述的概念的正式技术规范。OGSI 中包含如何管理任务、分配任务以及如何描述服务提供者和网格服务的规范。Web 服务,尤其是简单对象访问协议(Simple Object Aclearcase/" target="_blank" >ccess Protocol,SOAP)和 Web 服务描述语言(Web Services Description Language,WSDL)是这个规范的重要部分。 

Web 服务组件有助于在整个网格内分配和管理任务。因为 Web 服务为主机之间的通信提供了一种透明的方法,所以不论采用的是何种底层语言和平台,您都可以使用 Web 服务方便地传输任务、描述资源和配置信息、通信和分发网格信息。WSDL 为支持网格应用的 Web 服务提供了一种简单的描述和发布方法。 

OGSI 将会成为各种不同网格实现的基础。第一个 OGSI 实现是 Globus Toolkit, 现在的版本是 3.0 。这个最新发布的版本基于 OGSI 标准。

为了理解这种关系,我们可以将 OGSA 比作汽车的设计者,将 OGSI 比作把设计变成技术规范的工程师,而 Globus 充当的角色是实际制造汽车的人。

因为 OGSI 标准建立在许多其他标准(XML、Web 服务、WSDL)之上,所以它是一种开放的、基于标准的解决方案。这意味着,将来不论网格服务基于的是何种语言和平台,都可以兼容于 OGSI 标准。 

目前,OGSA 和 OGSI 都在发展之中。要想解决所有非标准化方案所引起的问题,构建通用标准,我们还需要付出很大的努力。 

IBM 是推进标准化网格环境背后的主导力量。IBM 是 Globus toolkit 重要支持者,Globus toolkit 是支持 OGSA/OGSI 系统新标准的主要解决方案。IBM 还是 Global Grid Forum 的发起人,这个论坛的主要使命是开发网格计算的行业标准。IBM 正在部署一个新版本的WebSphere,这是一个 Web 开发平台,它借助了网格技术来帮助分发 Web 应用程序获得的请求。

展望未来
未来是令人向往的,到那时,标准的网格平台可以被开发和部署在任何可能的设备上,设备的子任务系统允许任何具有适当权限的人向网格提交任务。大量隶属于特定公司或者项目的独立网格将不复存在,我们将会拥有一个全球性的网格,各种任务将会根据任务需求和资源可用性在整个网格上展开。

在更远的未来,用于描述和处理独立任务单元的标准方案也将发挥作用。如果我们可以把所有网格提供者部署成标准服务提供者,不论他们采用的是何种底层平台,那么客户机不需要更新就可以处理任何任务。这将为网格项目带来无限的资源。

结束语
本文介绍了使用诸如 OGSA/OGSI 系统这样的标准网格环境所带来的好处。基于标准的网格应用程序具有两方面的主要优势。第一,网格技术的开发和部署变得更加容易。第二个优势更加重要,使用基于标准的系统可以提高互操作性和灵活性,并将最终促成更大的网格,引导网格项目的更广泛应用。 

参考资料 

关于在应用程序中启用网格环境的更多信息和深入讨论,请参阅 IBM 红皮书 “通过 Globus 启用应用程序的网格计算功能”。


IBM 网格计算站点 http://www.ibm.com/grid。


关于 Globus Project 的详细信息,请访问 http://www.globus.org。


“开发人员对于 OGSI 和基于 OGSI 的网格计算的概述” ,这是 Joshy Joseph 介绍 OGSI 规范的一篇较早的文章。


请访问 OGSA Architecture 文档,位于 http://www.ggf.org/ogsa-wg/。


OGSI WG 和 Specification 可以从以下网址获得:http://www.gridforum.org/ogsi-wg/。


可以从以下网址下载 Globus Toolkit:http://www.globus.org/ogsa/releases/alpha/。


关于 WSDL 1.1 /1.2 的信息,请访问 http://www.w3.org/2002/ws/desc/。


关于 SOAP 1.1 /1.2 的信息,请访问 http://www.w3.org/2000/xp/Group/。


关于 XML 的信息,请访问 http://www-106.ibm.com/developerworks/xml。


Distributed.net 客户机可以从以下网址获得:http://www.distributed.net。


Parabon 和 Pioneer 客户机可以从以下网址获得:http://www.parabon.com。


通过以下 SETI@Home 网址,您可以帮助搜寻太空文明:http://setiathome.ssl.berkeley.edu/。


构建网格计算系统的 United Devices 的网站 http://www.grid.org.


关于作者 
Martin C. Brown 以前是一位具有跨平台集成经验的 IT 主管。他是一个敏锐的开发人员,曾经为一些重要客户构建动态站点,其中包括 HP 和 Oracle,他是 Foodware.net 的技术主管。现在,MC 是一位自由作家和顾问,由于他的名气,他作为一个 SME 与 Microsoft 合作紧密;同时也是 LinuxWorld 杂志的 LAMP Technologies Editor;还是 AnswerSquad.com 团队的核心成员;他曾经编写的书籍包括 XML Processing with Perl、Python and PHP、Microsoft IIS 6 Delta Guide 等。可以通过 questions@mcslp.com 与 MC 联系。

原文转自:http://www.ltesting.net