网格计算

网格计算 

  高性能计算的应用需求使计算能力不可能在单一计算机上获得,因此,必须通过构建“网 络虚拟超级计算机”或“元计算机”来获得超强的计算能力。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作为网格计算中最突出的代表,仍然存在着大量问题需要进一步研究。 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值