IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Grid computing  >

构建统一的网格,第 1 部分: Telescience 项目中的网格体系架构

针对应用程序开发人员和用户的统一网格项目

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

Abel W. Lin (awlin@ncmir.ucsd.edu), 软件架构师, National Center for Microscopy and Imaging Research

2005 年 11 月 28 日

“启用网格” 对于端到端的过程来说意味着什么呢?在这个系列文章的第一篇中,作者将介绍在 National Center for Microscopy and Imaging Research 开发的 Telescience Project 中的基于网格的系统架构。作者建议采用他们这种基础设施,可以指导开发人员实现一个更加统一的网格。这是一个可扩展、可分布、可伸缩的基于网格的面向服务的架构(SOA),它为在用户界面(Web 门户和应用程序)与外部可寻址的网格资源(设施和计算机)之间进行交互提供了无缝的构造。在后续的文章中,作者将详细介绍该项目中的具体组件,并解释如何以及为什么要在整个基础设施中开发和实现这些工具。

不管是医学研究人员进行 CAT(comparing computed axial tomography)扫描,还是生态学家进行河流的模拟,有很多技术为各种领域中的研究人员提供了可以获取并利用以指数形式增长的数据的能力。结果是,网格技术可以对以前的自治资源进行虚拟化,将其放到资源池中以便于提供、计算和管理数据,这种功能让研究人员可以简化对于数据的使用。在本系列文章中,我们将逐步分析并详细介绍 Telescience Toolkit,这是一个可伸缩的基于网格的 SOA,设计用来为用户更好地利用网格中的潜在处理能力。在本文中,我们将对 Telescience Project 架构进行简要介绍。

“启用网格” 对于端到端的过程来说到底意味着什么呢?除了要促进网格技术的发展之外,有几个组织还负责评测启用网格对于端到端的过程来说到底意味着什么。National Center for Microscopy and Imaging Research(NCMIR)的研究人员已经开发并实现了一些新技术来解决这个日益增长的挑战。(在本文中我们对 “端到端的过程” 的定义为:数据或信息获取与最终决定(这是对最初数据进行检索之后所得出的结果)之间的所有步骤。)

通过将这些先进研究技术(称为 Telemicroscopy)与启用网格的分布式计算和数据管理环境进行集成,这个组织展示了自己在 Telescience Project 中可以实现的一种远景。使用 3-D 生物映像分析和结构功能相关研究作为应用程序的驱动器,我们的研究小组开发了 Telescience Toolkit,它可以提供一个端到端的单点登录基础设施,其中集成了网格技术和具有统一安全性的科学过程 —— 却不会太过复杂。

首先,让我们来熟悉一下科学网格。

将科学过程移动到网格基础设施中

我们很容易就可以理解将科学过程移动到网格基础设施中的优点。经过过去几年的努力,并行处理(包括早期的网格计算的努力)可以计算和分析的数据量有了巨大的增长。然而,如果我们从大的角度上来看一下,计算就只不过是整个科学过程中的一个部分(而这个部分通常都很小)。

数据网格已经有了巨大的发展,而且还将带来分布式数据管理的巨大革命。然而,如果没有应用程序可以直接与这些数据网格进行交互,它们的作用就非常有限,只不过是数据存储系统而已。为了端到端的过程能够更好地从网格中获益,这些技术必须同等地应用到整个科学过程的主要组件上。换而言之,网格技术也必须能够同等地应用于数据的获取、计算和管理。

为了研究如何更好地利用网格技术,不同类型的网格必须对于应用程序的开发人员和用户来说都是统一的。这种统一的网格前景是 Telescience Project 的最终目标。





回页首


了解统一网格

正如前面介绍的一样,网格计算的早期努力使得网格基础设施的远景严重偏向于计算。不管是在学术界还是在工业界,当前的网格项目通常要提供以下属性之一(或者全部):

  • 通过网格软件来提高对计算系统的访问
  • 构建简化的 GUI 来启动启用网格的应用程序
  • 对空闲资源进行汇集以用于通用的用途(比如循环清除和调度)

这些方向的重点是以更快的速度来计算更多的数据。尽管快速处理大量数据的能力对于任何过程来说都是非常有价值的(这也是网格系统的一个目标),但是一个统一的网格可以提供更多的功能:它可以从根本上改变整个过程的处理方式。换而言之,统一的网格所提供的并不仅仅是快速处理数据的能力,它还可以从一开始就搜集更好的数据,并重新定义数据搜集和处理的方法。

在随需应变的世界中更好地利用数据

假设有这样一个环境:将空闲的计算周期搜集起来,根据需要提供给数据生成的基础设施中所执行的计算使用(而不是那些大型的、面向批处理的计算)。在我们对随需应变的认识中,数据是自动维护的,可以自由地从基础设施流到计算中进行分析。分析接口的结果直接返回给基础设施,并提供自动的反馈,这样就可以不断改进数据搜集的参数和技术。在这种环境中,网格提供的不仅仅是快速获得结果的能力;它还为搜集更好的原始数据提供了基础。

搜集更好的原始数据可以用来作些什么呢?假设有一个地震传感器设备和用来探测石油含量的水文设备可以动态地进行控制,并能进行精化来很好地利用随需应变的网格技术。这些情形都只能在设施、计算资源和数据都满足特定的条件时才能实现。具体来说,这必须反映到为特定领域的应用程序开发人员(他们负责为用户构建最终的应用程序)所提供的界面中。

实现统一网格的阻碍

在科学领域中网格技术的成长 —— 以及其要实现一个统一网格的最终目标 —— 会受到应用程序开发人员可以在核心的网格中间件服务中集成的应用程序的比例的左右。特定领域中的应用程序开发人员在试图集成和使用网格时会遇到两个主要的挑战:

  • 1. 为任何网格基础设施开发应用程序时所需要的工具都有些不必要地复杂。

网格中间件包提供了很多不同的功能,有些功能甚至是重叠的。例如,直到最近才开发了一个完整的端到端的安全性基础设施,这距离最初引入网格的概念已经有 5 年多的时间了。而且, myriad 包通常都有不同的编程接口;有些只提供了命令行(或链接库)的访问,而另外一些则提供了 Web 服务接口。

  • 2. “网格” 仍然是一门非常年轻的学科。

网格组件版本的生命周期目前仍然处于开发状态,其变化速度通常比科学应用程序快 2、3倍,这必然使所集成的应用程序会频繁地发生变化。

这两个挑战都需要应用程序开发人员深入理解网格技术、网格的当前状态和功能以及这些开发可能的发展趋向。尽管这些都非常有用(一条很好的经验是要对您所从事的项目有一定的了解),这些知识却不是必需的。这些挑战在我们设计开发方案时会构成屏障,阻止我们更好地进行应用程序网格的交互。

现在让我们简要介绍一下 Telescience Project,并建议这种基础设施如何指导开发人员构建更统一的网格。





回页首


Telescience Project

Telescience Portal 基础设施设计用来为所有学科加速开发统一的网格。它由 3 个模块化和可扩展的软件层组成,它们可以将用户与物理资源连接在一起。图 1 介绍了 Telescience 的总体架构。这个基础设施构建在几个递减的抽象层上,这样可以允许进行模块化扩展,并可以对网格资源和服务透明地进行操作。


图 1. 统一的 Telescience 基础设施的简化层次视图
统一的 Telescience 基础设施的简化层次视图

用户交互是通过一个 Web 门户接口进行的,它最终将穿过一系列层次到达所需要的物理资源。Telescience 已经部署了一个基于 GridSphere Framework 的用户门户(任何 JSR168 兼容的门户系统都应该与此处介绍的服务进行交互)。门户层中的函数负责与 ATOMIC(Application to Middleware Interaction Component )服务层进行交互。这个统一的服务层提供了一种新的机制,应用程序开发人员可以使用这种机制与核心的网格组件进行交互。ATOMIC 并不需要将所有的应用程序都与需要的网格组件进行集成,而是通过绑定提供了一个统一的编程环境。

这个基础设施中的层次要基于核心的功能向外提供服务,而不仅仅是对各种网格组件重新进行打包。例如,Telescience 所提供的认证服务就将基于端到端的网格的认证所需要的所有软件组件组合起来,放到一组简化统一的服务中。ATOMIC 绑定是集成组件的软件工具包,它们为应用程序和门户工程师提供了一种通用的单一解决方案。

ATOMIC 原理

在过去的 5 年中,Telescience 一直在开发工具将应用程序与网格技术集成在一起,ATOMIC 就是我们这些年工作的成果。当时,我们已经注意到在集成工作中会陷入僵局。或者我们要期望应用程序开发人员成为网格专家,或者网格开发人员要成为应用领域中的专家。如果网格 —— 不管是否统一 —— 能实现自己的承诺和期望,这种僵局就会打破。

ATOMIC 的基本原理就是要解决这种僵局的情况,从而弥补应用程序开发人员与网格开发人员之间的差距。

ATOMIC 结构上的 Microscope

ATOMIC 将中间件基础设施的复杂性对用户和开发人员屏蔽开来,将客户机端的资源链接到分布式物理资源上来。图 2 列出了目前可以使用的 ATOMIC 工具,但是理解 ATOMIC 最简单的方法是看一个解决实际问题的真实例子。ATOMIC 层以黄色表示,它可以用来开发统一的网格基础设施。


图 2. ATOMIC 为接口开发人员提供了一个统一的网格视图
ATOMIC 为接口开发人员提供了一个统一的网格视图

认证是所有网格操作的核心,但是到目前为止,网格认证还没有一个完整的端到端的系统。TeleAuth( Telescience Authentication and Authorization )绑定提供了这种端到端的解决方案,从原始的凭证创建到永久凭证管理。TeleAuth 包括一个后端的安全服务,它对凭证提供安全管理;以及很多前端门户,它们可以与 Web/网格门户进行紧密的集成。

然而,所提供的服务 TeleAuth 实际上包括多个独立开发的软件包的功能:

  • 证书和密钥生成
  • MyProxy(用于代理和证书/密钥凭证的管理)
  • 社区授权服务(用于创建具有集成访问控制策略的证书)
  • Storage Resource Broker 管理工具(用于数据管理和访问)

如果没有 TeleAuth,应用程序开发人员必须要负责实现对这些包进行集成和支持的整个过程。





回页首


结束语

网格社区正在快速变化,所有的组件都正在朝着标准化的方向发展。同样地,Telescience 和 ATOMIC 工具正在继续进化以适应这些新的标准。我相信这种向标准化方向的变化可以减轻 ATOMIC 开发人员的负担,同时 ATOMIC 可以减轻科学应用开发人员的负担。

在本文中,我们已经介绍了基于网格的 Telescience 的基础设施,这是一个层次化的工具包,可以支持为研究用途创建统一的网格。本系列后续文章将深入介绍 Telescience 基础设施的组件,并给出一些例子来介绍这些工具如何让我们可以实现统一网格的目标。



参考资料

学习

获得产品和技术

讨论
  • 如果您是一个新内核黑客,在 KernelNewbies.org 上可以找到很多资源,包括 IRC 频道、邮件列表和 wiki。

  • 通过参与 developerWorks blogs 加入 developerWorks 社区。


关于作者

Abel W. Lin 是 National Center for Microscopy and Imaging Research 的 Telescience Project 的架构师和技术负责人。他在科学领域应用网格和其他计算机科学技术已经有 5 年多的经验了。他设计并领导了 Telescience Project 的 Telescience Portal 和 ATOMIC 组件的第一代 proof-of-concept 系统,他还是一位科学家,在生物和计算机科学领域发表了很多文章。他的兴趣包括分布式系统体系结构、软件项目管理和结构生物学。在工作之余,它喜欢看书、打高尔夫球和冲浪。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款