级别: 初级 Edna Nerona (edna@legacystudios.biz), 作家, Uniserve Communications Corporation
2007 年 2 月 16 日 您正在学习如何部署和管理自己的网格吗?您希望知道如何开始开发网格计算应用程序吗?查看本文列出的开源工具来帮助您立即开始网格开发工作。
准备开始
本文提供了开始进行网格开发所需的资源。
部署
为网格创建或部署应用程序需要一个用于测试或开发的可靠的网格部署环境。Globus Toolkit 是构建网格的一个很好的起点。
- Globus Toolkit
-
要构建网格,一个很好的起点是下载 Globus Toolkit。这个开源工具包是一组专为支持网格和网格应用程序而设计的服务和软件库,此工具包由 Globus Project 开发,该研发项目旨在将网格概念的应用程序用于科学和工程方面的计算。
- “Introduction to Grid Computing with Globus”
-
这本 IBM 红皮书为读者提供了关于网格计算基本知识的讨论,还给出了使用 Globus 构建网格的安装和配置信息。
功能齐全的工具包
安装网格软件有一定难度而且很耗时,下面列出的开源工具包可以轻松获得并可以使构建、部署和管理网格项目更为容易。其中一些被包装为一组组件,即可以独立使用也可以结合其他工具来开发应用程序。
基础设施工具包
开源网格基础设施工具包有很多,您可以使用它们来开始构建自己的网格。
- Globus Toolkit
-
Globus Toolkit 是一个用来构建网格的开源软件工具包。
- Virtual Data Toolkit (VDT)
-
VDT 的目标是使部署、维护和使用网格中间件的工作尽可能简单。
应用程序开发工具包
这些工具包可以帮助您将现有的应用程序开发为用于网格的应用程序或将现有的应用程序移植到网格中:
- Java Commodity Grid (CoG) Toolkit
-
Java™ CoG Toolkit 可以使网格用户、应用程序开发人员和管理员在较高层的框架中使用、管理网格和对网格进行编程。Java CoG Kit Globus 模块提供了可以访问 GridFTP 服务器的基本的 API、优秀的网格资源分配和管理(Grid Resource Allocation and Management,GRAM)服务和完整的 GSI 实现。
- Python Commodity Grid (CoG) Toolkit/pyGlobus
-
Python CoG Kit 也被称作 pyGlobus,它使用 SWIG 生成连接 Globus 的 Python 接口。
- Grid Application Toolkit (GAT)
-
GAT 是一组用来访问网格服务的通用、灵活的 API,这些网格服务可以来自通用应用程序代码、门户、数据管理系统以及由 GridLab 项目开发的工具所提供的工作实现。GAT 被设计为模块化即插即用的风格,所以无论在何处开发的工具都可以插入 GAT 中。
- Web Service Resource Framework (WSRF) for WebSphere Application Server
-
提供对 WebSphere® Application Server 的 WSRF 实现的支持。它引入了用于 WS-Addressing Endpoint References (EPR) 的 Java 接口并使用了 WS-Addressing 的功能来支持 OASIS WSRF Technical Committee 关于 WS-Resources 的设计规范中描述的 WS-Resource 访问模式。
- Grid Application Framework for Java
-
该框架抽象了应用程序逻辑的所有网格语义并提供了一个更加简单的编程模型,这个模型可以很好地与常用的 Java 编程模型兼容。
- GridFTP.NET and GRAM.NET
-
该站点提供了由 Globus Toolkit 提供的两种最流行的服务的客户机和服务器实现。GridFTP 的 Globus Toolkit V4 (GT4) 实现(一种数据传输协议)和 GRAM(一种作业执行协议)被广泛部署在众多科用网格中。这些工具包提供了 GridFTP 和 GRAM 实现以及运行在 Microsoft® .NET 框架中的服务和客户机,并且可以和它们在 GT4 中的对应部分互操作。
门户工具包
Web 门户是通向网格的入口,它能够使用户通过一个 Web 浏览器访问网格。下面是门户工具包列表,可以用于开发您自己的网格门户:
- Open Grid Computing Environments (OGCE) Portal Toolkit
-
OGCE 协作开发了兼容 JSR 168 的 portlet 和 Web 服务以便用来为科学类网站构建 Web 门户。OGCE 发行版由单个下载包组成,其中包含了您运行和开发自己的网格门户所需的一切。
- GridSphere Portal Framework and GridPortlets
-
GridSphere Portal Framework 提供了一个开源的、基于 portlet 的 Web 门户。GridSphere 能够使开发人员快速开发和包装第三方 portlet Web 应用程序,可以在 GridSphere portlet 容器内运行这些应用程序并对其进行管理。GridPortlets 以 GridSphere Portal Framework 的核心特性为基础,为开发人员提供了用于开发网格门户的框架。
安全性和身份验证
网格计算很特别,因为它需要协调多种资源。安全性对于网格计算来说至关重要,而且应用程序必须使用网格中可用的现有安全基础设施。下列资源可用于网格安全:
- Grid Security Infrastructure (GSI)
-
安全性工具主要涉及建立用户或服务的标识(身份验证)、保护通信以及决定允许哪些用户执行什么操作(授权),它还可以起到诸如管理用户凭证和维护组员信息等辅助作用。这些组件是 Globus Toolkit 中作为 GSI 一部分的关键组件。
- MyProxy
-
MyProxy 是网格的凭证存储库。将网格凭证存储到 MyProxy 存储库中将允许您无论何时何地只要需要的话就可检索一个代理凭证,并且无需再费心管理私有密匙和凭证文件。通过一个标准的 Web 浏览器,可以连接到一个网格门户并且允许这个门户为您检索代理凭证来代表您访问网格资源。MyProxy 服务器被用在很多生产网格和网格应用程序中。您可以了解一下这个工具看看它是怎么帮助您进行应用程序开发的。
- Community Authorization Service (CAS)
-
为网格上的每一个用户管理其帐户会非常麻烦,并且对应用程序来说也没有多大意义。如果您希望访问一组用户该怎么办呢?CAS 是一个不错的选择。Globus Toolkit 的 CAS 组件构建在 GSI 基础之上,允许资源提供者指定粗粒度访问控制策略(就社区整体而言),而将细粒度访问控制策略的管理委托给社区本身。
- Virtual Organization Membership Service (VOMS)
-
VOMS 是用来管理多机构协作内的授权数据的系统。VOMS 提供了一个用户角色和功能的数据库以及一组用来访问和操作该数据库的工具,并且在需要的时候使用数据库中的内容为用户生成网格凭证。
发现、监视和信息服务
网格的一个重要方面是可以监视和发现网格中的新系统。这包括收集关于服务和资源的信息。下面列出了一些服务,它们为您提供了很多选择:
- Monitoring & Discovery System (MDS)
-
MDS 是 Globus Toolkit 的信息服务组件,它提供了关于网格上可用资源及其状态的信息。
- Monitoring Agents using a Large Integrated Services Architecture (MonALISA)
-
MonALISA 系统被设计为自主多线程的、自我描述的基于代理的子系统的综合体,这些子系统被注册为动态服务并且可以协作完成大范围的信息收集和处理任务。这些代理可以通过分布式方法分析和处理信息,为大型分布式应用程序提供优化决策。
- Ganglia
-
Ganglia 是一个可伸缩的分布式监视系统,可用于高性能计算系统,例如集群和网格。
- Inca Test Harness and Reporting Framework
-
Inca 是一种灵活框架,可用于网格系统的自动测试、基准测试和监视。它包括调度信息收集脚本执行的机制,还包括数据的收集、归档、发布和显示的机制。
数据管理
网格计算一个吸引人的特点就是它可以集合大量的资源。下面的应用程序可以实现跨资源存储、管理和移动数据以及通过网络连接数据资源:
- GridFTP
-
GridFTP 是 Globus Toolkit 的一个组件,是一个高性能的、安全可靠的数据传输协议,并针对高带宽 WAN 进行了优化。它建立在 Internet FTP 协议基础上并为高性能操作实现了扩展。
- Storage Resource Broker (SRB)
-
SRB 支持可被分布到多个组织和异构存储系统的共享集合。SRB 可被用作数据网格管理系统(Data Grid Management System,DGMS),该系统提供分层的逻辑名称空间用来组织数据(通常是文件)。
资源管理和调度
网格的一个关键方面是可以跨网格管理资源和调度作业。可以通过以下各种资源管理系统完成这些工作:
- Grid Resource Allocation and Management (GRAM)
-
GRAM 服务提供了单一的界面用来为作业的执行请求和使用远程系统资源。GRAM 最常见的用途是远程作业提交和控制,旨在为作业调度系统提供一致灵活的界面。
- Condor
-
Condor 是一个开源的工作负载管理软件工具,使用它可将资源的消费者和资源所有者匹配起来。设计 Condor 的目的是为了在一个单一管理域中运行作业,此外,它还能通过 Globus 跨越多个管理域提交作业。
结束语
多年以前,没有人能够想象得到 Internet 技术能够让世界上每个地方的用户得以共享信息资源。现在我们正在走进另一个激动人心的时代,我们不仅可以共享信息,还能够共享应用程序和计算能力。网格计算带来了很多革命性的技术。本文涉及到的资源应该可以帮助您更加熟悉这些工具,从而有助于您进行基础设施、部署、安全性和数据管理方面的工作。
参考资料 学习
获得产品和技术
讨论
关于作者  | 
|  | Edna Nerona 是 Legacy Studios,Inc. 的所有人,这是一家位于 San Diego 的创新服务公司。她拥有 San Diego State University 的新闻学学士学位,曾经在 San Diego Supercomputer Center 和 Entropia,Inc. 工作过。她还是 Toastmasters International 的一名多才多艺的发言人。 |
对本文的评价
|