找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1064|回复: 0

网格计算

[复制链接]
发表于 2004-1-18 00:00:00 | 显示全部楼层 |阅读模式
高性能计算的应用需求使计算能力不可能在单一计算机上获得,因此,必须通过构建“网 络虚拟超级计算机”或“元计算机”来获得超强的计算能力。20世纪90年代初,根据Internet 上主机大量增加但利用率并不高的状况,美国国家科学基金会(NFS)将其四个超级计算 中心构筑成一个元计算机,逐渐发展到利用它研究解决具有重大挑战性的并行问题。它提供 统一的管理、单一的分配机制和协调应用程序,使任务可以透明地按需要分配到系统内的各 种结构的计算机中,包括向量机、标量机、SIMD和MIMD型的各类计算机。NFS元计算 环境主要包括高速的互联通信链路、全局的文件系统、普通用户接口和信息、视频电话系统、 支持分布并行的软件系统等。

元计算被定义为“通过网络连接强力计算资源,形成对 用户透明的超级计算环境”,目前用得较多的术语“网格计算(grid computing)”更系统化地 发展了最初元计算的概念,它通过网络连接地理上分布的各类计算机(包括机群)、数据库、 各类设备和存储设备等,形成对用户相对透明的虚拟的高性能计算环境,应用包括了分布式 计算、高吞吐量计算、协同工程和数据查询等诸多功能。网格计算被定义为一个广域范围的 “无缝的集成和协同计算环境”。网格计算模式已经发展为连接和统一各类不同远程资源的 一种基础结构。

网络计算技术

1.基本结构

为实现网格计算的目标,必须重点解决三个问题:

⑴异构性

由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。

⑵可扩展性

要在网格资源规模不断扩大、应用不断增长的情况下,不降低性能。 ⑶动态自适应性

在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。

网格计算环境的构建层次从下至上依次为:

(1) 网格结点

由分布在Internet上的各类资源组成,包括各类主机、工作站甚至PC机,它们是异构的,可运行在Unix、NT等各种操作系统下,也可以是上述机型的机群系统、大型存储设备、数据库或其他设备。

(2) 中间件

是网格计算的核心,负责提供远程进程管理、资源分配、存储访问、登录和认证、安全性和服务质量(QoS)等。

(3) 开发环境和工具层

提供用户二次开发环境和工具,以便更好地利用网格资源。

(4) 应用层

提供系统能接受的语言,如HPC++和MPI等。可配置其他一些支持工程应用、数据库访问的软件,还可提供Web服务接口,使用户可以使用Web 方式提交其作业并取得计算结果。

2.基本功能

网格计算环境要求不影响各结点本地的管理和自主性,不改变原有的操作系统、网络协议和服务,保证用户和远程结点的安全性,允许远程结点选择加入或退出系统,尽量使用已存在的标准的技术,以便与已有的应用兼容,并能提供可靠的容错机制。一个理想的网格计算应类似当前的Web服务,可以构建在当前所有硬件和软件平台上,给用户提供完全透明的计算环境。对用户而言,它把众多同、异构的资源变成了同构的虚拟计算环境。为此,网格计算环境设计需要有以下主要特征:

管理层次 确定管理层次体系,管理域按区域层次划分,决定管理信息流的流向;

通信服务 随应用目的的不同提供不同的服务,包括可靠的点对点和不可靠的组播通信,支持各种通信协议,提供通信链路延迟、带宽和可靠性等指标;

信息服务 提供方便可靠的机制,获得不断变化的各结点信息和状态;

名字服务 提供全局统一的名字服务,典型的有国际通用的X.50标准或Internet上DNS标准;

文件系统 提供一个分布式文件系统机制、全局存储和缓存空间;

安全认证 应包括登录认证、可信赖、完整性和记账等方面的安全性,这是网格计算的难点,也是系统成败的关键;

监视系统 提供监视系统资源和运行情况的工具;

资源管理和调度 提供透明的资源调度,高效地利用可利用的资源是系统的核心;

资源交易机制 为鼓励不同组织或资源拥有者加入系统,应提供一种计算资源的交易机制,允许提供资源者获得利益,使系统能动态地取得最好的性价比资源;

编程工具 必须提供丰富的用户接口和编程环境,提供最常用的语言,如C、C++、FORTRAN、MPI、PVM以及分布式共享存储器和一些函数库等;

用户图形界面 提供直观的用户访问接口,包括Web方式,使用户可以在任何位置、任何平台上使用系统资源。

3.网格计算项目

由于网格计算环境可以连接广域范围内不同标准的异构 “孤岛”,形成庞大的全球性计算体系,是Internet发展的高级形式,因此,受到世界各国和组织的高度重视,已经开展了许多论坛、实验环境和研究项目,它们大多数都是在网上共享的,极大地方便了人们研究和利用有关资源,如网格计算论坛(http: //www.gridforum.org)旨在促进推广相关的技术。较有代表性的网格计算项目包括:实验床(http://www.distributed.net;http://www.setiathome.ssl.berkeley.edu)、Globus项目(http://www.globus.org)、Legion项目(http://legion.virginia.edu)、Globe项目(http: //cs.vu.nl/~steen/globe)、NetSolve项目(http://www.cs.utk.edu/netsolve)、Javalin项目(http://www.cs.ucsb.edu/research/javalin)等,可简单地分成有代表性的两类:

(1) Globus项目

提供基础的软件集成分散的异构资源,形成一个单一的计算环境。其核心是Globus元计算工具包(GMT),这是一个构筑网格计算环境的中间件,提供基本的资源定位、管理、通信和安全等服务。GMT是模块化的,允许用户按自己的需要定制环境(Globus的模块组成将在后面详细介绍)。

一种简单的Globus配置如下:

客户端 配置远程计算的API接口库、访问信息和通信等接口;

服务端 资源分配管理器(GRAM)、资源监视器;

集中服务 目录服务、认证服务、信息收集监视器等。

(2) 基于Java的网格计算

Java语言和相关技术成功地解决了困扰网格计算的几个关键问题,如异构性和安全性,另一个重要的优势是Java程序的最小执行环境可以在Web 浏览器中执行而不需要另外安装软件,因此,理论上全球任意一台装有Web浏览器的机器都可以进行全球计算。尽管Java平台还存在效率低等问题,但它无疑将大大影响网格计算模式的发展,使实现全球分布式计算已不再是一个梦想。

下面介绍Javalin项目的工作原理。

Java结构建立在Internet网络层上,通过扩展HTTP Server的功能来实现下述功能:

客户结点向HTTP服务器上载包含有任务Applet的HTML主页;
客户结点向集中服务器登记相应的UML地址;
服务结点向集中服务器请求任务,得到相应任务的URL;
服务结点从HTTP服务器下载HTML页,运行嵌入的Applet;
客户结点得到回送的执行结果。
实例:Globus系统

Globus是一个多研究机构联合开发的项目,它力图实现计算网格结构,来提供对高性能远程计算资源普遍的、可靠的、一致性的访问。目前的Globus 可以认为是计算网格技术的典型代表和事实上的规范。Globus最核心的部分就是它的元计算工具包,其中定义了构建计算网格最基础的服务。Globus构建了一个如图所示的虚拟元计算机。

1.元计算实验床



图示的底层是Globus的元计算测试床和实验系统,具体来说,它们是网络连接的一些有组织的计算网格结点,其中最著名的有I-WAY和GUSTO。 I-WAY是Globus的较简化系统,用于气象卫星的实时图像处理。在这个应用中,卫星中的数据下载后,进入一个远程超级计算机进行云层检测处理,然后再由另外一个图形处理机进行气象图绘制。这些处理均在地理上分布的多台机器上实现。I-WAY成功地验证了Globus 系统一些基本构件和机制。

GUSTO在很多方面都被认为是1998年以前最大的计算网格实验床。该实验床最初通过专用多模光纤和Internet连接17个站点、330个计算机和 3600个处理器。目前,GUSTO站点遍布整个美国大陆、夏威夷、瑞典和德国等,附加站点 还在不断增加。

2.Globus工具包构件

中间层是Globus的工具包模块,也是Globus的核心服务,主要包括7个部分,如下表所示。



3.高级服务

虽然Globus的工具包可以被应用程序直接调用,但仍然可以通过更高层的工具调用。Globus提供了自己的一些高级服务,可以实现对下一层服务的调用,这些高级服务最终的目标是形成一个Globus的“适应性广域范围资源环境” (AWARE)。同时,Globus也支持其他高级调用,例如基于消息传递的MPI、高级并行编程语言C++、远程文件访问系统Remote I/O等。Globus工具包支持这些高级应用来间接调用Globus的核心服务。

Globus从底层构建了元计算软件,开发了一些基本的服务和机制,并可以由多种高级工具调用。随着更多的元计算团体加入Globus的研究,它将被开发得更加完善,并将被更多的高级应用软件调用。Globus的目标是适应广域网络资源环境的计算,目前这一类课题的研究还很艰巨,Globus作为网格计算中最突出的代表,仍然存在着大量问题需要进一步研究。

网格计算可以合理而有效地将远程资源高效地组织起来,形成“网络虚拟计算机”,以获得超强的计算能力。相对于机群计算环境,它具有范围更广、功能更强大、组织和管理更复杂的特点。同时,由于网络环境的异构性、可扩展性和网络虚拟环境的动态自适应特征,使这类系统在开发软件、并行工具和应用程序方面都存在着较大的挑战。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-12-23 06:13 , Processed in 0.152533 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表