网络新技术——网格技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网格技术
摘要:
本文主要介绍了数据网格的一些基本概念与技术,并论述了网格计算的发展概况、在科学领域的应用范围、网格服务的特点以及在未来网络市场中的发展潜力。

现代社会由于大规模的科学和工程计算的需求,迫使计算机必须不断地提高其运算速度和存储容量。

计算机的发展历史表明,为了达到更好的处理性能,除了必须提高系统的硬件的速度外,系统的结构也必须不断改进,特别是当元器件的速度达到极限时,后者将变成焦点问题。

于是,超级并行机已经成为复杂科学计算领域的主宰。

但以超级计算机为中心的计算模式存在明显的不足,而且目前正在经受挑战。

而随着人们在日常工作遇到的商业计算越来越复杂,人们迫切需要数据处理能力更强大的计算机,而超级计算机的价格显然阻止了它进入普通人的工作领域。

于是,人们开始寻找一种造价低廉而数据处理能力超强的计算模式,最终科学家们经过努力找到了答案——Grid Computing(网格计算)。

小组分工:
张添瑞:负责网格技术概述、文档
李超:负责网格特征、五层沙漏结构
张志豪:总结、参考文献、PPT
胡瑞森:网格的技术
目录:
摘要: (1)
目录: (3)
一、引言: (4)
二、网格技术概述 (3)
1. 网格技术的概念 (3)
2. 网格研究的现状 (4)
3. 网格的运用 (4)
三、网格的特征 (6)
1. 网格技术的特征 (6)
2. 网格的体系特征 (7)
3. 网格协议体系结构 (8)
四、五层沙漏结构 (8)
1. 五层协议栈 (8)
2. 沙漏形状的五层结构 (8)
五、网格的技术 (9)
1. Globus Toolkit (9)
2. web service (10)
3. Globus Toolkit 3.0 (11)
4. 安全性 (11)
5. 资源管理 (12)
6. 信息服务 (13)
7. 数据管理 (14)
8. 可靠性 (14)
六、总结 (15)
七、参考文献 (15)
一、引言:
近年来,随着计算机计算能力的迅速增长,互联网络的普及和高速网络成本
的大幅度降低以及传统计算方式和计算机的使用方式的改变,网格计算已经逐渐成为超级计算发展的一个重要趋势。

网格计算是一个崭新而重要的研究领域,它以大粒度资源共享,高性能计算和创新性应用为主要特征,必将成为21世纪经济发展的重要推动力。

二十世纪九十年代以来,世界各个国家,尤其是发达国家,建立了很多超级计算应用中心(NCSA)和工程研究中心,美国还制定了新一轮规划的先进计算框架计划(ACIP),发展面向21世纪的先进计算技术. 我国在科技部的领导和主持下,经过306主题专家组及相关单位的努力,作为我国高性能计算和信息服务的战略性基础设施的国家高性能计算环境发展很快。

在已建成的5个国家级高性能计算中心基础上,又于中南、西北等地建立了新的国家高性能计算中心,科技部并加强了网格节点的建设,形成以科学院为主体的计算网格。

教育部也启动了网格计算工程,第一批12个网点正在建设中,国家基金委也列出专向基金资助网格计算。

二、网格技术概述
1.网格技术的概念
网格(grid)是一个集成的计算与资源环境,或者说是一个计算资源池。

网格也是一种先进的计算基础设施(Advanced Computational Infrastructure,简称ACI),用于研究与工程应用相结合的项目,学科领域涉及超级计算技术、网络技术、数据库技术、中间件技术、并行算法和各种计算科学研究与应用技术,是一个综合性的跨学科高技术研究课题。

网格计算(Grid Computing)是伴随着互联网技术而迅速发展起来的,是将地理上分布的计算资源(包括数据库、贵重仪器等各种资源)充分利用起来,协同解决复杂的大规模问题,特别是解决仅靠本地资源无法解决的复杂问题,是专门针对复杂科学计算的新型计算模式。

这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个"虚拟的超级计算机",其中每一台参与计算的计算机就是一个"节点",而整个计算是由成千上万个"节点"组成的"一张网格",所以这种计算方式叫网格计算。

这样组织起来的"虚拟的超级计算机"有两个优势,一个是数据处理能力超强;另一个是能充分利
用网上的闲置处理能力。

网格是借鉴电力网(electric power grid)的概念出来的,网格的最终目的是希望用户在使用网格的计算能力时,就如同现在使用电力一样方便简单。

2.网格研究的现状
国内网格技术研究现状
目前。

国内的网格计算研究,主要集中在中科院计算所、清华大学等几家在高性能计算方面有较强实力的研究单位.在国家高技术研究发展计划(863计划)的支持下,我国的多项网格研究已经取得了突破.包括如下应用:
●国家高性能计算环境;
●中国教育科研网格;
●国家地质调查应用网格;
●中国气象应用网格。

国外的网格技术研究现状
在美国,由自然科学基金资助的PACI项目,包括两个重要的部分:NCSA和NPACI。

美国的NASA正在构造一个网格计算实验床,称为IPG,它可以将NASA 分布在各地的资源通过网络(包括无线通信手段)连接起来,解决NASA目前无法解决的科学、工程计算与数据管理等问题.欧洲的网格论坛也在开展网格计算方面研究.目前已经出现了许多在一定程度上支持网格计算的系统,较著名的有G1obus.Legion,Net sol,Condo,Ninf等.国外的各种网格系统都有一个重要的特点,即投入资金巨大。

3.网格的运用
现在国内国外运用得最多的可能是在一些大型院校的计算网络(实现计算资源的共享。

什么是计算资源:简单来说就是计算能力,CPU。

计算资源共享就是CPU计算的共享)。

人们把一个集群(cluster, 也就是常说的机房,通常有几十台操作系统为Linux的计算机)的计算机连成一个局域型网格。

这样就好像把这几十台电脑连成了一台超级计算机,计算能力当然大大提高了。

这种局域计算网格主要运用于一些科研的研究。

比如说生物科学。

当生物科学的研究员需要高
性能的计算资源来帮助他们分析试验的结果时,他们就把这些分析试验的程序提交给网格,网格通过计算再把结果返回给这些研究员。

计算结果可能是一些图像也可能是一些数据。

这些计算如果在单一PC上运行的话,往往会花费几个月的时间,然而在网格中运行一,两天也就完成了。

这就是网格技术最直观的优点之一。

网格另外一个显著的运用可能就是虚拟组织(Virtual Organisations)。

这种虚拟组织往往是针对与某一个特定的项目,或者是某一类特定研究人员。

在这里面可以实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。

比如说中国2008年奥运会开幕式研究组就可以运用网格组成一个虚拟组织。

科学计算领域,网格计算可以在以下几个方面得到广泛应用:
分布式超级计算
网格计算可以把分布式的超级计算机集中起来,协同解决复杂的大规模的问题。

使大量闲置的计算机资源得到有效的组织,提高了资源的利用效率,节省了大量的重复投资,使用户的需求能够得到及时满足。

高吞吐率计算
网格技术能够十分有效地提高计算的吞吐率,它利用CPU的周期窃取技术,将大量空闲的计算机的计算资源集中起来,提供给对时间不太敏感的问题,作为计算资源的重要来源。

数据密集型计算
数据密集型的问题的求解往往同时产生很大的通讯和计算需求,需要网格能力才可以解决。

网格可以药物分子设计、计算力学、计算材料、电子学、生物学、核物理反应、航空航天等众多的领域得到广泛的需求。

基于广泛信息共享的人与人交互
网格的出现更加突破了人与人之间地理界线的限制,使得科技工作者之间的交流更加的方便,从某种程度上可以说实现人与人之间的智慧共享。

更广泛的资源贸易
随着大型机的性能的提高和微机的更加普及,及其资源的闲置的问题也越来越突出,网格技术能够有效地组织这些闲置的资源,使得有大量的计算需求的用
户能够获得这些资源,资源的提供者的应用也不会受到太大的干扰。

需要计算能力的人可以不必购买大的计算机,只要根据自己的任务的需求,向网格购买计算能力就可以满足计算需求。

三、网格的特征
1.网格技术的特征
网格是一种分布式系统,但网格不同于传统的分布式系统。

IBM Global Service与EDS是在这个分布式领域最著名的公司。

构建分布式系统有三种方法:即传统方法(我们称之为EDS方法)、分布自律系统(Autonomous Decentralized Systems, ADS)方法,网格(grid)方法。

ADS通常用于工业控制系统中。

网格的特征如下:
●开放性:开放技术、开放系统
●通用性:通用技术
●集中性:自然进化、非集中控制
●使用模式:服务模式为主
●标准化:通用标准(+行业标准)
●平台性:平台或基础设施
网格具有一下四点优势:
(1)资源共享,消除资源孤岛:网格能够提供资源共享,它能消除信息孤岛、实现应用程序的互连互通。

网格与计算机网络不同,计算机网络实现的是一种硬件的连通,而网格能实现应用层面的连通。

(2)协同工作:网格第二个特点是协同工作,很多网格结点可以共同处理一个项目。

(3)通用开放标准,非集中控制,非平凡服务质量:这是Ian Foster最近提出的网格检验标准。

网格是基于国际的开放技术标准,这跟以前很多行业、部门或者公司推出的软件产品不一样。

(4)动态功能,高度可扩展性:网格可以提供动态的服务,能够适应变化。

同时网格并非限制性的,它实现了高度的可扩展性。

2.网格的体系特征
网格之所以能有以上所说的种种优势特征,是由网格的体系结构赋予它的。

网格体系结构的主要功能是划分系统基本组件,指定组件的目的与功能,刻画组件之间的相互作用,整合各部分组件。

科研工作者已经提出并实现了若干种合理的网格体系结构。

下面介绍目前影响比较广泛的两个网格体系结构:网格计算协议体系结构(Grid Protocol Architecture,GPA)和计算经济网格体系结构(GRACE)模型。

OGSA(Open Grid Services Architecture)被称为是下一代的网格体系结构,它是在原来“五层沙漏结构”的基础上,结合最新的Web Service 技术提出来的。

OGSA包括两大关键技术即网格技术和Web Service 技术。

随着网格计算研究的深入,人们越来越发现网格体系结构的重要。

网格体系结构是关于如何建造网格的技术,包括对网格基本组成部分和各部分功能的定义和描述,网格各部分相互关系与集成方法的规定,网格有效运行机制的刻画。

显然,网格体系结构是网格的骨架和灵魂,是网格最核心的技术,只有建立合理的网格体系结构,才能够设计和建造好网格,才能够使网格有效地发挥作用。

OGSA最突出的思想就是以“服务”为中心。

在OGSA框架中,将一切都抽象为服务,包括计算机、程序、数据、仪器设备等。

这种观念,有利于通过统一的标准接口来管理和使用网格。

Web Service提供了一种基于服务的框架结构,但是,Web Service 面对的一般都是永久服务,而在网格应用环境中,大量的是临时性的短暂服务,比如一个计算任务的执行等。

考虑到网格环境的具体特点,OGSA 在原来Web Service 服务概念的基础上,提出了“网格服务(Grid Service)”的概念,用于解决服务发现、动态服务创建、服务生命周期管理等与临时服务有关的问题。

基于网格服务的概念,OGSA 将整个网格看作是“网格服务”的集合,但是这个集合不是一成不变的,是可以扩展的,这反映了网格的动态特性。

网格服务通过定义接口来完成不同的功能,服务数据是关于网格服务实例的信息,因此网格服务可以简单地表示为“网格服务=接口/行为+服务数据”。

在目前,网格服务提供的接口还比较有限,OGSA 还在不断的完善过程之中。

3.网格协议体系结构
网络协议体系结构即五层沙漏结构,Ian Foster于2001年提出了网格计算协议体系结构,认为网格建设的核心是标准化的协议与服务。

下面详细讲解五层沙漏结构。

四、五层沙漏结构
该结构最重要的思想就是以“协议”为中心,同时也十分强调服务与API 和SDK的重要性。

1.五层协议栈
2.沙漏形状的五层结构
工具与应用应用层
汇聚层
目录代理
诊断与监控等
资源与服务的安全访问资源与连接层
各种资源,比如计算机,存储介质,网络传
构造层
感器等
(1)构造层(Fabric):控制局部的资源。

由物理或逻辑实体组成,目的是
为上层提供共享的资源。

常用的物理资源包括计算资源、存储结构、目录、网络资源等;逻辑资源包括分布式文件系统、分布计算池、计算机群等。

构造层组件的功能受高层需求影响,基本功能包括资源查询和资源管理的QoS保证。

(2)连接层(Connectivity):支持便利安全的通信。

该层定义了网格中安全通信与认证授权控制的核心协议。

资源间的数据交换和授权认证、安全控制都在这一层控制实现。

该层组件提供单点登录、代理委托、同本地安全策略的整合和基于用户的信任策略等功能。

(3)资源层(Resource):共享单一资源。

该层建立在连接层的通信和认证协议之上,满足安全会话、资源初始化、资源运行状况监测、资源使用状况统计等需求,通过调用构造层函数来访问和控制局部资源。

(4)汇集层(Collective):协调各种资源。

该层将资源层提交的受控资源汇集在一起,供虚拟组织的应用程序共享和调用。

该层组件可以实现各种共享行为,包括目录服务、资源协同、资源监测诊断、数据复制、负荷控制、账户管理等功能。

(5)应用层(Application):为网格上用户的应用程序层。

应用层是在虚拟组织环境中存在的。

应用程序通过各层的应用程序编程接口(API)调用相应的服务,再通过服务调动网格上的资源来完成任务。

为便于网格应用程序的开发,需要构建支持网格计算的大型函数库。

五、网格的技术
网格技术就是在各个层次上,向上提供支持,向下提出相应要求的各种功能与手段,他不排斥已有的各种成熟技术手段,但是仅仅依靠现有的技术是无法完全满足网格计算的要求的。

1.Globus Toolkit
Globus Toolkit具有较为统一的国际标准,有利于整合现有资源,也易于维护和升级换代。

现在,一些重要的公司,包括IBM和微软等都公开宣布支持Globus Toolkit。

目前大多数网格项目都是采用基于GlobusToolkit所提供的协
议及服务建设的。

Globus对资源管理,安全、信息服务及数据管理等网格计算的关键理论进行研究并提供了基本的机制和接口。

该项目早已开发出了能在各种平台上运行的网格计算工具软件,支持网格计算和网格应用的一套服务和软件库。

帮助规划和组建大型的网格试验平台,开发适合大型网格系统运行的大型应用程序。

目前,Globus工具包机制已经被应用于全球数百个站点和几十个主要的网格计算项目:NASA网格(NASA IPG)、欧洲数据网格(Data Grid)和美国国家技术网格(NTG)等。

在网格这样的协同计算环境中,安全性是非常重要的问题。

我们必须在应用程序的开发过程中正确实现安全机制,并且在部署阶段进行精确地配置,这一点十分关键。

Globus系统结构
2.web service
Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。

Web Service可以执行从简单的请求到复杂商务处理的任何功能。

一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。

Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。

可将Web服务视作Web上的组件编程。

3.Globus Toolkit 3.0
Globus Toolkit 3.0(GT3)已将两者融合,它是开放网格服务基础设施的参考实现。

其中提供了基于开放网格服务架构(Open Grid Service Architecture, OGSA)和 Web 服务架构构建网格服务的基础平台。

这些服务可以实现资源共享、任务日程安排与组织,还可以访问网格上的各种分布式资源。

对于网格环境中的应用程序来说,安全性是极其重要的。

我们需要根据组织机构以及其他一些不同的策略,来控制对资源和数据的访问。

因此,网格服务和客户端需要相互进行认证,而且必须访问经过授权的服务。

OGSA 安全架构仍然处在开发阶段;所以,GT3 中的某些与安全性有关的 API 将来可能会发生变化。

本文的内容基于最新的稳定版本 Globus Toolkit 3.0 。

文中相当详细地介绍了网格服务与客户端的编写,并着重强调了安全机制。

所以,本文假定您了解网格服务的基本术语,如通知(notification)、服务数据(service data),等等。

我们鼓励您用 GT3 编写一个简单的网格服务。

GT3 中的程序员教程是很好的起点。

4.安全性
GT3 的安全机制与以前的版本一样,也是基于公钥基础设施(Public Key Infrastructure, PKI)。

PKI 系统是一种信任层次系统,参与其中的实体通过其持有的证书,以及事前建立的软件与过程,实现身份的标识和确认。

公钥的认证一般遵从 X.509 标准。

对于基于 Globu 的安全网格服务和客户端而言,这意味着所有参与的实体(包括服务和客户端)都要具备一个符合 X.509 格式的身份标识。

您可能已经有了由公司使用的 X.509 认证标识,或是 Globus Toolkit 以前版本中使用的 Globus 认证标识。

当我们设计一个能够使用网格的应用程序时,安全性问题必须考虑在内。

下面的列表总结了需要考虑的一些问题:
单点登录
跨系统的 ID 映射。

如上所述,GSI 提供了认证、授权以及安全的通信。

然而,您需要对安全性管理及其含义有深刻完整的理解。

比如说:您是否可以将多个用户映射到目标系统中的同一个用户 ID 上?是否需要特定的审计机制来确
定实际发起应用程序的是哪一个用户?应用程序不应该要求在使用网格上的不同资源时使用不同的用户 ID 映射机制。

多种平台
尽管 GSI 基于开放的标准化软件,可以在多种平台上运行,然而各种不同的平台其底层的安全机制并不总是一致。

比如说,在传统的 UNIX 或基于 Linux 的系统上,读、写、执行等操作的安全机制就与微软的 Windows 环境不同。

您应该考虑应用程序可能运行的平台。

使用GSI
对于任何应用程序特有的、且可能需要进行认证或特殊授权的功能而言,应用程序的设计应该使用 GSI,这样能够简化开发,并通过维护单一的登录机制,使用户的体验也得到简化。

数据加密
尽管 GSI 与后文将要讨论到的数据管理工具一起,提供了跨网络的安全通信与数据加密,但是您也应该考虑到,当数据到达目的地的时候会发生什么事情。

比如说,如果一些敏感的数据传递到某项资源上供任务使用,随后又以非加密的格式保存到本地磁盘上,那么其他的用户或应用程序也就能访问这些数据了。

5.资源管理
网格资源管理器致力于在任务提交时进行资源指派。

它的角色就像是异质网格资源的抽象接口。

资源管理组件提供的工具可以将任务分配给特定的资源,可以提供一种手段,在任务运行过程中获取任务状态信息,并获取任务完成的信息,还可以提供终止任务或对其进行管理的能力。

在 Globus 中,远程任务提交是由Globus Resource Allocation Manager(GRAM)负责处理的。

下面列出一些需要考虑的内容:
选择适当的资源
通过与代理联合工作,来保证选择适当的目标资源。

这就要求应用程序能够正确地指定所需的环境(操作系统、处理器、速度、内存,等等)。

您为排除特定的依赖关系付出的努力越多,找到可用资源完成任务的机率也就越高。

多子任务
如果应用程序中包含多个任务,您必须理解(并降低)它们之间的相互依赖关系。

否则,您就不得不构建一段逻辑来处理下面这些问题:
●进程间通信
●数据共享
●并行任务提交
●访问任务的执行结果
任务管理
GRAM 提供了查询任务状态的机制,还可以执行诸如终止任务之类的操作。

应用程序可能会在必要的时候使用这些功能为用户提供反馈、清除或释放资源的操作。

比如说,如果应用程序内有一项任务失败了,其他依赖于这项任务的结果的任务可能就需要终止,以免无端消耗过多资源。

6.信息服务
信息服务是网格基础设施中至关重要的组件。

它们维护了关于资源可用性、处理能力、当前使用情况的知识。

不论在哪个网格中,CPU 和数据资源的情况都是不断变动的,这种变动与其处理任务与共享数据的能力有关。

随着网格中的资源不断被释放,资源的状态可以在网格信息服务中得到更新。

客户机、代理、网格资源管理器等等综合这部分信息来进行资源的指派。

信息服务提供方是指那些为目录提供资源状态信息的程序。

下面列出一些如何收集信息的实例:
静态主机信息
操作系统名称、版本号、处理器提供商/类型/版本/速率/缓存大小、处理器数量、物理内存总量、虚存总量、设备、服务类型/协议/端口号等。

动态主机信息
负载水平、队列入口等。

存储系统信息
磁盘空间总量、可用磁盘容量等。

网络信息。

网络带宽、延迟、是否可测量与可预报。

高度动态的信息
空闲物理内存,空闲虚拟内存、空闲处理器数量等。

网络信息服务
网格信息服务,又称为监视与发现服务,在 Globus 中负责提供信息服务。

MDS 使用轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)作为访问资源信息的接口。

7.数据管理
当您在构建网格的时候,网格中最重要的资产就是您的数据。

在您的设计当中,您将必须确定您对数据的需求,以及如何在整个基础设施中移动数据,要么就是如何用一种安全有效的方式访问所需的数据。

您可以通过一组标准化的网格协议与您设计的任何数据资源进行通信。

您也可以选择构建一个联邦数据库,创建一个虚拟的数据存储。

还有其他一些选择,如存储区域网、网络文件系统,以及专用的存储服务器等。

Globus 为网格环境提供了GridFTP和GASS两种数据传输机制。

此外,它还提供了一种复制管理机制,可以帮助您管理和访问数据集的副本。

在应用程序中启用网格时的考虑:数据管理。

数据管理问题源自如何最大化地使用有限的存储空间、网络带宽、计算资源等。

下面列出一些在应用程序设计和实现中需要考虑的数据管理问题:
数据集的大小。

对于大的数据集来说,要想将它移动到实际运行任务的系统上是不现实,甚至是不可能的。

可能的解决方案是使用数据复制、或将完整数据集的一个子集拷贝到目标系统中。

地理上分散的用户、数据、计算以及存储资源。

如果您的目标网格在地理上是分散的,网络连接的速度也有限,那么您在设计的时候就必须考虑到如何进行慢速和受限的数据访问。

8.可靠性
可靠性是计算领域内永恒的话题,网格环境也不例外。

实现这一难题最好的方法是预见所有可能出现的失败情况,并提供解决这些情况的手段。

最可靠的方法能够“容纳异常情况的出现”。

网格计算的基础设施必须处理主机中断和网络。

相关文档
最新文档