网格计算高性能计算的应用需求使计算能力不可能在单一计算机上

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网格计算

高性能计算的应用需求使计算能力不可能在单一计算机上获得,因此,必须通过构建“网络虚拟超级计算机”或“元计算机”来获得超强的计算能力。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://)旨在促进推广相关的技术。较有代表性的网格计算项目包括:实验床(http:

//;http://)、Globus项目(http:

//)、Legion项目(http://)、Globe项目(http:

//cs.vu.nl/~steen/globe)、NetSolve项目(http:///netsolve)、Javalin项目(http:///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

相关文档
最新文档