Globus的简单介绍

清华大学杜志辉讲授的《网格计算》课程。

清华大学出版社出版的《网格计算》一书,杜志辉等编著。
 

Unit1 网格基础

@广义定义:“网格”就是一个集成的计算与资源环境,或者说是一个计算资源池。“网格计算”是基于网格问题的求解。

狭义定义:网格资源主要指分布的计算机资源。“网格计算”是指将分布的计算机组织起来协同解决复杂的科学与工程计算问题。 

@随着计算机的发展和网上资源的不断扩大化,网格要具有超大规模的计算和数据分析能力。

机器的发展趋势:大型机——>小型机——>微机——>机群。 

@网格的应用领域:

一、科学计算领域

分布式超级计算;高吞吐率计算;数据密集型计算……

二、社会经济生活领域

基于广泛信息共享的人与人的交互;更广泛的资源贸易……

@网格的特点:

1.分布性与共享性。网格的资源是分布的,这导致需要分布计算。

2.自相似性。局部和整体之间存在着相似性。

3.动态性与多样性。网络资源的动态增加/减少,增加需要网格就有扩展性;异构和多样也是网格的特点。

4.自治性与管理的多重性。自治性指网格允许资源拥有者对他的资源拥有自主的管理能力;多重性指,同时,要求网格资源必须接收网格的统一管理。

 

 

Unit2 网格的体系结构

协议定义:信息结构的定义+交互方式的定义。

服务定义:实现的行为+使用何种协议。

主要有两种:五层沙漏结构开放网格服务结构

一、五层沙漏结构

API(Application Programming Interfaces)

SDK(Software Development Kits)

@由下至上的五层结构是:

*构造层fabric):局部控制的界面

   物理资源。

*连接层connectivity):支持便利安全的通信

   为下层的物理资源提供安全的数据传输能力。定义了核心的通信认证协议,通信协议大部分是从tcp/ip协议中抽取的,认证协议是为了保证安全。

*资源层resource):共享单一资源

   反映抽象的局部资源的特征。协议包括:安全初始化、监视、控制单个资源的共享操作、审计以及付费等。

*汇聚层collective):协调各种资源

   解决如何将下面以单个资源性师表现出来得资源集中起来的资源集中起来。协议必须是通用的并且可以广泛使用。

*应用层application

   关心有什么样的资源可以由下面提供给虚拟组织,解决不同虚拟组织的具体问题。

@五层沙漏结构的各部分与globus功能的对应关系:

 

二、开放网络服务体系结构:OGSP(Open Grid Services Architecture)

基本思想:以服务为中心的模型(对比五层沙漏结构是以协议为中心的模型)。

五层沙漏——对资源的共享;OGSP——对服务的共享。

网格服务=接口/行为+服务数据

解决互操作问题的两个关键:定义服务的接口+识别激活特定接口的协议。

@OGSA服务接口

1.GridService接口(必须拥有的服务接口)

主要完成服务周期管理服务数据管理两个任务。

因为OGSA提供的是临时服务,所以涉及到“服务周期”的问题。标准操作:Destroy——撤销服务;SetTerminationTime——终止服务;Keepalive——扩展存活周期。

服务数据是一些被封装的XML元素集合。

2.句柄映射HandleMap接口(从GSHGSR

每个网格服务都被赋以一个全局唯一的名字,即网络服务句柄GSH, Grid Service Handle)。GSH不能携带与特定协议或实例相关的信息,OGSA将这些信息封装起来,和其他特定实例相关的信息一起,形成网络服务引用(GSR, Grid Service Reference)这个抽象实体。

两种获得GSR的方法:

3.注册服务Registry接口

与注册相关的两个要素:注册接口:提供GSH的注册操作;相关的服务数据元素:注册的GSH的信息。

所以,Registry接口主要用于注册一个GSHGridService接口的FindServiceData操作用于检索已经注册的GSH消息。

4.创建临时服务Factory接口

Factory接口的CreateService操作可以根据请求创建一个网格服务,并返回新创建服务实例的GSH和初始化的GSR

5.主键服务PrimaryKey

客户端可以用这个建查询特定网格服务实例的Factory

6.通知机制NotificationSource/NotificationSink接口

NotificationSource:消息发布方服务接口

NotificationSink:消息接收方服务接口

7.升级的管理与其他

注意:服务的升级不能够对客户端的操作有影响。

 

 

Unit3 网格技术

网格应用技术、网格编程技术、网格核心管理技术、网格底层支撑技术。

 

 

 

Unit4 Globus项目介绍

Globus项目的主要工作就是建立支持网格计算的通用协议,开发支持网格计算的服务,实现支持网格计算环境的软件开发工具。

1网格安全基础设施——GSI(Grid Security Infrastructure):负责在广域网络下的安全认证和加密通信,提供单点登录功能、远地身份鉴别功能、数据传输加密功能等。是保证网格计算环境安全性的核心部分。

2Globus资源分配管理——GRAM(Globus Resource Allocation Manager):负责远程应用的资源请求处理、远程任务调度处理、远程任务管理等工作,负责对RSL(Resource Specification Language)信息的解析和处理,是网格计算环境中的任务执行中心

3元计算目录服务——MDS(Metacomputing Directory Service):主要完成对网格计算环境中信息的发现、注册、查询、修改等工作,提供对网格计算环境的一个真实、实时的动态反映。主要基于LDAP(Lightweight Directory Access Protocol)协议,其处理的信息主要是网格计算环境中的各种资源(包括数据资源、计算资源等)、服务和其他主体的描述。MDS是网格计算环境中的信息服务中心。

4全局二级存储服务——GASS(Global Access to Secondary Storage)GASS简化了在Globus环境中应用程序对远程文件I/O的操作,使得使用UNIX和标准语言C语言I/O库的应用程序基本不用改动就可在环境中执行。GASS是一个支持网格计算环境远程I/O访问的中间件。

5网格FTP服务——GridFTPGridFTP是一个高性能、安全、可靠的数据传输协议,并针对高带宽的广域网络环境进行了优化。具有支持第三方传输、断点续传、并行传输、与GSI结合的安全认证、缓存等特性,是网格计算环境中的数据传输工具。

6Globus复制管理——Globus Replication Management:复制管理是一大类科学应用程序中需要考虑的重要问题,由于存在对大型远程文件的访问,Globus Replica Catalog通过把部分相关数据智能地放置在离科学应用程序最近的位置,使得科学应用程序可快速地对数据进行访问。

 

Globus系统(数据网格应用的开发平台): OGSA框架;XML语言描述;WebServicesSOAPWSDLUDDI协议。

附:

网络层:主机——主机

传输层:进程——进程

应用层:服务——服务

 

 

Unit5 网格安全基础设施GSI

GSI主要集中在网格的传输层和应用层,并强调与现有分布式安全技术的融合。是一种分布式安全技术。

@GSI的主要技术手段:

#安全认证GSI证书采用X.509的证书格式。

#安全身份相互鉴别。采用SSL(Secure Sockets Layer)协议作为相互认证协议。

#通道加密。缺省情况下,通信双方认证后即可正常通信,不建立加密通道。若建立,一般采用公钥技术对称加密技术结合的加密方式。

#私钥保护。私钥一般保存在本地计算机的文件中,为确保安全还需要用户的口令。

#安全委托与单点登录。用于一个用户与多个资源管理者进行联系的情况。通过创建用户代理(Proxy)来避免重复输入口令,这个叫做“委托扩展”。

发给用户代理的是临时安全证书,有时效限制。

@Globus主体与本地资源主体的映射

为了执行本地访问安全控制,资源代理要把一个Globus主体映射为一个本地资源“知道”的主体,所以要把主体的全局名称映射成本地的局部名称。

@GSI安全策略的实现主要包括三部分:

#通用安全服务编程接口GSS-API(Generic Security Service API)。用来实现对Globus安全组件的访问,可以解决可移植性问题。

主要功能:获得证书、执行安全鉴别、签署消息、加密消息。

#安全认证证书管理。

#用户代理的实现。

 

 

Unit6 元计算目录服务MDS

MDS的主要工作包括资源(服务)发现、资源(服务)描述、资源(服务)监视与更新。

@MDS的主要实现模块:

#可配置的信息提供者组件:网络资源信息服务GRIS(Grid Resource Information Service)

#可配置的集合目录组件:网络目录信息服务GIIS(Grid Index Information Service)

GRIS以一种目录的结构登记具体的资源信息,GIIS纪录有GRIS地址,并提供GRIS信息缓存。两者是基于LDAP(Lightweight Directory Access Protocol,轻量目录访问协议,是个独立于厂家和平台的开放网络协议标准,用来访问存储在信息目录中的信息)协议的。

@LDAP的两种通信模式:

#客户—服务器:允许用户程序连接LDAP服务器进行创建、检索、修改、删除数据等操作。

#服务器—服务器:多个服务器如何共享一个LDAP目录信息树(DIT, Directory Information Tree),如何更新和复制服务器之间的信息。

@MDS中,高层服务(或用户)与信息提供者交互使用两个协议(不直接交互,而是通过MDS):软状态注册协议Soft-state Registration Protocol)和查询协议Enquiry Protocol)。

@MDS目录结构遵从LDAP模型,主要由目录信息树DIT层次和对象类定义组成。

 

 

Unit7 资源分配管理GRAM

资源描述语言RSL(Resource Specification Language)

@GRAM主要负责的事务包括:

1)解析和处理任务请求中的RSL描述,针对可用资源等情况对请求做出拒绝处理或执行等操作;

2)管理远程监控启动的任务;

3)根据所管理的资源可用情况更新MDS

@GRAM的主要组成:

#gatekeeper(主要做安全认证工作)

#任务管理者

#资源管理者

@GRAM提供三类API:面向客户端、面向任务和面向任务管理者(globus_gram_clientglobus_gram_myjobglobus_gram_jobmanager)。

 

@动态协同分配代理DUROC

协同分配代理(co-allocator)负责各个资源管理者之间的协同交互。DUROC主要以API的形式存在。

任务请求——>DUROC API——>分解为NGRAM请求——>GRAM API

 

 

Unit8 数据管理

Globus的数据管理主要与远程数据传输远程文件I/O相关

数据管理主要包括三部分:GASSGirdFTP和复制管理服务。

@全局二级存储服务GASS

GASS可以简化在Globus环境中应用程序对远程文件I/O的操作。

使用本地二级缓存来缓存一些远程文件,解决带宽问题,并且可以随着远程文件的变化更新缓存。

支持文件访问预处理和后处理(读/写操作处理)。

@GridFTP

数据传输机制。增加了GSS-API安全认证;支持并行数据传输,条状(strip)数据传输和部分文件传输;可以自动调整TCP buffer/windows大小。

@复制管理服务。

主要针对大型远程数据文件的访问。

一个网格应用确定最佳数据传输位置的服务访问流程:

1)应用程序首先描述出需要的数据特征,然后把属性描述传递给元数据目录服务。

2)元数据目录服务根据应用程序提供的属性描述查询包含这些属性的索引,产生出包含符合应用程序所需特征的数据的逻辑文件列表,并把逻辑文件列表返回给应用程序。

3)应用程序收到元数据目录服务传来的逻辑文件列表后,把这些逻辑文件名传递给复制管理服务。

4复制管理服务收到应用程序的逻辑文件后,查询注册表,把注册的逻辑文件相对应的物理位置信息返回给应用程序。

5应用程序把返回的复制位置列表传给复制选择(replica selection)服务

6)复制选择服务根据列表确定从复制位置到应用程序之间的连接,并把这些信息发送给信息服务(即MDS

7)信息服务把这些连接之间的传输性能评估数据,发送给复制选择服务。

8)复制选择服务根据这些评估,选择一个最佳的位置并把包含选择数据的位置信息发送给应用程序。

9)应用程序收到包含数据的最佳位置后,就可以通过GridFTP或其他手段进行数据传输了。

posted @ 2012-08-17 23:51  CN.SnailRun  阅读(1974)  评论(0编辑  收藏  举报