




已阅读5页,还剩65页未读, 继续免费阅读
(计算机科学与技术专业论文)基于网格的mpi并行程序运行框架的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士研究生论文 基于网格的m p i 并行程序运行框架的设计与实现 摘要 网格系统将地理上分散、系统上异构和动态变化的各种资源,通 过互联网络连接起来,向用户提供可靠的、非集中管理的通用计算环 境,在网格内进行并行程序的开发和运行是网格技术研究的一个重要 方向。 本文研究了网格环境内的多种m p i 并行程序编程框架的优缺点, 根据通信和多媒体领域内的并行计算任务的特点,提出和设计了一个 新的基于网格的m p i 并行程序设计和运行框架g m p i 。实现了网格 中集群内节点和集群外节点间的有效通信;g m p i 加强了对并行任务 的监控;设计的二次调度方案,对某些特殊任务在运行时出现异常的 状况,能够节省大量计算时间;g m p i 库提供了c c + + 编程接口,使 得在高性能计算环境下用这两种语言开发的程序,不必经过改动,就 可以移植到网格环境下运行;最后,对g m p i 的一些应用实例验证 了这个新框架的有效性。 关键词:网格计算分布式并行计算消息传递接口g l o b u s 北京邮电大学硕士研究生论文 d e s i g na n di m p l e m e n t a t i o no f ag r i d b a s e dm p i f r a m e w o r k a b s t r a c t g r i ds y s t e mo f f e r su s e r sac o m p u t i n ge n v i r o n m e n tw h i c hi sr e l i a b l e a n do fn o n - c e n t r a l i z e dm a n a g e m e n t ,t h ee n v i r o n m e n ti sc o m p o s e do f g e o g r a p h i c a l l yd i s t r i b u t e da n dh e t e r o g e n e o u sr e s o u r c e sc o n n e c t e dw i t h i n t e r n e t p r o g r a m m i n ga n dr u n n i n gp a r a l l e lp r o g r a m si n 嘶di s a n i m p o r t a n ts t u d yf i e l do fg r i dc o m p u t i n g i nt h i sp a p e r , w ea n a l y s eav a r i e t yo fg r i d b a s e dm p ip a r a l l e l p r o g r a m m i n gf r a m e w o r k s a c c o r d i n gt ot h es p e c i a lf e a t u r e so fp a r a l l e l c o m p u t i n gt a s k si nc o m m u n i c a t i o n sa n dm u l t i m e d i a ,w ep r e s e n tan o v e l g r i d b a s e dm e s s a g ep a s s i n gi n t e r f a c ef r a m e w o r k , c a l l e da sg - m p i i nt h i s f r a m e w o r k , t w on o d e s ,w h e r eo n ei si n s i d ec l u s t e ra n da n o t h e ro n ei s o u t s i d eo fc l u s t e r , a r ea b l et oc o m m u n i c a t e e f f e c t i v e l yw i t he a c ho t h e r i t s u p p o r t st h em o n i t o r i n go np a r a l l e lt a s k so fg r i di ng n i g m p i p r o v i d e sr e - s c h e d u l i n gs c h e m et oh a n d l ee x c e p t i o n so c c u r r e dt os p e c i f i c t a s k s ,t h i ss c h e m ew i l ls a v el o t so ft i m ew h e na l la b n o r m a lt a s ka p p e a r s g - m p if r a m e w o r ks u p p o r t sp a r a l l e la p p l i c a t i o n sw r i t t e ni nco rc 抖 m i g r a t ef r o mh p cs y s t e mt o 面d w i t h o u tr e p r o g r a m m i n g s o m ep a r a l l e l a p p l i c a t i o n sb a s e do ng m p iv e r i f yt h eg - m p if r a m e w o r ki se f f e c t i v e k e yw o r d s :g r i dc o m p u t i n g ;d i s t r i b u t e dp a r a l l e lc o m p u t i n g ;m e s s a g e p a s s i n gi n t e r f a c e ( m p i ) ;g l o b u s 创新性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名缸返霉 日期傩o 。j 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学 校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本学 位论文不属于 本人签名 导师签名 日期:逊! ! 三! ! 三 日期:番迈0 牡 北京邮电大学硕士研究生论文 1 1 研究背景 第一章引言 随着集成电路工艺水平的不断进步,作为软件运行基础的计算机硬件发展迅 猛,集成电路上可容纳的晶体管数目,约每隔1 8 个月便会增加一倍,性能也提 升一倍,摩尔定律所描述的规律不断被验证。然而,从技术角度而言,集成电路 上的线路越密集,设计的复杂性和难度就越高,当线路直径达到纳米数量级时, 用于制造芯片的材料的物理性质也会发生质的变化,导致在现行工艺下设计的芯 片不能正常工作。因此,芯片上元件数量的增长不可能无限制,这就决定了,以 提高c p u 主频和总线带宽的方式来提升计算机性能也不会是无限的。传统的 冯诺依曼体系结构规定了计算机指令在单一的c p u 上,在固定的时间段内以 顺序方式执行。这种单一中央处理器的结构限制了程序的执行速度,使其对完成 复杂的、大规模的、高精度的计算无能为力。 但是,人类对计算机性能的要求是无止境的,在很多领域,例如军事、医疗、 能源勘探等都对计算机的计算性能提出了极高的、具有挑战性的要求。对高速的 的计算需求是推动大规模计算的重要动力,归纳起来,需求主要有三种:( 1 ) 计 算密集( c o m p u t e i n t e n s i v e ) 型应用,如复杂系统精确解算、基因研究和数值模拟 等;( 2 ) 数据密集( d a t a - i n t e n s i v e ) 型应用,如数据挖掘、多媒体处理等;( 3 ) 网络 密集( n e t w o r k i n t e n s i v e ) 型应用,如远程医疗、协同工作等【l 】。在这种背景下, 多c p u 的并行计算机系统得到了飞速的发展,为科学技术的发展提供了定量化 和精确化的计算手段。当今信息社会的迅猛发展,越来越多的领域都涉及到海量 数据的分析和处理,这使得高性能计算技术在科学计算、工程技术和航空航天和 金融等领域得到广泛的应用。 与此同时,网络技术的发展突飞猛进。利用网络,可以将众多的自主的单一 计算机连接起来,形成一组能互联互通、相互交换资源和提供服务的平台。集群 即是通过局域网连接一组计算机( 一般为同构的计算机) ,作为一个整体向用户提 供服务资源的计算机系统。例如,常用的高性能计算集群( h p cc l u s t e r ) 能够提供 单个计算机所不能提供的强大计算能力。集群的思想就是把大量现成的p c 直接 用高速网络连接在一起,协同完成计算任务,从整体上构成了一台超级计算机。 这种方式不像大型计算机需要专门研制集成电路板等复杂的元器件,这大大缩减 了制造的时间和成本。集群可以仅仅通过增加服务器的数量来满足增长的需求。 然而,集群的服务器数量的增加、以及由此导致的集群性能的提升是有限的,也 北京邮电大学硕士研究生论文 就是说如果想通过扩大规模来提高集群计算机的性能,那么在集群计算机数量到 达某一规模后,集群的整体处理速度会达到极限,这意味着不可能无限制地扩大 集群的规模。 为了以高性价比来满足不断增长的计算需求,网格技术应运而生。低成本、 高性能以及方便的计算资源共享等特点,使网格技术的应用领域越来越广泛。网 格计算( g r i dc o m p u t i n g ) 就是利用互联网把分散在不同地理位置的、无限数目的 自主计算机资源整合成一个虚拟的“超级计算机 ,可以提供更强的计算处理能 力。 网格本质上是动态的和异构的,这一点和传统的h p c 高性能计算环境有显 著差异。处于网格中的资源,包括计算资源、存储资源、数据资源、信息资源等 都不是长久存在于网格环境中。而且这些资源可能分属于不同的管理域,通过复 杂的网络结构连接起来。这就给在网格环境下的并行程序的编程和运行带来的困 难。如何在网格内进行高性能计算或者并行计算,已经成为计算机网格领域研究 的热点。 1 2 研究目的 北京邮电大学计算机科学与技术学院智能通信软件与多媒体实验室长期从 事网格计算方面的研究,积累了丰硕的科研成果。本人在硕士研究生就读期间有 幸参加了北京邮电大学智能通信软件与多媒体北京市重点实验室所承担的北京 市教委重点实验室共建项目( 项目编号s y s l 0 0 1 3 0 4 2 2 ) :“面向多媒体和通信领域 的网格服务平台及其典型应用”,承担了基于网格的m p i 并行程序设计与运行框 架g m p i 的研究与开发工作。 项目完成以后,本文作者继续针对项目开发中所存在的问题,深入研究基于 网格的m p i 系统,结合实验室在该领域的理论成果和技术开发成果,进一步改 进g m p i 框架,目的是使其功能更为完善,提供的m p i 库函数更为丰富。 本文针对h p c 中的一些并行程序编程、运行模型进行研究,以网格平台为 基础,在分析网格环境所具有的特殊性的基础上,吸收了一些现有的并行编程框 架的优点,对其局限之处进行了改进。进而根据多媒体和通信领域的复杂问题求 解的特点,提出了一种新的网格环境下的并行程序编程运行框架g m p i 。其有 效性和性能得到了试验的验证,并且在数据挖掘、网络优化等实际应用中取得了 良好的效果。 2 北京邮电大学硕士研究生论文 1 3 论文组织结构 论文的其余部分组织如下:第二章,介绍传统h p c 并行编程的相关概念和 技术、网格计算的产生背景和其特点;第三章,分析了现有的并行程序编程框架 的优缺点和局限性,针对现有的网格环境内m p i 并行程序编程、运行模型,提 出改善方法。对基于网格的m p i 框架研究开发涉及的重点问题,如并行任务的 调度、资源的描述方法、查询机制等做了分析讨论;第四章,给出了一个新的基 于网格的并行程序编程运行框架:g m p i 的整体结构,对其每个部分的具体实现 做了详细描述;第五章是应用举例和性能分析,通过网格并行任务的应用实例验 证g m p i 的有效性;第六章是结论和工作的进一步展望。 3 北京邮电大学硕士研究生论文 第二章并行计算和网格技术 2 1 并行计算的相关知识 并行计算也称高性能计算,它是计算机科学的一个重要的分支。并行计算的 可行性是建立在这样一个思想之上的:大的问题几乎总是可以分成一些较小的问 题,而这些较小的问题是可以利用现有的资源能力同时( 并行) 被解决的,这些小 问题的解决最终导致大问题的解决。 并行计算是相对于串行计算来说的,串行计算机的特征是用单个处理单元顺 序执行计算机指令。并行计算在串行计算的基础上演变而来,而所谓的并行分为 两种,时间上的并行和空间上的并行。时间上的并行指的是计算机中央处理器中 采用的流水线技术,将每一条指令分成多个步骤来完成,而这些步骤之间在时间 上可以交叠执行,因为其具体执行过程类似于工厂中的流水线,因此而得名;空 间上的并行是指用多个处理器并发的执行计算机指令,从而加快解决问题的速 度。并行计算科学主要研究空间并行计算问题。目前并行计算主要对两个方面开 展研究:( 1 ) 并行算法和开发相关的并行软件;( 2 ) 高性能计算机的开发。 在信息化的不断推进的今天,高性能计算已经和传统的两种科学,即理论科 学和实验科学,并列成为科学研究的三大支柱 1 】。 2 1 1 并行计算的形式 并行计算按照层次可以分为4 种: ( 1 ) 位级并行方式( b i t 1 e v e lp a r a l l e l i s m ) :在计算机硬件、处理器层次,通过 增加c p u 每次处理的数据长度来提高处理速度。例如,微处理器处理的 数据长度从最初的4 b i t 和8 b i t 增加到1 6 b i t 、3 2 b i t ,现在已经达到6 4 b i t , 也即每次存取的数据量加大,这样就大大增加了数据处理的吞吐量: ( 2 ) 指令级并行方式( i n s t r u c t i o n 1 e v e lp a r a l l e l i s m ) - 在c p u 指令级别,将多个 计算机指令同时执行,以加快执行速度。其并行程度由指令之间的并行 性所决定,在某些特定领域,例如在图像处理和科学计算程序内,这种 指令级别的并行性比较高。该多指令流并行包括指令流水线术( i n s t r u c t i o n p i p e l i n e ) 、超标量( s u p e r s c a l a r ) 、乱序执行技术( o u t - o f - o r d e re x e c u t i o n ) 、 寄存器重命名技术( r e g i s t e rr e n a m i n g ) 、预测执行技术( s p e c u l a t i v e e x e c u t i o n ) 和分支预测技术( b r a n c hp r e d i c t o r ) 等; ( 3 ) 数据并行( d a t ap a r a l l e l i s m ) :有别于任务并行,数据并行主要关注任务所 4 北京邮电大学硕士研究生论文 要处理的数据的分解而不是任务的分解;对于需要处理的大量数据,将 其分解成多个部分,分别交给多个处理器,由这些处理器对所分派的数 据进行同时处理; ( 4 ) 任务并行( t a s kp a r a l l e l i s m ) :任务并行的特征对不同性质的任务做并行化 处理。任务并行方式将具体任务切片分解,这些被分解多个子任务分别 被放置到多个处理器上同时执行,其并行度随着问题规模的变化,受影 响比较小。 任务级别 任务级 数据级 指令级 图2 一l 并行层次与代码粒度 2 1 2 并行计算机体系结构 代码粒度 中粒度 细粒度 f l y n n 根据指令流和数据流,将计算机体系结构分成四种基本类型,即单指 令流单数据流( s i s d ) 、多指令流多数据流( m i m d ) 、单指令流多数据 流( s i m d ) 和多指令流单数据流( m i s d ) 。 表2 - 1f l y r m 计算机体系结构分类图 单指令流 多指令流 单数据流 s i s dm i s d 多数据流 s u d m 耵订d 目前的并行计算机体系结构依然归属于此几种分类之中,一般而言,并行机 系统又可以分为六类: 5 北京邮电大学硕士研究生论文 ( 1 ) 单指令多数据流s i m d ; ( 2 ) 并行向量处理机p v p ( p a r a l l dv e c t o rp r o c e s s o r ) ; ( 3 ) 对称多处理机s m p ( s y m m e t r i cm u l t i p r o c e s s o r ) ; ( 4 ) 大规模并行处理机m p p ( m a s s i v e l yp a r a l l e lp r o c e s s o r ) ; ( 5 ) 工作站机群c o w ( c l u s t e ro f w o r k s t a t i o n s ) ; ( 6 ) 分布共享存储d s m ( d i s t r i b u t e ds h a r e dm e m o r y ) 多处理机。 其中,除s i m d 外,其余五种均属于多指令流多数据流( m i m d ) 计算机 2 】。 2 1 3 并行程序设计模型 程序员所设计的并行程序最终是要通过在并行机上的执行来实现,因此,并 行机硬件体系结构对并行设计模型和语言的产生和发展影响很大,不同的并行机 结构,导致了并行程序设计模型差别较大。 一般的,程序设计模型表现为一组一般性的规则和约定,确定了程序的书写 风格。并行程序设计模型主要有三种:共享存储模型、数据并行模型和消息传递 模型。 ( 1 ) 共享存储模型( s h a r e dv a r i a b l e ) : 位于不同处理器上的进程可以通过公共存储器来共享变量和相互交换信息。 它与数据并行模型的相似之处在于它有一个单一的全局名字空间,与消息传递的 相似之处在于它是多线程和异步的。 共享存储模型中,进程间的通信信息由共享的存储空间和变量来传递,那么 这些进程对存储器的访问就必须同步进行,以保证进程执行顺序的正确性。 共享存储模型的特点是具有单一地址空间,各进程或者线程通过共享变 量和存储器来进行通信;需要程序的编写者设计不同的语句,以实现程序的并 行执行;并行执行的进程或者线程之间需要显式的同步语句来保证各个进程或 线程的同步顺序【3 】。 到目前为止,共性存储模型还没有一个可以广泛接受的标准。 ( 2 ) 数据并行模型( d a t a - p a r a u d ) : 用一样的程序代码处理不一样的数据,不同的处理器从事的是相同的工作, 但是其处理对象不同。数据并行模型的目的是要在分布存储的机器上实现在全局 名空间进行并行程序设计,以屏蔽显式的数据通信问题。它是一种较高层次上的 模型,特点为:单线程,编程者将程序看作是单一进程的执行,和串行执行的 程序类似;同步较为松散,数据并行模型中程序的同步是语句级的,而不是指 令级的;全局名字空间,对于编程者而言,他面对的是一个统一的、全局的逻 辑地址空间,语句可以访问空间内的任何变量。 6 北京邮电大学硕士研究生论文 数据并行模型既可以在s i m d 计算机上实现,也可以在s p m d 计算机上实 现。s i m d 程序着重于开发指令级细粒度的并行性;s p m d 着重开发子程序级中 等粒度的并行性。 ( 3 ) 消息传递模型( m e s s a g ep a s s i n g ) : 在消息传递模型中,一个并行任务由一组并行进程组成。驻留在各个计算节 点上的进程在执行期间只能访问本地的私有数据,这些并行执行的各个进程或者 线程之间,通过传递消息来进行数据共享、交换信息和协调同步。传递的消息可 以是指令、数据、同步信号或者中断信号等。 在消息传递并行程序中,用户必须明确的为进程分配数据和负载,它比较适 合开发大粒度的并行性,这些程序是多线程的和异步的,要求显示同步( 如路障 b a r r i e r ) 等以确保正确的执行顺序。 消息传递机制的优点是,能够提供给并行程序的编写者更为灵活的表达手 段,使其可以对程序并行性的开发、程序的并行性、程序的通信和同步进行完全 控制。一些用数据并行无法描述的并行算法,用消息传递模型却很容易实现。 消息传递模式比数据并行模型灵活,消息传递不仅可以运行在共享变量的多 处理机上,而且可执行于分布式存储的多计算机上,这就大大增加了消息传递模 式的使用范围。 当前消息传递模式应用的非常广泛,在所有消息传递软件中,最重要、最流 行的是消息传递接口( m e s s a g ep a s s i n gi n t e r f a c e ,m p d 和p v m ( p a r a l l e lv i r t u a l m a c h i n e ) 。 表2 2 三种并行程序设计模式主要特征对照表 静 。强 魏特性。+ 共事存储模型 数据并行模型 消息传递模型,囊 控制流多进程单进程多进程 进程间操作异步松散同步异步 地址空间单地址空间单一地址多地址空间 数据分配隐式或半隐式隐式或半隐式显式 相互作用显式隐式显式 2 1 4 消息传递接口 m p i 是一个消息传递接口的标准,用于开发基于消息传递的并行程序,其目 的是为用户提供一个实际可用的、可移植的、高效的和灵活的消息传递接口。 m p i 这个名称包括三个方面的含义 4 】: ( 1 ) m p i 是一个库,而不是一种语言。许多人认为m p i 是一种并行设计语 7 北京邮电大学硕士研究生论文 言,这种看法并不准确。按照并行语言的分类,可以把f o r t r a n + m p i 、 c + m p i 看做是在原来的串行语言基础之上扩展而来的并行语言。m p i 库 可以和具体语言进行绑定,形成并行设计语言。从语法上说,c c + + 和 f o r t r a n 等语言对m p i 库的调用规则,与调用一般的函数过程没有区别; ( 2 ) m p i 是一种标准或者规范,而不特指某一个对它的具体实现。到目前为 止,所有的并行计算机都提供对m p i 的支持,用m p i 书写的并行程序可 以不加修改的在所有并行机上运行; ( 3 ) m p i 是一种消息传递编程模型,并且成为了这种编程模型的代表和事实 上的标准。 完成m p i 标准化工作的组成机构和人员主要来自美国和欧洲的4 0 多个组织, 大多数主要的并行计算机制造商、大学研究所、政府实验室、工业组织等都投入 到m p i 标准化工作之中。1 9 9 2 年4 月在弗吉尼亚召开了分布存储环境中消息传 递的工作会议,讨论了消息传递接口的一些重要的基本特征,组建了一个制定消 息传递接口标准的工作组。m p i 标准草案于1 9 9 2 年1 1 月推出,并且在1 9 9 3 年 2 月公布了修订版。1 9 9 4 年5 月,m p i 标准正式发布,这就是m p - i 5 。为促进 m p i 的发展,一个非官方组织m p i 论坛( i n t e m e tm e s s a g ep a s s i n gi n t e r f a c e f o r u m ) t 6 成立,该论坛对m p i 的发展起了重要的作用。1 9 9 5 年6 月推出的 m p l l 1 1 5 版本对原来的m p i 做出了进一步的修改、完善和扩充。1 9 9 7 年7 月, 在原来m p i 标准的基础上,进行进一步的扩充改进,又推出了m p i 2 1 5 ,而把 原来的m p i 版本称之为m p i 1 。m p i 2 主要对三个方面进行了扩充:并行i 0 、 远程存储访问和动态进程管理【7 】。 m p i 库作为可移植的消息传递函数库,具有以下一些特点: ( 1 ) m p i 提供缓冲区管理的函数,用户可以决定由系统对发送、接受缓冲区 的管理,还是用户参与其管理,以便控制系统缓冲区空间,提高系统的 安全性; ( 2 ) m p i 不但支持语言本身所提供的各种结构,而且允许用户构造自己的复 杂结构体和数据类型,使得进程间的通信更加便捷易用; ( 3 ) m p i 为任务间的通信提供多种方式,大量的通信接口能够满足科学与工 程算的需要; ( 4 ) m p i 提供可靠的数据传输机制,发送的消息能够保证被对方正确接受, 用户不必自行检查传输错误、传输超时等。也就是说m p i 的通信对用户 而言是透明的; ( 5 ) m p i 通过通信域保证通信的安全性,不同通信域内的并行任务之间的通 信不会相互干扰和混淆; 北京邮电大学硕士研究生论文 ( 6 ) m p i 具有高度的可重构性,允许多个用户同时使用并行处理设备。 由于m p i 是一个库而不是一种语言,因此m p i 必须和某个语言结合起来才 能使用,这称之为m p i 的语言绑定。在m p i 1 中提出了m p i 和c 语言和f o r t r a n 语言的绑定,并且给出了通用接口和针对f o r t r a n 7 7 与c 语言的专用接口说明。 目前对于m p i 的实现主要针对m p i - 1 标准,完全符合m p i 2 规范的实现还 没有出现。比较流行的m p i 实现有l a m 8 和m p i c h 9 】。 2 2 分布式计算技术简介 随着i n t e r n e t 的发展,如何在网络环境下进行分布式计算和运行得到了广泛 的研究并且取得了一些成果,这些成果包括w e b 技术、c o r b a 、w e bs e r v i c e 技术和工作流系统等【1 0 】。 下面对分布式计算中两种典型的技术做一简单介绍。 2 2 1c o r b a 技术 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e , 公共对象请求代理体 系结构) 技术的提出是互联网技术发展的结果。在企业级应用中,硬件系统集成 商基于性能、价格、服务等方面的考虑,通常在同一系统中集成来自不同厂商的 硬件设备、操作系统、数据库平台和网络协议等,由此带来的异构性给应用软件 的互操作性、兼容性以及平滑升级能力带来了严重问题。为了解决分布式计算环 境中不同硬件设备和软件系统的互联,增强网络间软件的互操作性,解决传统分 布式计算模式中的不足等问题,对象管理组织( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 提出了公共对象请求代理体系结构,以增强软件系统间的互操作能力,使构造灵 活的分布式应用系统成为可能。 c o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务和公共设施。 对象请求代理o r b 规定了分布对象的定义( 接口) 和语言映射,实现对象间的通 讯和互操作,是分布对象系统中的”软总线”;在o r b 之上定义了很多公共服务, 可以提供诸如并发服务、命名服务、事务( 交易) 服务、安全服务等各种各样的服 务;公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务 对象有效协作所需的协定规则。 图2 2 是c o r b a 模型,图中的对象请求代理是对象间相互请求的一条通信 总线,o r b 可以建立对象之间的客户服务关系。通过它,一个客户可以透明的 引用同一台机器上或网络上的一个服务对象的方法。应用进行请求时,无需关心 对方的物理位置在哪里。这意味着在客户代码中看起来象一次方法调用的过程实 9 北京邮电大学硕士研究生论文 际是非常复杂的一次操作。 应用接口 领域接口公共设施 工 榉帮嘞借铃”氇辨8 螋撒咒擎鞣嚣蝌。 。珊jj 舭“。? 似”即絮”四棼妒。 ,对象请求代理 。 i 洲协二。o k 锄,o 。:? ? 一j i i “略舭,。一叛秘! # 溉? 。 0 对象服务 ( 命名、璺猝期、事件、事物、对象i 寺久化、查 由”) 图2 - 2o m g 的c o r b a 模型 总的来说,c o r b a 的特点有以下几个方面: ( 1 ) 引入中间件作为事务代理,完成客户机( c l i e n t ) 向服务对象方( s e r v e r ) 提出 的业务请求: ( 2 ) 实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程 以及具体位置: ( 3 ) 提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符 合接口规范的定义,均能够集成到分布式系统中; ( 4 ) c o r b a 规范软件系统采用面向对象的软件实现方法开发应用系统,实 现对象内部细节的完整封装,保留对象方法的对外接口定义。 c o r b a 在企业级应用集成取得极大成功的同时,延伸到i n t e r n e t 有一定的 局限性。以c o r b a 构建的系统特点是具有比较紧密的耦合性,c o r b a 是面向 关系紧密的分布式系统的,这个系统中的客户端和服务器端彼此非常依赖。 2 2 2w e bs e r v i c e 技术 w 曲s e r v i c e 是一种面向服务的架构的技术,通过标准的w e b 协议提供服务, 目的是保证不同平台的应用服务可以互操作。根据w 3 c ( w o r l dw i d ew e b c o n s o r t i u m ,万维网联盟) 的定义,w e bs e r v i c e 是一个软件系统,用以支持网络 间不同机器的互动操作。w e bs e r v i c e 通常是许多应用程序接口所组成的,它们 透过网络,例如互联网的远程服务器端,执行客户所提交服务的请求。w 3 c 的 定义涵盖诸多异构的系统,一般是指主从式架构,c l i e n t 和s e v e r 之间通过x m l 格式的消息传递信息。 任何平台都有它的数据表示方法和类型系统。要实现互操作性,w e bs e r v i c e 平台也必须提供一套标准的类型系统( 一套协议) ,用于沟通不同平台、编程语言 1 0 北京邮电大学硕士研究生论文 和组件模型中的不同类型系统。目前这些协议包括: ( 1 ) s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) ,是用于交换 x m l 编码信息的轻量级协议,是一个基于x m l 的可扩展消息信封格式,需要 同时绑定一个传输用协议。这个协议通常是h t t p 或h t t p s ,但也可能是s m t p 或x m p p 。 ( 2 ) w s d l ( w e b s e r v i c ed e f i n i t i o nl a n g u a g e ) 是为描述w e b 服务发布的x m l 格式,用以描述w e bs e r v i c e 端口访问方式和使用协议的细节,也即描述与w e b 服务进行交互时需要绑定的协议和信息格式。u d d i 通常采用抽象语言描述w 曲 s e r v i c e 支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给 该服务。 ( 3 ) u d d i ( u n i v e r s a ld e s c r i p t i o n , d i s c o v e r ya n di n t e g r a t i o n ,统一描述、发现和 集成) ,是一个用来发布和搜索w e b 服务的协议,是基于x m l 的跨平台的描述 规范。w e bs e r v i c e 应用程序可以借由改协议在设计或运行时找到目标w e b 服务。 图2 - 3w 曲s e r v i c e 架构图 图2 3 描述了w e bs e r v i c e 的架构,三个基本组件执行以下基本操作: ( 1 ) 服务提供者通过在服务代理者那里注册来配置和发布服务; ( 2 ) 服务请求者通过查找服务代理者那里的发布服务登记记录来找到服务; ( 3 ) 服务请求者绑定服务提供者并使用可用的服务。 总的来说,w e bs e r v i c e s 是一种在i n t e m e t 上动态共享应用数据和功能的手 段,为构建高效、灵活的新型软件应用提供方法。w e bs e r v i c e 是建立可互操作 的分布式应用程序的一项新技术。它制定了一套标准,定义了应用程序如何在 w e b 上实现互操作性。w e bs e r v i c e 的优势在于可以用任何语言开发w e bs e r v i c e , 可以在任何平台上写w e bs e r v i c e ,只要用户可以通过w 曲s e r v i c e 标准对这些服 务进行查询和访问。任何平台都有它的数据表示方法和类型系统,要实现互操作 性,w e bs e r v i c e 平台提供了一套标准的类型系统,用于沟通不同平台、编程语 北京邮电大学硕士研究生论文 言和组件模型中的不同类型系统 1 1 1 。w e bs e r v i c e 平台提供了一种标准来描述 w e bs e r v i c e ,让客户可以得到足够的信息来调用这个w e bs e r v i c e 。而且,通过 x m l 、s o a p 等项技术可以完成对w e bs e r v i c e 进行远程调用。 w e bs e r v i c e 技术也存在着一些缺点:例如,效率不高,由于x m l 的数据没 有已经编译的二进制代码效率高,通用性得到提高的同时降低了效率;用途还不 是很广泛,目前的w e bs e r v i c e 技术只支持很基本的服务种类,使得其用途狭窄。 2 2 3 下一代分布式计算技术 上面我们分析了在网络时代具有代表性的分布式计算技术。尽管上述几种技 术的应用可以降低开发并行应用程序的难度和复杂度,但是,他们一般面向高层 应用而且存在一些缺点,例如局限于某个开发和运行环境使得可移植性低、只能 面向特定的应用场合、比较高的系统依赖性和配置相对较为复杂等。 越来越多的计算需要在更广的范围内进行分布式处理,因此要求对分布在众 多地点的不同计算资源进行动态整合,节点之间的互操作不可避免,这就需要有 一系列的标准协议和标准中间件去规范用户与资源之间的协同、建立、管理和挖 掘共享关系。网格就是解决这些要求的新兴技术。网格的兴起将改变传统的分布 式处理结构,形成新的p e r v a s i v e g r i d ( 普适计算网格计算) 体系结构。在这种结 构中,客户端是各种各样的上网设备,而连在网上的各种服务器将组成单一的逻 辑上的网格。 2 3 网格计算 计算机网格的名称来源于电力行业,是从电力网格借鉴过来的一个概念,本 意是希望计算机网格的计算力和计算资源能够象电力一样,打开电源开关就可以 使用,而不用去关心是谁、在何地、以何种方式提供的这些服务。 网格概念包括如下一些含义: ( 1 ) 网格由多个自主的计算机组成,这些计算机资源分布在一个较为广大的 范围之内,而不是聚集在一个狭小的管理域中; ( 2 ) 网格提供在线计算和存储能力; ( 3 ) 通过利用网格中闲置的计算资源,可以创造出一个虚拟的强大的计算平 台,这个高性能的计算机为处理大规模的生物、数学、化学等领域内的 计算问题提供了可能性; 也就是说,网格将相互连接的计算机组织起来,它将整个连接在网络中的各 类资源和服务整合在一起,成为一个能力巨大的虚拟计算机。对于用户而言,网 1 2 北京邮电大学硕士研究生论文 格给其提供包括各种服务、资源在内的基础设施,用户面对的是一个远远超过任 何一个单个超级计算机容量的资源,不但可以利用其强大的计算能力解决难题, 而且可以使用在网格内的任何一个节点所提供的服务,无论该节点的物理位置在 何处。 网格迄今为止没有各一个标准的定义,对网格的不同理解导致了多种阐释同 时存在。有些定义把网格当做是超级计算机的延伸;也有的定义认为网格是一种 普遍计算的观点;在i b m 的理念中,网格就是一种分布式或者并行系统,把 i n t e m e t 当做一个计算平台,提供强大的计算资源,同时兼有整合、共享分布于 不同自治域内的资源的功能 1 2 1 ;网格以i n t e r n e :t 为依托,提供、共享强大的计 算能力和数据存储能力等等 1 3 】。 这其中,网格最著名的、最被人广泛接受的定义是i a nf o s t e r 给出的:网格 就是在动态变化的多个虚拟机构之间共享资源和协同解决问题,并且需要同时满 足三个条件 1 4 】: ( 1 ) 在非集中控制的环境中协同使用资源; ( 2 ) 使用标准的、开放的和通用的协议接口; ( 3 ) 提供非平凡( n o n t r i v i a l ) 的服务。 从上个世纪9 0 年代网格的雏形出现开始至今,网格的研究和发展逐步推进, 发生了较大的变化,人们对网格的认识也逐渐深入和清晰,因此,网格这个名词 在不同时期其内涵是不一样的。 网格的雏形用于连接超级计算机,那时的网格计算被称为元计算。9 0 年代 出现了较早的元计算机或者称网格环境,f a f n e r 1 5 】( f a c t o r i n gv i a n e t w o r k - e n a b l e dr e e u r s i o n ) 和i - w a y 1 6 ( i n f o r m a t i o nw i d ea r e ay e a r ) 是两个具有 标志性的项目。这两个项目都企图通过继承计算资源来产生元计算机环境。 f a f n e r 可以工作在任何平台上,其客户端可以是小的p c 机,但是i - w a y 都必 须是超级计算中心。f a f n e r 本身并行量很少,不需要依赖快速的互联。相反, i - w a y 需要快速的互联和强大的资源。两个项目都缺少可扩展性。这两个项目追 求的都是计算资源的共享,都具有很强的创新性,同时为网格技进一步发展开辟 了一条新的道路。 在科学研究的很多领域,例如对天文观测、气象预报、流体力学与环境科学 等重大挑战性问题的研究,也会产生大量的数据;各种模拟试验,例如核爆炸模 拟、药物仿真实验等,也需要使用大量的计算资源来解决难题。因此,在现代科 学发展过程中,高性能计算已经成为科学研究不可缺少的手段和方法。在这种形 势下,开发更高性能的计算机并不能完全满足要求,而且其开发成本越来越高, 代价越来越大。尽可能利用现有计算资源进行大规模计算的要求十分迫切。在网 1 3 北京邮电大学硕士研究生论文 格发展的这一阶段,应用户需求出现了很多网格系统解决方案,一些代表性的网 格平台或者网格中间件被开发出来,比较典型的如g l o b u s 、a v a k i 1 7 等。和早 期的网格环境相比,这个阶段的系统更具开放性。 随着网格研究不断受到重视和发展,世界范围内网格项目不断出现。就像 i n t e r n e t 需要依赖t c p i p 协议一样,网格也需要对协议和服务进行标准化工作的 制定。网格领域内的研究人员感到,未来对网格的研究工作应该在统一的标准指 导下进行,网格技术才能有更好的发展。网格作为一个跨越多个领域的研究项目 开始兴起,网格的标准也开始制定。 目前,影响比较大的网格平台有g l o b u s 1 8 ,g 1 - i d b u s 1 9 、u n i c o r e 2 0 、 l e g i o n 2 1 等,这些平台从某种程度上代表着网格研究的成果。 ( 1 ) l e g i o n 是由美国v i r g i n i a 大学研制开发的,是一种基于对象的元计算系 统。l e g i o n 系统由连接在高速网络上的几百万台主机和几十亿个对象组成,它位 于操作系统之上,连接主机资源和用户可共享资源。l e g i o n 采用基于认证的用户 安全服务,强调工作站簇上的并性分布式任务的高效运行。 ( 2 ) g r i d b u s 是由墨尔本大学的网格式计算和分布式计算实验室g r i d c o m p u t i n ga n dd i s t r i b u t e ds y s t e m s 积极参与设计和开发下一代并列式和分布式 计算系统和程序。其目的是开发能够确保根据用户需要而更改服务质量的终端到 终端捆绑式和网格技术( 中介软件,工具和程序) 它们包括网格流程控制器、捆绑 式流程控制器( l i b r a ) 、网格体现和模拟( g r i d s i m ) 、数据网格经济、g r i d b a n k 、流 程管理的和用户界面工具和从( i h 的) 软件模块得来的分布式软件的组合。 ( 3 ) u n i c o r e 是u n i f o r mi n t e r f a c et oc o m p u t i n gr e s o u r c e s ( 计算资源的统一 接口) 的简称。项目自2 0 0 0 年1 月1 号开始正式开发,2 0 0 2 年1 2 月3 l 号第一个 版本正式发布。u n i c o r e 创造了对分布式计算资源的无缝、安全和简单易行的 访问方式。它是个纵向集成网格计算环境,支持多系统和多点作业、能够简单方 便地作业的创建和控制、可以访问远程文件存储和档案等。u n i c o r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民警执法面试题库及答案
- 2025年社会医学公共卫生政策解读考核试卷答案及解析
- 2022年10月呼伦贝尔农垦谢尔塔拉、特泥河、哈达图、浩特陶海农牧场公开招聘172人笔试参考题库及一套完整答案详解
- 教师招聘之《小学教师招聘》强化训练高能附参考答案详解ab卷
- 2025年江苏省农垦集团有限公司人员招聘笔试备考及参考答案详解1套
- 2025年教师招聘之《小学教师招聘》练习试题带答案详解(b卷)
- 2025内蒙古呼伦贝尔农垦集团有限公司招聘笔试附答案详解(完整版)
- 教师招聘之《幼儿教师招聘》考前冲刺模拟题库提供答案解析含答案详解(完整版)
- 2025年教师招聘之《小学教师招聘》考前冲刺练习题库【各地真题】附答案详解
- 教师招聘之《小学教师招聘》考前自测高频考点模拟试题及答案详解(名校卷)
- 1.3加与减①(课件)数学沪教版二年级上册(新教材)
- 2025至2030中国HPV相关疾病行业项目调研及市场前景预测评估报告
- 2025版全新离婚协议书:财产分割、子女抚养及离婚后财产保全合同范本
- 石油钻井知识课件
- 永辉超市快消培训
- “学回信精神·助改革发展”专题调研报告
- 2025年医学基础知识题库及答案
- (2025秋新版)苏教版三年级数学上册全册教案
- 2025至2030中国催收外包服务行业销售模式及未来营销策略分析报告
- 职业院校实习生考核评价标准
- 水果保鲜的秘密课件
评论
0/150
提交评论