网格计算
高性能计算的应用需求使计算能力不可能在单一计算机上获得,因此,必须通过构建 络虚拟超级计算机元计算机来获得超强的计算能力。20世纪90年代初,根据Internet 上主机大量增加但利用率并不高的状况,美国国家科学基金会(NFS)将其四个超级计算 中心构筑成一个元计算机,逐渐发展到利用它研究解决具有重大挑战性的并行问题。它提供 统一的管理、单一的分配机制和协调应用程序,使任务可以透明地按需要分配到系统内的各 种结构的计算机中,包括向量机、标量机、SIMDMIMD型的各类计算机。NFS元计算 环境主要包括高速的互联通信链路、全局的文件系统、普通用户接口和信息、视频电话系统、 支持分布并行的软件系统等。
元计算被定义为通过网络连接强力计算资源,形成对 用户透明的超级计算环境,目前用得较多的术语网格计算(grid computing)”更系统化地 发展了最初元计算的概念,它通过网络连接地理上分布的各类计算机(包括机)、数据库、 各类设备和存储设备等,形成对用户相对透明的虚拟的高性能计算环境,应用包括了分布式 计算、高吞吐量计算、协同工程和数据查询等诸多功能。网格计算被定义为一个广域范围的无缝的集成和协同计算环境。网格计算模式已经发展为连接和统一各类不同远程资源的 一种基础结构。
网络计算技术
基本结构
为实现网格计算的目标,必须重点解决三个问题:
⑴异构性
由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。
⑵可扩展性
要在网格资源规模不断扩大、应用不断增长的情况下,不降低性能。 ⑶动态自适应性
在网格计算中,某一资源出现故障或失败的可能性较高,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。
java布局管理器网格计算环境的构建层次从下至上依次为:
(1) 网格结点
由分布在Internet上的各类资源组成,包括各类主机、工作站甚至PC机,它们是异构的,可运行在UnixNT等各种操作系统下,也可以是上述机型的机系统、大型存储设备、数据库或其他设备。
(2) 中间件
是网格计算的核心,负责提供远程进程管理、资源分配、存储访问、登录和认证、安全性和服务质量(QoS)等。
(3) 开发环境和工具层
提供用户二次开发环境和工具,以便更好地利用网格资源。
(4) 应用层
提供系统能接受的语言,如HPC++MPI等。可配置其他一些支持工程应用、数据库访问的软件,还可提供Web服务接口,使用户可以使用Web 方式提交其作业并取得计算结果。
2.基本功能
网格计算环境要求不影响各结点本地的管理和自主性,不改变原有的操作系统、网络协议和服务,保证用户和远程结点的安全性,允许远程结点选择加入或退出系统,尽量使用已存在的标准的技术,以便与已有的应用兼容,并能提供可靠的容错机制。一个理想的网格计算应类似当前的Web服务,可以构建在当前所有硬件和软件平台上,给用户提供完全透明的计算环境。对用户而言,它把众多同、异构的资源变成了同构的虚拟计算环境。为此,网格计算环境设计需要有以下主要特征:
管理层次 确定管理层次体系,管理域按区域层次划分,决定管理信息流的流向;
通信服务 随应用目的的不同提供不同的服务,包括可靠的点对点和不可靠的组播通信,支持各种通信协议,提供通信链路延迟、带宽和可靠性等指标;
信息服务 提供方便可靠的机制,获得不断变化的各结点信息和状态;
名字服务 提供全局统一的名字服务,典型的有国际通用的X.50标准或InternetDNS标准;
文件系统 提供一个分布式文件系统机制、全局存储和缓存空间;
安全认证 应包括登录认证、可信赖、完整性和记账等方面的安全性,这是网格计算的难点,也是系统成败的关键;
监视系统 提供监视系统资源和运行情况的工具;
资源管理和调度 提供透明的资源调度,高效地利用可利用的资源是系统的核心;
资源交易机制 为鼓励不同组织或资源拥有者加入系统,应提供一种计算资源的交易机制,允许提供资源者获得利益,使系统能动态地取得最好的性价比资源;
编程工具 必须提供丰富的用户接口和编程环境,提供最常用的语言,如CC++FORTRANMPIPVM以及分布式共享存储器和一些函数库等;
用户图形界面 提供直观的用户访问接口,包括Web方式,使用户可以在任何位置、任何平台上使用系统资源。
3.网格计算项目
由于网格计算环境可以连接广域范围内不同标准的异构孤岛,形成庞大的全球性计算体系,
Internet发展的高级形式,因此,受到世界各国和组织的高度重视,已经开展了许多论坛、实验环境和研究项目,它们大多数都是在网上共享的,极大地方便了人们研究和利用有关资源,如网格计算论坛(http //)旨在促进推广相关的技术。较有代表性的网格计算项目包括:实验床(http//www.distributedhttp//www.setiathome.ssl.berkeley.edu)、Globus项目(http//)、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服务器上载包含有任务AppletHTML主页;
客户结点向集中服务器登记相应的UML地址;
服务结点向集中服务器请求任务,得到相应任务的URL
服务结点从HTTP服务器下载HTML页,运行嵌入的Applet
客户结点得到回送的执行结果。
实例:Globus系统
Globus是一个多研究机构联合开发的项目,它力图实现计算网格结构,来提供对高性能远程计算资源普遍的、可靠的、一致性的访问。目前的Globus 可以认为是计算网格技术的典型代表和事实上的规范。Globus最核心的部分就是它的元计算工具包,其中定义了构建计算网格最基础的服务。Globus构建了一个如图所示的虚拟元计算机。
1.元计算实验床
 
图示的底层是Globus的元计算测试床和实验系统,具体来说,它们是网络连接的一些有组织的计算网格结点,其中最著名的有I-WAYGUSTO I-WAYGlobus的较简化系统,用于气象卫星的实时图像处理。在这个应用中,卫星中的数据下载后,进入一个远程超级计算机进行云层检测处理,然后再由另外一个图形处理机进行气象图绘制。这些处理均在地理上分布的多台机器上实现。I-WAY成功地验证了Globus 系统一些基本构件和机制。
GUSTO在很多方面都被认为是1998年以前最大的计算网格实验床。该实验床最初通过专用多模光纤和Internet连接17个站点、330个计算机和 3600个处理器。目前,GUSTO站点遍布整个美国大陆、夏威夷、瑞典和德国等,附加站点 还在不断增加。
2Globus工具包构件
中间层是Globus的工具包模块,也是Globus的核心服务,主要包括7个部分,如下表所示。
 
3.高级服务
虽然Globus的工具包可以被应用程序直接调用,但仍然可以通过更高层的工具调用。Globus提供了自己的一些高级服务,可以实现对下一层服务的调用,这些高级服务最终的目标是形成一个Globus适应性广域范围资源环境AWARE)。同时,Globus也支持其他高级调用,例如基于消息传递的MPI、高级并行编程语言C++、远程文件访问系统Remote I/O等。Globus工具包支持这些高级应用来间接调用Globus的核心服务。
Globus从底层构建了元计算软件,开发了一些基本的服务和机制,并可以由多种高级工具调用。随着更多的元计算团体加入Globus的研究,它将被开发得更加完善,并将被更多的高级应用软件调用。Globus的目标是适应广域网络资源环境的计算,目前这一类课题的研究还很
艰巨,Globus作为网格计算中最突出的代表,仍然存在着大量问题需要进一步研究。
网格计算可以合理而有效地将远程资源高效地组织起来,形成网络虚拟计算机,以获得超强的计算能力。相对于机计算环境,它具有范围更广、功能更强大、组织和管理更复杂的特点。同时,由于网络环境的异构性、可扩展性和网络虚拟环境的动态自适应特征,使这类系统在开发软件、并行工具和应用程序方面都存在着较大的挑战。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。