网格计算代表计算领域向前迈进了一大步。尽管此项技术还处于新兴阶段,但在 developerWorks 的网格计算专题中,我们将不断地推出新的文章、教程、参考资料和工具。许多对网格计算感兴趣的读者都会问一些非常基本的问题:如何使用这些资料?从哪里开始?如何把这些资料串到一起?然后做些什么?本文的阅读对象正是那些想要学习网格计算但又不知如何开始的读者。本文在适当的上下文环境中介绍了网格计算的基本概念,并把相关的 developerWorks 文章、教程、技巧、IBM 学习服务教育、研讨会和 IBM 产品串联到一起,供日后深入研究。本文以一种直观的框架介绍网格计算,尝试整合多方资料,同时突出了重点。
如果您感觉这些还不够,那就对了。因为网格领域正在迅速发展,标准、框架、实现和应用程序的改变日新月异。当前的网格计算也许会让您想起从前的 Web,或者 XML 和 Web 服务的出现;一旦稳定的标准和工具产生并相互融合,就会引发相应领域的快速成长。
什么是网格计算?
网格计算是一种新兴的技术,不同人有不同的定义。网格计算的概念十分简单:有了网格计算技术,您可以将原本毫无关系的服务器、存储系统、和网络联合在一起,组成一个大的系统,为用户交付非同寻常的高质量服务。对于最终用户或应用程序来说,网格看起来就像是一个巨大的虚拟计算系统。
现在来详细阐明这一点。借助于网格技术,机构可以使用大量计算机并通过共享计算资源来解决问题,这里所说的问题可能涉及数据处理、网络带宽或者数据存贮。通过网格联合在一起的系统可能位于同一个房间,也可能分布在世界各地;可能运行在多种硬件平台之上;可能运行在不同的操作系统之上;可能属于不同的机构。在一个地方授予用户开始某项任务的权限之后;网格就会利用大量的 IT 资源来完成这个任务。对网格的所有用户来说,网格就是一个运行任务的巨大的虚拟计算机。
这种想法听起来不错,但怎样才能变为现实呢?答案是需要标准的、开放的、通用的协议和接口。网格计算的标准不久就会被定义出来,目前已经渐露身影。
什么样的系统不属于网格?群集、网络附加存储设备、科学装置、网络,这些都不是网格。它们可能是网格的重要组件,但就本身而言,都不能称之为网格。
网格有哪些种类?
计算网格,具有部分预留资源的计算机,可以处理关键数据,或是为其他负载较重的计算机分担任务。
拾遗网格(Scavenging grid),从空闲的服务器和桌面计算机中回收 CPU 周期,用于处理资源消耗量大的任务。
数据网格,为同一机构中的所有数据存储库提供统一界面,通过这个界面可以实现对数据的查询、管理和保护。
更多信息:
红皮书 网格计算基础 是很好的入门读物。
文章 网格计算:为开发人员提供基本概念 给出了一系列初级的白皮书、书籍和文章。从中您可以获取更多关于网格计算的知识。
想要了解 IBM 的电子商务随需应变策略,请参考文章电子商务随需应变:开发人员蓝图.
可以从 Grid computing 网站上获取白皮书、分析报告、成功案例,以及很好的入门视频讲座。
回页首
我可以使用网格计算做些什么?
和 Internet 一样,网格计算也起源于研究和学术领域。现在,商业企业也开始使用网格了。网格计算带来了新型的财务和商业模型。以下是一些例子:
在财经服务领域,网格计算被用于加速交易处理、处理海量数据、并为只能容忍极短停机时间的工作平台提供更稳定的 IT 环境。
政府机关使用网格来集中、保护和集成大量数据存储。许多市政和军事机构都特别要求跨代理机构协作、数据集成和安全,以及跨数千个数据存储库快速获取信息。
涉足生命科学(比如基因组研究)的公司使用并行和网格计算对大量数据执行处理、净化、交叉制表和比较操作。更快的处理速度意味着更快地占领市场。在该行业,任何轻微的优势都可能成为决定因素。
为什么网格计算是重要的?
网格计算将会把许多计算机联合到一起。几乎所有机构都存在大量的闲置计算资源,广泛分布在各个地方。大型主机有 40% 的时间处于闲置状态, UNIX 服务器只有少于10% 的时间在真正“执行”任务,几乎所有的 PC 每天有 95% 的时间什么都不做。请想像一下,如果一家航空公司 95% 的飞机在地面上、一家汽车制造商 40% 的组装工厂被闲置、或者一家连锁旅店 95% 的房间是空置的,那该是多么糟糕的情况。
借助网格计算,企业可以优化计算和数据资源,把这些资源集中用于大容量的工作负荷,通过网络共享资源,以及促进协作。许多人把网格计算看作是 Internet 革命之后势必会走的下一步,并认为逐渐成熟的标准和带宽成本的下降是目前的主要驱动力。计算环境的虚拟化 —— 网格计算 —— 是 IBM 电子商务随需应变策略的一个关键组件。通过虚拟化计算环境,使其自动化,并集成业务处理和信息,您将获得能够改善业务的、随需应变的运行环境。
更多信息:
请参考 ibm.com上Grid 解决方案 的列表
阅读同样位于 ibm.com 上的 Grid 的优势
阅读同样位于 ibm.com上的随需应变的商务。
回页首
网格计算有哪些主要组件?
安全性,因为必须保证只有授权用户才能访问和使用网格资源。
数据管理,因为数据必须被传输、净化、打包和处理。
资源管理,因为网格必须了解哪些任务可以使用哪些资源。
信息服务,因为用户和应用程序必须可以高效地查询网格。
更多信息:
请参考 网格计算:关键组件是什么?
回页首
网格计算有哪些相关标准?
架构。网格计算的架构定义在开放网格服务架构(Open Grid Services Architecture,OGSA)的基础之上,这是由 Global Grid Forum (GGF) 开发的一种标准。OGSA 定义了什么是网格服务,并定义了网格环境提供的整体结构和服务。
网格同时也建立在 Web 服务的标准之上,OGSA 称网格服务不过是符合特定规范的 Web 服务。例如,网格服务的定义采用带有少许扩展的标准 WSDL(Web Services Definition Language,Web 服务定义语言)。这一点为什么十分重要?因为这样的话,我们就可以使用现有的标准,比如 SOAP、XML 和 WS-Security 来访问各种网格服务。当新的网格服务可用时,我们可以通过标准的方式查找、识别和利用它们。除此之外,OGSA 将会为采用不同底层工具构建的网格服务提供彼此之间的互操作性。
规范。开放网格服务基础设施(Open Grid Services Infrastructure,OGSI) 是 OGSA 用于描述概念的正式规范。OGSI 详细给出了一组服务原语,这些服务原语定义了所有网格服务通用的核心行为。
更多的规范正在逐渐出现。Global Grid Forum 上有 10 多个工作组正忙于在各个领域定义一系列网格标准,这些领域包括:应用程序和程序设计模型、架构、数据管理、安全性、性能、调度和资源管理。
我需要对正在发展的网格标准了解多少呢?这取决于您自己的需要。IBM 和其他业内领先厂商,以及许多网格软件供应商的研究人员和代表,都加入到 GGF 的工作中来,目的是为了定义网格标准。您是公司的软件开发人员吗?如果是,当基于新标准的网格工具和产品发布时,您就可以使用它们。您可能希望了解标准,并大致知道标准进行到什么程度。那么请关注 developerWorks 的网格计算专区,我们将会尽最大努力及时通知您标准的进展情况。
更多信息:
网格专区发布的 网格计算 —迈向标准化平台 。
从 Grid Watch column 的 Grid Watch column 中获取开发人员的最新观点。
通过 developerWorks 上的文章 Visual Tour of OGSA 了解 OGSA 是如何规划网格的(2003 年 8 月)。
了解 Global Grid Forum 的工作 http://www.ggf.org.
学习更多关于 Web 服务的知识 developerWorks Web 服务专区。 .
在 GridForge 上有 OGSI 规范 和一个非常详细的 OGSI 入门 。
回页首
我可以马上构建网格吗?
当然。您可以使用开放源代码工具或者供应商提供的专利工具和产品马上开始构建网格。随着时间推移,网格标准将会稳定下来,那时供应商将会提供符合新标准的工具,使您可以更加方便地把各个组件结合到一起。
Globus Toolkit。从下载开放源代码的 Globus Toolkit 3.0 (GT3) 开始是一个不错的选择。GT3 是 OGSI 标准的第一个完整实现,该工具由 Globus Project 开发,这是一个致力于把网格概念应用于科学和工程计算的研究和开发项目。这个工具由一组支持网格和网格应用程序的服务和软件库组成,GT3 中包含了针对安全性、信息基础设施、资源管理、数据管理、通信、故障检测、移植性等各个方面的软件。另外一个可用的工具是 Commodity Grid Kits (CoG),它提供了在特定框架中访问网格服务的能力,包括 Java、 Python 和 Perl 。
工具的种类。网格工具可以被分为以下几类:
基础设施。基础设施包括文件系统、调度程序和资源管理器、消息传送系统、安全应用程序、证书颁发机构,以及像 GridFTP 这样的文件传输机制。
目录服务。网格上的系统必须能够发现可用的服务。简言之,网格系统必须能够定义(和监视)网格的拓扑,这样才能达到共享和协作的目的。许多网格目录服务实现建立在以往成功的模型之上,比如 LDAP、DNS、网络管理协议和索引服务。
调度程序和负载均衡器。网格的主要优势之一在于效率最大化,调度程序和负载均衡器提供了这种功能以及其他功能。调度程序确保任务按照一定的顺序(例如,优先级、最后期限、紧急)来完成,负载均衡器在整个系统内分配任务和数据管理,减少瓶颈产生的机会。
开发人员工具。每个计算领域都需要工具来帮助开发人员。针对网格开发人员的工具定位各有不同(文件传输、通信、环境控制),其范围覆盖了从各种工具程序到所有 API。
安全性。网格环境的安全性是指验证和授权 —— 换句话说,也就是控制谁/什么可以访问网格的资源 —— 但不局限于此。例如,消息完整性和消息保密性在财务和医疗领域中是十分重要的。
更多信息:
下载Globus Toolkit.
IBM 红皮书 Globus Toolkit 3 Quick Start 介绍了 GT3 工具的高级概念和整体架构,并讲述了如何安装、配置和测试 GT3。
查看Globus CoG kits.
查看不断更新的文章库
回页首
IBM 提供哪些网格计算工具?
IBM 网格计算策略将会网格化 IBM 的所有产品。公司目前正在使自己的存储、服务器、基础设施、数据库管理、系统管理、消息传送和文件系统内容符合 OGSA。同时,IBM 正在开发的新技术和产品也把 OGSA 作为共同的基础。
IBM Grid Toolbox是一组可安装的软件包,其中包含了带有附加文档的 Globus Toolkit,以及为运行 AIX 和 Linux 的 IBM eServer 硬件所编写的自定义安装脚本。
IBM DB2 Information Integrator为随需应变的电子商务提供基础,使得公司可以统一、实时地访问各种分布式信息。
IBM Emerging Technologies Toolkit 来自 alphaWorks 的一个软件开发工具包,用于设计、开发和执行日益自动化的网格相关技术和 Web 服务。
Grid application framework for Java 是来自 alphaWorks 的一个轻量级框架,它从应用逻辑中抽象出所有网格语义,并提供能够与通用 Java 程序设计模型协同工作的简单程序设计模型。
IBM 首次引入 grid computing capabilities in WebSphere Application Server ,用于平衡服务器负载。
回页首
怎样才能在我的应用程序中启用网格?
这需要一定的规划。首先需要考虑网格的基本结构和它所提供的服务。您必须知道如何把基础设施的各个部分组合到一起,其中包括安全性、资源管理、信息服务和数据管理,这些将会影响应用程序架构、设计和部署。
更多信息:
How grid infrastructure affects application design是一篇高级文章。
请从Design an application for grid中了解应该关注的要点。
关于在应用程序中启用网格的更多更详细的讨论,请参阅 IBM 红皮书 Enabling Applications for Grid Computing with Globus.