网格计算理论及其应用胡科电子科技大学应用数学学院,四川成都(610054)摘要:本文从理论角度,阐述网格概念、网格的标准化趋势、OGSA的体系结构、网格计算及其应用,并介绍了网格在我国的主要应用项目。
关键词:网格;网格标准;网格计算1. 概述网格(Grid)在欧美出现于20世纪90年代,是新一代高性能计算环境和信息服务基础设施,采用开放标准,能够实现动态跨地域的资源共享和协同工作。
网格作为解决分布式复杂异构问题的新一代技术,其核心是实现大规模的地理上广泛分布的高性能计算资源、海量数据和信息资源、数据获取和分析处理系统、应用系统、服务与决策支持系统,以及组织、人员等各种资源的共享与聚合。
网格被誉为继传统Internet、Web之后的“第三次信息技术浪潮”,成为互联网发展的第三大里程碑。
这次技术革新的本质是WWW(World Wide Web,万维网)升级到GGG(Great Global Grid,全球网格)。
如果说传统Internet实现了计算机硬件的连通,Web实现了网页的连通,网格则是试图实现互联网上所有资源的全面连通。
网格在科学研究、商业应用等领域有着广阔的发展前景。
2. 网格的概念2.1 狭义的“网格观”美国Argonne国家实验室的资深科学家、Globus项目的领导人、堪称“网格之父”的Ian Foster曾在1998年出版的《网格:21世纪信息技术基础设施的蓝图》一书中这样描述网格:“网格是构筑在互联网上的一组新兴技术,它将高速互联网、高性能计算机、大型数据库、传感器、远程设备等融为一体,为科技人员和普通老百姓提供更多的资源、功能和交互性。
互联网主要为人们提供电子邮件、网页浏览等通信功能,而网格功能则更多更强,让人们透明地使用计算、存储等其他资源。
”。
2000年,Ian Foster在《网格的剖析》这篇论文中把网格进一步描述为“在动态变化的多个虚拟机构间共享资源和协同解决问题。
”。
2002年7月,Ian Foster在《什么是网格?判断是否网格的三个标准》一文中,限定网格必须同时满足三个条件:(1) 在非集中控制的环境中协同使用资源;(2) 使用标准的、开放的和通用的协议和接口;(3) 提供非平凡的服务。
2.2 广义的“网格观”意指GGG,它不仅包括计算网格、数据网格、信息网格、知识网格、商业网格,还包括一些已有的网络计算模式,如P2P(Peer-to-Peer Computing,对等计算)等。
不管是狭义还是广义的“网格观”,其目的不外乎是要利用互联网把分散在不同地理位置的电脑整合成一台“虚拟的超级计算机”,实现计算资源、存储资源、数据资源、信息资源、软件资源、存储资源、通信资源、知识资源、专家资源等的全面共享。
3. 网格的标准化趋势随着网格研究的深入,人们越来越发现网格体系结构的重要。
网格体系结构是关于如何建造网格的技术,包括对网格基本组成部分和各部分功能的定义和描述,网格各部分相互关系与集成方法的规定,网格有效运行机制的刻画。
显然,网格体系结构是网格的骨架和灵魂,是网格最核心的技术,只有建立合理的网格体系结构,才能够设计和建造好网格,才能够使网格有效地发挥作用。
目前,包括GGF(Global Grid Forum,全球网格论坛)、Globus联盟、OMG(Object Management Group,对象管理组织)以及W3C(World Wide Web Consortium,环球网联盟)在内的诸多团体都试图争夺网格标准的制定权。
3.1 Globus ToolkitGlobus Tookit(GT)来源于Globus项目,由美国Argonne国家实验室、南加州大学和芝加哥大学合作开发(Ian Foster、Carl Kesselman、Steve Tuecke一起作为Globus Toolkit的发起人)。
GT是一个开放源代码的网格基础平台,基于开放结构、开放服务资源和软件库,提供了构建网格应用所需的中间件服务和程序库,如资源发现与管理、数据访问、通讯安全等,最核心的部分是元计算工具包,其中定义了构建网格最基础的服务,能够开发在各种平台上运行的网格工具软件,帮助规划和组建大型的网格试验平台,大多数网格项目都是采用基于GT所提供的协议及服务建设的。
1997年起,GT2成为网格计算的事实标准。
3.2 基于OGSI的Globus2002年,Globus联盟和IBM公司共同倡议了一个全新的网格计算的开放标准OGSA (Open Grid Services Architecture,开放网格服务体系结构)及其详细规范OGSI(Open Grid Services Infrastructure,开放网格服务基础设施),OGSA把Globus标准与以商用为主的基于XML的WS(Web Services,W3C制定)的标准结合起来,提出了网格服务(Grid Services)的概念,用于解决服务发现、动态服务创建、服务生命周期管理等与临时服务有关的问题。
OGSA将整个网格看作是网格服务的集合,这个集合是可以扩展的,反映了网格的动态特性。
OGSA使用VOs(Virtual Organizations,虚拟组织)的概念,通过标准的界面和约定来动态创建、管理、终止瞬时服务,定义这些服务的约定使用WSDL(Web Services Description Language,Web服务描述语言)之类的开放标准。
OGSA的诞生,标志着将网格从以科学与工程计算为中心的学术研究领域,扩展到更广泛的以分布式系统服务集成为主要特征的应用领域。
2003年,符合OGSA规范的GT3发布,GT3提供了一个完整的OGSI的实现。
GT3将服务发现、程序执行作业的提交、监控和可靠的文件传输,定义成了与OGSI兼容的服务。
其它如数据传递、副本定位和授权等服务也构建成与OGSI兼容。
3.3 基于WSRF的Globus2004年,Globus联盟等公布了建立在已有的Web Services定义和技术基础之上、统一网格计算和Web Services的新标准WSN(WS-Notification,Web服务通知)和WSRF(Web Services Resource Framework,Web服务资源框架)。
WSRF是OGSI的重构和发展,保留了OGSI中的所有基本功能,同时更改了一些语法,并且还在其表示中采用了不同的技术。
WSN 为Web Services提供基于消息发布和预定能力。
2005年发布的GT4,实现了WSRF和WSN 标准。
GT4提供API来构建有状态的Web Services,其目标是建立分布式异构计算环境。
所有知名的GT3协议都被重新设计为可以使用WSRF,并且GT4也在其中增添了一些新的Web Services的组件。
4. OGSA的体系结构[1]OGSA包括网格技术和Web Services技术,最突出的思想就是以服务为中心,将一切都抽象为服务,包括计算机、程序、数据、仪器设备等。
这种框架有利于通过统一的标准接口来管理和使用网格。
Web Services提供了一种基于服务的框架结构,但Web Services面对的一般都是永久服务,而在网格应用环境中,大量的是临时性的短暂服务(比如一个计算任务的执行)。
网格服务通过定义接口来完成不同的功能,服务数据是关于网格服务实例的信息,因此网格服务可以简单地表示为“网格服务=接口/行为+服务数据”。
以网格服务为中心的模型具有如下优点:1.由于网格环境中所有的组件都是虚拟化,因此,通过提供一组相对统一的核心接口,所有的网格服务都基于这些接口实现,就可以很容易地构造出具有层次结构的、更高级别的服务,这些服务可以跨越不同的抽象层次,以一种统一的方式来看待;2.虚拟化也使得将多个逻辑资源实例映射到相同的物理资源上成为可能,在对服务进行组合时不必考虑具体的实现,可以以底层资源组成为基础,在虚拟组织中进行资源管理。
通过网格服务的虚拟化,可以将通用的服务语义和行为,无缝地映射到本地平台的基础设施上。
OGSA 提供了简单运行环境、虚拟运行环境以及组操作环境,这三种运行环境的关系是从简单到复杂,包含的服务从具体到抽象。
OGSA的体系结构可用“五层沙漏模型”加以描述,从底层开始分别为构造层(纤维层)、连接层(联络层)、资源层、汇聚层(协作层)和应用层。
上层协议可调用下层协议的服务。
网格内的全局应用都通过协议提供的服务来调用操作系统。
构造层为网格协议仲裁的共享访问提供各种资源。
包括存储资源、计算资源、目录、数据库、网络资源、传感器等,构造层的基本功能就是控制和管理局部的资源,向上提供访问这些资源的接口。
对于各种计算设备、存储设备和网络设备分别开发相应的远程调用控制网格服务。
连接层实现构造层资源之间的通信、数据交换,定义了核心的通信和认证协议。
连接层的安全认证做到用户只要登录一次,就可以以该身份访问不同的构造层资源,不需要对不同的资源多次重复登录。
连接层里的网格服务分成查询服务、通讯服务和安全控制三类。
资源层建立在连接层的通信与认证协议之上,包括安全初始化、监视、控制单个资源的共享操作、审计以及付费等,获得资源的配置、当前负载、使用策略等信息。
提供数据访问、计算机访问、状态与性能信息访问等服务。
它考虑的是单个的局部资源,全局状态和跨越分布资源集合的原子操作由汇聚层考虑。
汇聚层的主要功能是协调"多种"资源的共享,协同完成任务。
汇聚层提供目录服务、协同分配、调度以及代理服务、数据复制服务、数据仓库服务、监控和诊断服务、网格支持下的编程系统、负载管理系统与协同分配工作框架、软件发现服务和协同预留服务。
汇聚层可分为通用的汇聚层和面向特定问题的汇聚层。
应用层是在虚拟组织环境中存在的,它可以调用资源层和汇聚层的服务,从而满足应用需求,向各个领域用户提供软件开发和运行平台。
五层沙漏结构的瓶颈是资源层与连接层,它们提供资源的安全访问。
应用层 工具与应用汇聚层目录代理诊断与监控等资源与 连接层资源与服务的安全访问各种资源,比如计算机,存储介质,网络,传感器等 构造层图1 OGSA 的五层沙漏结构5. 网格计算[2]网格计算(Grid Computing )的构想来源于电力供应网,原意是希望能够像得到电力供应一样得到高性能的计算能力。
如果把互联网理解为通信网络,那么网格计算就是计算的网络。
网格计算代表一种灵活而可扩展的体系架构,该体系架构收集和积累可用计算资源,通过把一组相互连接的计算机组织成为一个统一的计算引擎,创建动态、分布式、高性能的计算环境,提供一种解决计算密集型问题的经济而有效的方法。
随着高性能计算应用需求的迅猛发展,解决一些超大规模应用问题所需要的计算能力,已不可能在单一的计算机上或单一的计算机机群系统上获得,这就需要将地理上分布、系统异构的各种高性能计算机、数据服务器、大型检索存储系统和可视化、虚拟现实系统等,通过高速互连网络连接并集成起来,形成对用户相对透明的虚拟的高性能计算环境,即计算网格系统,以此来共同解决大型应用的计算问题。