网格计算:为开发入门人员提供基本概念

来源:百度文库 编辑:神马文学网 时间:2024/04/29 18:11:17
http://www.GridTeam.com   2005-2-25   来源:网格工场
网格计算:为开发入门人员提供基本概念
作者:Thomas Myer
1.网格计算是什么?
2.深入研究
3.难题
4.网格计算的现状
网格计算是“下一项重要的技术”,本文的目的是全面概要地介绍几个关键概念。本文将许多网格计算概念与开发人员所知道的大量概念(如面向对象编程、XML 和 Web 服务)关联起来。作者提供了一个白皮书、文章和书籍的参考书目,您可以在其中找到有关网格计算的更多信息。
首先出现的是大型机:当时在少数几家大公司和大学实验室中,只有像神父般深居简出的工程师们才使用这些巨大而笨重的计算设备。随后出现了桌面机器、迷你型和微型计算机,它们为日益增长的使用计算机的人群提供了在公司和家里进行计算的强大能力。
然后出现了客户机 - 服务器以及联网技术和协议,从而将所有这些机器都挂钩在一起,允许它们相互通信。紧接着出现了因特网,它使我们能够与地球上的任何连网机器进行通信并共享文件和数据。
现在,我们正转向下一项重要的技术:网格计算,它与因特网一样具有很大的潜力来更改我们做生意的方法。您或许已经熟悉了如 Web 服务、XML 和面向对象编程之类的技术。网格计算与这些技术非常相似,只是概念有所不同。
本文将向您演示这一新生技术如何借用过去的技术概念 — 对您来说,不用花很多时间就可以了解网格计算的发展与 Web 服务、XML 和其它几种类似技术的发展之间的相似之处。您还将发现网格服务及其所在的真正框架与面向对象编程是如此相似。
1.网格计算是什么?
有时候,告诉您网格计算不是什么会比较容易开始定义它。例如,它不是人工智能,不是某种高级连网技术。它也不是某种治愈所有的技术“疾病”的科幻万能药。
如果您把因特网看作通信网络,那么网格计算就是计算网络:用于合用资产之间协调资源共享和问题解决的工具和协议。这些合用资产被称为虚拟组织。它们可以分布在世界各地;它们是异构的(有些是 PC,有些是服务器,也许是有些大型机和超级计算机);在某种程度上是自主的(网格可能访问不同组织的资源);而且是临时的。
虽然网格计算一直隐匿于理论和研究活动范围(过去十年一直是这样),但越来越多的公司正开始求助于它来解决顽固的现实问题。
请考虑这样一种情况:大多数 IT 部门都被强迫实现低投入高产出。预算压缩了,资源“瘦身”了,并且不是缺乏有技术的人力资源就是这样的人要价颇高。更为糟糕的是,大多数公司管理者都知道他们有极为丰富的空闲计算能力。业界众所周知的是,大多数桌面机器仅使用其容量的 5% 到 10%,大多数服务器最多只不过使用 20%。于是,美国公司的许多富人不再考虑购买更多的设备来完成工作,这一点就不足为奇了。
这些公司需要的不是更多的资源,而是更有效地使用现有的资源。它们需要一种方法来将所有这些空闲机器都联系起来形成一个潜在的劳动池、管理这些资源并提供对数字运算能力的安全、可靠的访问。想象一下,如果公司或组织能够在晚上使用其所有的空闲桌面 PC 来运行内存密集型和处理器密集型的任务,会怎么样呢?它们会完成得更好更快,可能更快地推向市场,同时削减其 IT 开支。
网格计算正日益成为一种企业可以用来从 IT 资源“榨取”更多利润和生产力的可行技术 — 而且要由您 — 开发人员和管理员 — 来了解网格计算并将它应用于工作中。
2.深入研究
从开发人员的观点来看,网格是由一些虚拟组织通过使用一套公共协议组成的。这些协议允许网格用户和应用程序以安全、受控方式运行服务。
正如前面说明的那样,虚拟组织可以是一个房间中的几台服务器或桌面 PC,也可以是分散于世界各地通过因特网连接的异类系统“大杂烩”。所有这些系统都能够一起工作,因为某些协议控制了连通性、资源分配和管理以及这些资源的协调。
全球网格(Global Grid)论坛正在努力将这些协议组织在开放网格服务体系结构(Open Grid Services Architecture,OGSA)下,这个 OGSA 来自基于开放标准的 Web 服务领域。之所以称它为体系结构,是因为它主要描述和构建一组定义良好的接口,系统根据这些接口进行构建,所有接口都基于如 Web 服务描述语言(Web Services Description Language,WSDL)之类的开放标准。此外,OGSA 建立在从构建 Globus Toolkit — 一种很有价值的参考实现 — 中获得的经验之上。
开放标准和协议导致了服务的构建,而服务是网格的核心。为了简单起见,服务允许用户在网格上做事。服务可以包括:
信息查询
网络带宽分配
数据管理/抽取
处理器请求
管理数据会话
平衡工作负载
当网格专家谈到正在运行的个别服务(例如,信息查询)时,他们称之为服务实例(这种用法类似于面向对象编程中的类实例)。服务和服务实例可以是轻量级且短暂的,也可以是需要获得网格深入而全面的支持的长期任务。服务和服务实例可以是动态的或交互式的,也可以对它们进行批处理。它们可以在预定时间或任意时间运行。
好的服务不只限于它们可以为网格用户做些什么,而是它们启用了虚拟化。基于可靠协议的一组好服务可以隐藏某些请求的复杂性 —可靠的虚拟化可以将计算转换成一种普遍存在的网格,这种网格更类似于我们当前的水电公共设施。
考虑这种情况:当您将电器电源插头插入墙上的插座时,您不知道或者不关心电如何流入该电器,也不知道或不关心电来自何处。它只是在工作,您访问该电网格以执行任务(如烤面包或熨烫衣服)。在计算方面,设想有一天,仅当您需要查询工具时才从网格租借,而不必担心数据库、浏览器和操作系统。
网格技术的支持者表示在计算能力方面将会出现同样的事情 — 但它完全是关于我们如何构建允许计算机在网格中进行交互的协议和服务的。
“网格计算之父”Ian Foster 使用术语语义来描述 OGSA 定义服务实例的能力:如何创建并控制它以及如何与之通信等。术语“语义”的使用取自语言学和心理学,它明显指出网格计算不只是关于数据和处理器及任务的 —它是关于上下文和含义的。计算机编程环境中的语义不只是应用计算能力来处理数据并推出结果集。其真正的作用是把问题传给计算机(或网格),然后获取该问题的解决方案。
3.难题
如果您认为像网格计算那么复杂的任何事一定有与之相关的难题,那么您就对了。首先,网格必须能够快速确定可以使用与之相连的任何计算机上的哪些资源 — 更重要的是,网格不应该因缓慢或旧的系统而陷入困境。避免“最小公分母”问题在技术“待执行”列表上比较重要。
另一个重要问题与网格技术明显无关,但仍将影响网格的成功部署:使应用程序在网格环境中工作。现在,大多数应用程序都在服务器或桌面环境中工作。一组处理器完成工作。在网格上,可以将工作分配给完成工作所需的那么多系统,每个系统都为该任务出一份力。然后,将结果组装起来并发回给请求的系统。
一旦这些应用程序都被移植到网格环境中,您就不得不开始担心如何共享、分割、筛选、移动、保护和管理数据了。请求了数据的用户或应用程序必需是取回数据的唯一实体,而且该用户或应用程序必须可以被理解。
安全性无疑是极其必要的 — 毕竟,您不会希望任何人都能访问网格资源。而且,将其系统添加到网格的那些人希望控制哪些人有权使用其资源以及何时使用。
可靠性和性能也很重要 — 如果网格不能又快又好地执行任务,那么它的业务案例当然会减少。
4.网格计算的现状
如果您有这样的印象:网格计算就是 1993年的 Web,那么您就对了。目前有大量的地域正被映射。并正在制定一些坚固的实现基础。然而,大量的网格计算还有待去发现,许多小组正将它们的注意力转向新兴的开放标准。在许多方面,有关网格服务的讨论类似于二十世纪九十年代中期的因特网和 XML 标准的讨论。
参考资料
以下是一个适用于初学者的白皮书、书籍和文章列表,您可以通过阅读它们来了解有关网格计算的更多信息。您有自己喜爱的列表吗?请给我发电子邮件。
Anatomy of the Grid。该白皮书是由 Ian Foster、Carl Kesselman 和 Steven Tuecke 合写的,它定义了网格计算的领域。正如其标题暗示的那样,这三位作者花了一些时间来命名网格的所有组成部分并定义它们做些什么。他们的关注点在网格体系结构上。
Physiology of the Grid。该白皮书是由 Ian Foster、Carl Kesselman、Jeffrey Nick 和 Steven Tuecke 合写的,它说明了如何将网格计算应用于 Web 服务环境。该白皮书更详细地描述了 OGSA 和网格语义(即服务)。它与白皮书“Anatomy of the Grid”一起相当详细地概述了(虽然有少量理论)网格计算领域。
全球网格论坛(Global Grid Forum)(http://www.ggf.org)是由致力于网格计算的研究员和从业人员组成的社区发起的,许多工作组正在制定技术规范、记录用户经验并编写实现指南。请参阅http://www.ggf.org/home.php?div=atwork 上的GGF@WORK,以获取工作组列表,该列表包括了开放网格服务体系结构(OGSA)工作组(http://www.ggf.org/ogsa-wg/")。
The Globus Toolkit:Globus 是一种用于构建计算网格的开放体系结构、开放标准工具。它被广泛地引用为可靠的参考实现,使您熟悉构建、部署和管理网格领域。另请查看 Globus FAQ。
Ian Foster 撰写了“The Grid: Computing without Bounds”(2003 年 4 月,Scientific American)。该文章是外行、科学家及类似的技术人员的极好读本。Ian干了一项惊人的事情,他使网格计算的大多数抽象部分变得切实可行,使它们活跃起来。他还简要概述了网格计算的未来,以及它可以为我们做生意的办法带来多少改变。
IBM VP Wladasky-Berger explains Grid Computing。该文章很好地概述了网格计算及 IBM 在其中的角色。他讨论了新兴的标准和对更宽的带宽的访问如何使在商业上可行的网格计算比大多数人所认为的更接近于实现。
Fundamentals of Grid Computing。这是一本简短的 IBM 红皮书,它从技术上简明地概述了网格计算。
由 Fran Berman、Geoffrey Fox 和 Tony Hey 共同编辑的 Grid Computing: Making the Global Infrastructure a Reality。由 Wiley 于 2003 年 3 月出版。这本大部头的书共 1000 多页,它包含了从各种科学与技术角度研究网格计算的文章和评论,其中包括:网格的历史、语义网格、网格体系结构的概述、网格部署模型、OGSA 和对等网格数据库等许多内容。可以在 amazon.com 的http://www.amazon.com/exec/obidos/asin/0470853190/ 上找到它。
10 Emerging Technologies that will Change the World。Technology Review 将网格计算指定为将改变世界的十项技术之一。该文章包含了 Ian Foster 和 Carl Kesselman 的照片。
Grid-dy Determination:当公司需要许多 CPU 周期来完成它们的工作时,网格计算显然是可行的方法。该书提供了一些网格计算举足轻重的现实案例:在线游戏、金融数字运算、基因组研究以及航空航天等。
关于作者:Thomas Myer 是 Triple Dog Dare Media(这是位于美国奥斯汀的 Web 应用程序开发组)的共同创始人之一。Triple Dog Dare Media 专门为中小型企业提供内容管理解决方案、电子商务系统和 Web 服务部署。您可以通过tom@tripledogdaremedia.com 与 Thomas Myer 联系。