首页 理论教育 云计算下的网格计算技术及体系结构

云计算下的网格计算技术及体系结构

时间:2023-11-26 理论教育 版权反馈
【摘要】:网格计算的产生是应对计算资源和计算能力不断增长需求的结果,其概念来源于电力网。而网格计算则是基于网格的问题求解。2)网格计算的体系结构目前网格计算技术流行的三种体系结构,即五层沙漏体系结构、开放网格服务体系结构、Web服务资源框架。

云计算下的网格计算技术及体系结构

网格计算(Grid Computing)的产生是应对计算资源和计算能力不断增长需求的结果,其概念来源于电力网。但与电力网相比,网格的结构更复杂,需要解决的问题也更多,对推动社会快速的发展起到巨大的作用。

1)网格与网格计算

网格(Grid)的概念最早于20世纪90年代中期被提出,当时是用于表述在高端科学和工程上分布式计算的一种基础构造形式。网格一直处于不断发展和变化中,尚未有精确的定义和内容定位

从广义上理解,网格是指巨大全球网格(GGG,Great Global Grid),它不仅包括计算网格、数据网格、信息网格、知识网格、商业网格,还包括一些已有的计算模式,例如对等计算、寄生计算等。网格就是一个集成的计算与资源环境,或者说是一个计算资源池,能够充分吸收各种计算资源,并将它们转化为一种随处可得的、可靠的、标准的、经济的计算能力。而狭义的网格则专指计算网格(Computational Grid),就是主要用于解决科学与工程计算问题的网格。

不管是狭义的还是广义的网格,其目的就是要利用互联网把分散在不同地理位置的计算机组织成一台“虚拟的超级计算机”,实现计算资源、存储资源、数据资源、信息资源、软件资源、通信资源、知识资源、专家资源等的全面共享。传统的互联网实现了计算机硬件的连通,Web实现了网页的连通,Web服务实现了程序和程序之间的共享,而网格则试图实现互联网上所有资源的全面连通。

鉴于网格概念的不确定性,网格之父Ian Foster也对网格概念进行了限定,即网格的三要素:

(1)在非集中控制的环境中协同使用资源

网格整合各种资源,协调各种使用者,这些资源和使用者在不同控制域中,比如,个人计算机和中心计算机;相同或不同公司的不同管理单元。网格还要解决在这种分布式环境中出现的安全、策略、使用费用、成员权限等问题,否则,只能算本地管理系统而非网格。

(2)使用标准的、开放的、通用的协议和接口

网格建立在多功能的协议和接口之上,这些协议和接口解决认证、授权、资源发现和资源存取等基本问题,否则,只算一个具体应用系统而非网格。

(3)提供非凡的服务质量

网格允许它的资源被协调使用,以提供多种服务质量来满足不同使用者的需求,如系统响应时间、流通量、有效性、安全性及资源重定位,使得联合系统的功效比其各部分的功效总和要大得多。

而网格计算(Grid Computing)则是基于网格的问题求解。严格地说,网格所关心的是一个崭新的信息基础实施的“构造”问题,而网格计算则关心如何“使用”网格平台来提供强大、经济与方便的问题解决途径。

网格计算实际上应归于分布式计算(Distributed Computing)。网格计算模式首先把要计算的数据分割成若干“小片”,而计算这些“小片”的软件通常是一个预先编制好的程序,然后处于不同节点的计算机根据自己的处理能力下载一个或多个数据片段进行计算。

网格计算的目的是,通过任何一台计算机都可以提供无限的计算能力,可以接入浩如烟海的信息。这种环境将能够使各企业解决以前难以处理的问题,最有效地使用他们的系统,满足客户要求并降低他们计算机资源的拥有和管理总成本。网格计算的主要目的是设计一种能够提供以下功能的系统:

①提高或拓展企业内所有计算资源的效率和利用率,满足最终用户的需求,同时能够解决以前由于计算、数据或存储资源的短缺而无法解决的问题。

②建立虚拟组织,通过让他们共享应用和数据来对公共问题进行合作。

③整合计算能力、存储和其他资源,能使得需要大量计算资源的巨大问题求解成为可能。

④通过对这些资源进行共享、有效优化和整体管理,能降低计算的总成本。

2)网格计算的体系结构

目前网格计算技术流行的三种体系结构,即五层沙漏体系结构(Five-Level Sandglass Architecture)、开放网格服务体系结构(Open Grid Services Architecture,OGSA)、Web服务资源框架(Web Services Resource Framework,WSRF)。

(1)五层沙漏体系结构(Five-Level Sandglass Architecture)

五层沙漏体系结构是由Ian Foster等最早提出的一种具有代表性的网格体系结构,也是一个最先出现的应用和影响广泛的结构。它的特点就是简单,主要侧重于定性的描述而不是具体的协议定义,容易从整体上进行理解。在五层沙漏体系结构中,最基本的思想就是以协议为中心,强调服务与API和SDK的重要性。

五层沙漏体系结构的设计原则就是要保持参与的开销最小,即作为基础的核心协议较少,类似于OS内核,以方便移植。另外,沙漏结构管辖多种资源,允许局部控制,可用来构建高层的、特定领域的应用服务,支持广泛的适应性。

五层沙漏体系结构根据该结构中各组成部分与共享资源的距离,将对共享资源进行操作、管理和使用的功能分散在五个不同的层次,由下至上分别为构造层(Fabric)、连接层(Connectivity)、资源层(Resource)、汇聚层(Collective)和应用层(Application),如图4-1所示。

图4-1 沙漏形状的五层结构

◆构造层——提供本地资源接口

构造层的基本功能就是控制局部的资源,包括查询机制(发现资源的结构和状态等信息)、控制服务质量的资源管理能力等,并向上提供访问这些资源的接口。构造层资源是非常广泛的,可以是计算资源、存储系统、目录、网络资源以及传感器等。

◆连接层——通信管理

连接层的基本功能就是实现相互通信。它定义了核心的通信和认证协议,用于网格的网络事务处理通信协议允许在构造层资源之间交换数据,要求包括传输、路由、命名等功能。

◆资源层——共享单一资源

资源层的基本功能就是实现对单个资源的共享,使用户与资源安全握手。资源层定义的协议包括安全初始化、监视、控制单个资源的共享操作、审计以及付费等。它忽略了全局状态和跨越分布资源集合的原子操作。

◆汇聚层——协调多种资源共享

汇聚层的基本功能是汇聚资源层提供的各种资源,协调各种资源的共享。汇聚层协议与服务描述的是资源的共性,包括目录服务、协同分配和调度以及代理服务、监控和诊断服务、数据复制服务、网格支持下的编程系统、负载管理系统与协同分配工作框架、软件发现服务、协作服务等。它们说明了不同资源集合之间是如何相互作用的,但不涉及资源的具体特征。

◆应用层——用户的网格应用

应用层是在虚拟组织环境中存在的,其基本功能是调用各底层提供的服务,实现网格应用的开发。应用可以根据任一层次上定义的服务来构造。每一层都定义了协议,以提供对相关服务的访问,这些服务包括资源管理、数据存取、资源发现等。

在五层结构中,资源层和连接层共同组成了瓶颈部分,使得该结构呈沙漏形状。其内在的含义就是各部分协议的数量是不同的,对于其最核心的部分,要能够实现上层各种协议向核心协议的映射。同时实现核心协议向下层各种协议的映射,核心协议在所有支持网格计算的地点都应该得到支持,因此核心协议的数量不应该太多,这样核心协议就形成了协议层次结构中的一个瓶颈。

(2)开放网格服务体系结构

开放网格服务结构(Open Grid Services Architecture,OGSA)是继五层沙漏结构之后最重要的一种网格体系结构,由Foster等结合Web Service等技术,在与IBM合作下提出的新的网格结构。OGSA最基本的思想就是以“服务”为中心。在OGSA框架中,将一切抽象为服务,包括各种计算资源、存储资源、网络、程序、数据库等。简而言之,一切都是服务。五层模型的目的是要实现对资源的共享,而OGSA中则要实现对服务的共享。(www.xing528.com)

OGSA定义了网格服务(Grid Service)的概念。网格服务是一种Web Service,该服务提供了一组接口,这些接口的定义明确并且遵守特定的管理,解决服务发现、动态服务创建、生命周期管理、通知等问题。在OGSA中,将一切都看作网格服务,因此网格就是可扩展的网格服务的集合。网格服务可以以不同的方式聚集起来满足虚拟组织的需要,虚拟组织自身也可以部分地根据他们操作和共享的服务来定义。简单地说,网格服务=接口/行为+服务数据。图4-2是对网格服务体系结构的简单描述。

图4-2 OGSA的网络服务示意图

OGSA以服务为中心,具有如下好处:

在OGSA中一切都是服务,通过提供一组相对统一的核心接口,所有的网格服务都基于这些接口实现,可以很容易地构造出具有层次结构的、更高级别的服务,这些服务可以跨越不同的抽象层次,以一种统一的方式来看待。

网格的虚拟化也使得将多个逻辑资源实例映射到相同的物理资源上,在对服务进行组合时不必考虑具体的实现,可以以底层资源组为基础,在虚拟组织中进行资源管理。通过网格服务的虚拟化,可以将通用的服务语义和行为无缝地映射到本地平台的基础设施之上。

OGSA包括两大关键技术,即网格技术(如Globus软件包)和Web Service技术。它是在五层沙漏结构的基础上,结合Web Service技术提出来的,解决了两个重要问题——标准服务接口的定义和协议的识别。

◆Globus

Globus是已经被科学和工程计算领域广泛接受的网格技术解决方案。它是一种基于社团的、开放结构、开放源码的服务的集合,也是支持网格和网格应用的软件库。该工具包解决了安全、信息发现、资源管理、数据管理、通信、错误监测以及可移植等问题。

与OGSA关系密切的Globus组件是GRAM网格资源分配与管理协议和门卫(Gate Keeper)服务,它们提供了安全可靠的服务创建和管理功能,元目录服务通过软状态注册、数据模型以及局部注册来提供信息发现功能。GSI(Grid Security Infrastructure,网格安全架构)支持单一登录点、代理和信任映射。这些功能提供了面向服务结构的必要元素,但是比OGSA中的通用性要小。

◆Web Service

Web Service是一种标准的存取网络应用的框架。XML协议相关的工作是Web Service的基础。Web Service中几个比较重要的协议标准是SOAP(Simple Object Access Protocol,简单对象访问协议)、WSDL(Web Service Description Language,Web服务描述语言)、WSInspection、UDDI(Universal Description,Discovery&Integration,统一的描述、发现与集成)。SOAP是基于XML的RPC(Remote Process Call,远程进程调用)协议,用于描述通用的WSDL目标。WSDL用于描述服务,包括接口和访问的方法,复杂的服务可以由几个服务组成,它是Web Service的接口定义语言。WS-Inspection给出了一种定义服务描述的惯例,包括一种简单的XML语言和相关的管理,用于定位服务提供者公布的服务。而UDDI则定义了Web Service的目录结构。

(3)Web服务资源框架(Web Service Resource Framework,WSRF)

在OGSA刚提出不久,GGF及时推出了OGSI(Open Grid Services Infrastructure,开放网格服务基础架构)草案,并成立了OGSI工作组,负责该草案的进一步完善和规范化。OGSI是作为OGSA核心规范提出的,其1.0版于2003年7月正式发布。OGSI规范通过扩展Web服务定义语言WSDL和XML Schema的使用来解决具有状态属性的Web服务问题。它提出了网格服务的概念,并针对网格服务定义了一套标准化的接口,主要包括:服务实例的创建、命名和生命期管理,服务状态数据的声明和查看,服务数据的异步通知,服务实例集合的表达和管理,以及一般的服务调用错误的处理等。

OGSI通过封装资源的状态,将具有状态的资源建模为Web服务,这种做法引起了“Web服务没有状态和实例”的争议,同时某些Web服务的实现不能满足网格服务的动态创建和销毁的需求。OGSI单个规范中的内容太多,所有接口和操作都与服务数据有关,缺乏通用性,而且OGSI规范没有对资源和服务进行区分。OGSI目前使用的Web服务和XML工具不能良好工作,因为它过多地采用了XML模式,比如xsd:any基本用法、属性等,这可能带来移植性差的问题。另外,由于OGSI过分强调网格服务和Web服务的差别,导致了两者之间不能更好地融合在一起。上述原因促使了Web服务资源框架的出现。

WSRF采用了与网格服务完全不同的定义:资源是有状态的,服务是无状态的。为了充分兼容现有的Web服务,WSRF使用WSDL 1.1定义OGSI中的各项能力,避免对扩展工具的要求,原有的网格服务已经演变成了Web服务和资源文档两部分。WSRF推出的目的在于,定义出一个通用且开放的架构,利用Web服务对具有状态属性的资源进行存取,并包含描述状态属性的机制,另外也包含如何将机制延伸至Web服务中的方式。

WSRF是一个服务资源的框架,一个具有5个技术规范的集合,它们根据特定的Web服务消息交换和相关的XML规范来定义Web服务资源方法的标准化描述。表4-1总结了这些技术规范。

表4-1 WSRF中5个标准化的技术规范

这些规范定义了以下方法:

Web服务资源可以与销毁请求同步地或者通过提供基于时间的析构(destruct)机制来销毁,而且指定的资源特性可以被用来检查和检测Web服务资源的生存期。

Web服务资源的类型定义可以由Web服务的接口描述和XML资源特性文档来组成,并且可以通过Web服务消息交换来查询和更改Web服务资源的状态。

如果Web服务内部所包含的寻址或者策略信息变得无效或者过时,Web服务端点引用(Web服务寻址)可以被更新。

可以定义异构的通过引用方式结合在一起的Web服务集合,不管这些服务是否属于Web服务资源。

通过使用用于基本错误的XML Schema类型以及扩展这个基本错误类型的规则应用到Web服务中,使得Web服务中的错误报告可以更加标准化。

3)网格计算的技术特点

与现在的网络技术相比,网格计算有以下几个鲜明的技术特点:

(1)分布性

分布性是网格计算的一个最主要的特点。网格计算的分布性首先是指网格的资源是分布的。组成网格的计算能力不同的计算机,各种类型的数据库乃至电子图书馆,以及其他的各种设备和资源,是分布在地理位置互不相同的多个地方,而不是集中在一起的。分布的网格一般涉及的资源类型复杂、规模较大、跨越的地理范围较广。

(2)共享性

网格资源虽然是分布的,但是它们却是可以充分共享的。即网格上的任何资源都是可以提供给网格上的任何使用者。共享是网格的目的,没有共享便没有网格。解决分布资源的共享问题,是网格的核心内容。这里共享的含义是非常广泛的,不仅指一个地方的计算机可以用来完成其他地方的任务,还可以指中间结果、数据库、专业模型库以及人才资源等各方面的资源。

(3)自相似性

自相似性在许多自然和社会现象中大量存在,一些复杂系统都具有这种特征,网格就是这样。网格的局部和整体之间存在着一定的相似性,局部往往有许多地方具有全局的某些特征,而全局的特征在局部也有一定的体现。除了相似性之外,整体和部分之间必然有不同的地方。

(4)动态性

对于网格来说,决不能假设它是一成不变的。网格的动态性包括动态增加和动态减少两个方面的含义。原来拥有的资源或者功能,在下一时刻可能就会出现故障或者不可用;而原来没有的资源,可能随着时间的推移会不断加入进来。这种动态变化的特点就要求网格管理者充分考虑并解决好这一问题,对于网格资源的动态减少或者资源出现故障的情况,要求网格能够及时采取措施,实现任务的自动迁移,做到对高层用户透明或者尽可能减少用户的损失。

(5)多样性

网格资源是异构的和多样的。在网格环境中有不同体系结构的计算机系统和类别不同的资源,因此网格系统必须能够解决这些不同结构、不同类别资源之间通信和互操作问题。正是因为异构性或者多样性的存在,为网格软件的设计提出了更大的挑战,只有解决好这一问题,才会使网格更有吸引力

(6)自治性与管理的多重性

网格上的资源,首先是属于某一个组织或者个人的,因此网格资源的拥有者对该资源具有最高级别的管理权限,网格应该允许资源拥有者对其资源有自主的管理能力,这就是网格的自治性。但是网格资源也必须接受网格的统一管理,否则不同的资源就无法建立相互之间的联系,无法实现共享和互操作,无法作为一个整体为更多用户提供方便的服务。因此网格的管理具有多重性,一方面它允许网格资源的拥有者对网格资源具有自主性的管理,另一方面又要求网格资源必须接受网格的统一管理,以实现资源共享和互操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈