(计算机系统结构专业论文)基于移动代理的分布计算原型.pdf_第1页
(计算机系统结构专业论文)基于移动代理的分布计算原型.pdf_第2页
(计算机系统结构专业论文)基于移动代理的分布计算原型.pdf_第3页
(计算机系统结构专业论文)基于移动代理的分布计算原型.pdf_第4页
(计算机系统结构专业论文)基于移动代理的分布计算原型.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

j f l j 交通人学坝i 学位论义 捅婪 摘要 l 以工作站簇( c o w ) 和网络工作站群( n o w ) 为代表的网络计算环境是当 m ,陌计算和分布式系统的研究重点之一,使用它们可以避免超级计算机昂贵 的价格和使用的不便同时也可以获得较高的计算性能。在当前应用于高性能计 弹的辛流分和计算环境中应用得最广泛的是m p i 和p v m 。但两者并不支持诸 如系统容错、计算任务迁移和均循负载等功能,而王兕实却要求分柿计算环境考 j g 系统负载、资源配置发,l 变化或软硬件设备发生故障等意外情况,因此本次 # 业改汁的目标足设计一个基于移动代理的分御计算原型一- - d e c b m a ,它可 以利川代i 小的迁移来均衡系统负载,州寸采用检查点技术实现系统容错和代理 的迁移。r 夺义酋先简单介绍了移动代理系统和检查点技术的基本概念,然后对 d e c b m a 的没计思想和实现技术进行详尽的描述和分析。系统使用一种新的( 相 埘于被广泛使用的) 全局一致性状态的定义,并根据这利新的定义设计了一个 川于移动代理的同步检杏点建立算法,该算法可以有效地避免多米诺现象和活 锁现琢的发生;同时利用s u ns o l a r i s 操作系统的线程机制实现代理运行环境, 并完仝使用系统调用来获得代理的运行状态和主机的整体状况。其次对检查点 建立的丌销和同步算法的通讯时间和通讯中数据包的大小进行了测试并取得了 数据包尺寸的最优数值。最后对系统进行总结性讨论并对今后工作提出若干意 地i 。 关键字移动代理,检查点,全局一致性,线程 海交j 匝人学坝,1 学位论文 a b s t r a c t a b s t r a c t n e t w o r kc o m p u t i n ge n v i r o n m e n te x e m p l i f i e db yc l u s t e l o fw o r k s t a t i o n sa n d n e t w o r ko fw o r k s t a t i o n si so n eo ft h em o s ti m p o r t a n tf i e l d s i nc u r r e n tr e s e a r c ho f p a r a l l e l c o m p u t i n ga n d d i s t r i b u t e d s y s t e m s i th a s b e e nm o r ea n dm o r ew i d e l y r e s e a r c h e da n du s e db e c a u s eo fi t sn u m e r o u sa d v a n t a g e ss u c ha s c h e a p n e s sa n d f a z i l i t y n o w a d a y st h ep v m a n dm p ib e c o m em a i n s t r e a mo fd i s t r i b u t e dc o m p u t i n g e n v i r o n m e n t s ,b u tt h e yd on o ts u p p o r tm e c h a n i s m sl i k e f a u l tt o l e r a n c e ,c o m p u t i n g l a s km i g r a t i o na n dl o a db a l a n c i n g h o w e v e rs o m ef a c t sh a v ed e m o n s t r a t e dt h a th i g h q u a l i t ys y s t e ms o f t w a r em u s tc o n s i d e rm a n y s i t u a t i o n si n c l u d i n gc h a n g e so f s y s t e m l o a d ,r e s o u r c ec o n f i g u r a t i o na n df a i l u r eo fs o f t w a r ea n dh a r d w a r e t h em a i ng o a lo f t h i st h e s i si st od e s i g nan e wd i s t r i b u t e dc o m p u t i n gp r o t o t y p e d c e b m aw h i c hi s b a s e do nm o b i l ea g e n t i tu s e sa g e n tm i g r a t i o nt ob a l a n c es y s t e ml o a da n dm a k e su s e o fc h e c k p o i n t i n g t e c h n i q u et or e a l i z ea g e n tm i g r a t i o n a n df a u l tt o l e r a n c e i nt h i st h e s i s ,w ef i r s t b r i e f l y i n t r o d u c et h ec o n c e p t so fm o b i l ea g e n ta n d c h e c k p o i m i n gt e c l m i q u e ,t h e nd e t a i lr e p r e s e n t a t i o na n da n a l y s i s o ft i md e s i g na n d i m p l e m e n t a t i o no fd c e b m a a r ed e s c r i b e d a f t e rt h a tw ei n t r o d u c ean e wd e f i n i t i o n o fg l o b a lc o n s i s t e n c e ( r e l a t i v et ot h ew e l l - k n o w no n e ) a n da c c o r d i n gt ot h en e w c o n c e p tw ep r o v i d eas y n c h r o n o u sa l g o r i t h mb a s e do nc h e c k p o i n t i n gt e c h n i q u et o b e a p p l i e df o rm o b i l ea g e n t ,i nw h i c hd o m i n oe f f e c t a n dl i v e l o c kc a nb ee f f i c i e n t l y a v o i d e d w ea d o p tt h et h r e a du t i l i z a t i o no fs n ns o l a r i so st oi m p l e m e n tt h ea g e n t e n v i r o n m e n ta n da l s ou s es y s t e mc a l l st og e tt h ep a r t i c u l a ri n f o r m a t i o no f a g e n ta n d t h en o d ew h i c hb e l o n g st od c e b m a i no r d e rt oe v a l u a t et h eo v e r h e a do ft h e s y n c h r o n o u sa l g o r i t h ma n dg e tt h eo p t i m u ms i z eo fm e s s a g e ,w cd i ds o m et e s t sa b o u t t h ea l g o r i t h ma n dm e s s a g ep a s s i n g a tl a s t ,w eg i v eac o n c l u d i n gd i s c u s s i o no fo u r s y s t e ma n da d d r e s ss o m ef u t u r ew o r k k e yw o r d sm o b i l e a g e n t ,c h e c k p o i n t i n g ,g l o b a lc o n s i s t e n c e ,t h r e a d ! :塑窒些墨堂塑! :堂丝丝苎 薹= 兰熊堡 第一章绪论 1 1高性能计算的需求、现状和解决方案 1 1 | j ;,商性能计算技术土要有两个发展方向:任深度上致力- r 研制贝有快速运算能力的高性能 汁算机:在广度上注重于开发具有广泛庇_ 日= i 前景的高性能服务器。高性能计算的研究水平已经成为 撕蛙个幽家商颛科技水平和综合实力的巫要标。基。利川高性能计算技术可以对所研究的对象进行 表i - i 速度最快的j o 台超级计算 j l i ( 截止到n o v 3 “2 0 0 0 ) r a l l km a o u f a c o m p u l e r r m a xj n s t a l l a t i o ns i t e、,e a ra c ao f# p f o c r p e a k c t u r e r ( g f l o i n s t a i i a t i o n f g f l o p s ) p s ) 1i b ma s c i4 9 3 8l a w r e n c el i v e r 2 0 0 0r e s e a r c h8 1 9 21 2 2 8 8 w h i r e ,s p m o r en a t i o n a ll a b e n e r g y p o w e r 3 o r a t o r yl i v e r m o r e 3 7 5 m h z 2l h i e la s c lr e d2 3 7 9s a n d i an a t i o n a i1 9 9 9 r e s 龋r c h9 6 3 23 2 0 7 l a b sa l b u q u e r q u e 3i b ma s c i2 1 4 4l a w r e n c e1 9 9 9 r e s e a l c h5 8 0 83 8 6 8 b l u e l i v e r m o r en a t i o n a i e n e l g y p a c i t i c l a b o r a t o r y s s 下l b ml i v e r m o r e s p6 0 4 e 4s g ia s c i1 6 0 8l o sa l a m o sn a -j 9 9 8r e s e a t c h 6 1 4 43 0 7 2 b l a et i o n a l l a b o r a t o r y m o u n t a i nl o sa l a m e s 5l b m s p1 4 1 7n a v a lo c e a n o -2 0 0 0r e s e a r c h 。1 3 3 62 0 0 4 p o w e r 3 g r a p h i c o f f i c e a e r o s p a c e 3 7 5 m h z ( n a v o c e a n o ) b a ys a i n tl o u i s 6i b m s p1 1 7 9n a t i o n a ic e n t e r s2 0 0 0r e s e a r c i l 1 1 0 41 6 5 6 p o w e r 3f o r e n v i r o n m e n t a iw 色a t h e r 3 7 5 m h zp r e d i c t i o n c a m p s p r i n g 7h i t a c h is r 8 0 0 0 1 0 3 5 l e i b n i zr e c h e n 2 0 0 0a c a d e m i c1 1 21 3 ) 1 4 f 1 1 1 2z e n t r u l nm t l e n c h e n 8i b ms p9 2 9 u c s d s a n d i e g o 2 0 0 0r e s c 8 1 c h1 1 5 21 7 2 8 p o w e r 3 s u p e r c o m p u t e r 3 7 5m h zc e n t e rs a n d i e g o 8w a y 9 h i t a c h js r 8 0 0 0 9 1 7 h i g he n e r g y a c -2 0 0 0r e s e a r c h1 0 0 1 2 0 0 f l ,1 0 0c e l e r a t o rr e s e a r c h o r g a n i z a t i o n k e k t s u k u b a | m c r a y t 3 e 1 2 0 08 9 2g o v e r n l l e n l 1 9 9 8c l a s s i f l e d1 0 8 41 3 0 0 8 l n c 数值模拟羽l 动态显示,从而获得实验很难甚至无法得剑的结果冈此其设j “泛麻用于航天航空、气 海交通人学顾i 学位论文 第一章绪论 琢7c 畎、信息安全、生命科学、f i 油物探、材料i :程甚至模拟宁市演化过程等领域中。高性能计算 技术的发腱使得计算科学成为人类认识手i | 改造1 1 1 :外的新的力法平途径。它推动了当代科学平高新技 术的发展,行将逐渐影响人们的生活方式。90 年代,美国等发达国家住高性能计算机和通信上取 = r屿亟要的成果。1996 年12 月诞生了世界上第一台浮点运算速度峰值超过每秒。万亿次 ( 1 0 ”s ) 的a s c ir e d 高性能计算机。 现在1 = 界上理论速度峰值超过1 0 ”s 的计算机已达18 台( 截i r 剑n o v 3 “2 0 0 0 ) ,见表l - l 。 预计剑20 0 3 年左右,高性能计算机的速度将达到每秒一千万亿次( 1 0 ”s ) ,而民用研究团体 所 5 i ! j 4 的高性能计算机也可达几十万亿次的浮点运算速度 2 】。但高性能超级计算机高昂的价格和对 j 、境的- 1 | ! f 划业求上u 址? 通川,1 所不能,j 5 :担的:i j = 纪八l 年代以米低性能计算机的广泛使用提示 人f f l f i j 以将众多的低性能( 低价位) 计算机通过高速网络相互连接而坌r 成的分布系统。也有可能完 成只仃大型机才能完成的计算任务。因此随着网络技术的快速发展分布计算逐渐成为当今计算机 j 点术的关键研究领域。分布计算的主要目标在于实现跨平台资源的透明互操作机制和协同计算在 + i i 衄_ h jj + 高性能计算的主流分布计算环境中戍川得最r 泛的当届m p i ( m e s s a g ep a s s i n gi n t e r f a c e ) 厢ip v m ( p a r a l l e lv i r t u a lm a c h i n e ) 。 住m p i 和p v m 中计算任务被看做是一组并行进程的集合,这些集合间的通信通过消息传递 米完成。尽管上述两种分布计算环境的性能尚令人满意,但它们的缺陷也是非常明显的,主要有以 f 棚点: 1 容错性不强;对系统错误如节点机( n o d e ) 失效、节点机之间的通信中断。太敏感这 类错误往往会导致计算任务的失败。 2 住每次任务开始前必须将所要派发的进牲置下要运行这些进枞的垤点机上,即在计算开始 f j 订要掌握所需资源的状态。同时它们还缺少灵活有效的进张调度手段,一臣任务繁多很有 可能造成系统负载不平衡从而导致性能卜降。 而叹上两点( 容错平衡负载) 却正是基下移动代理( m o b i l e a g e n t ) 的分布系统的优势之一。 1 2 移动代理简介 代理( a g e n t ) 的研究起源于人t 智能领域,但目前在分布式系统、软件:l :程及通信等领域同样 彳( j ;0r 厂泛的麻用弗被赋予不同的涵义。如s e l k e r 将代理定义为 3 】:“代理是模拟人类行为和关 系提供人类智能服务的释序”:g e n e s e r e t h 给的定义是:“能够通过代理通信语言进行信息交换 的软什部什”;而在分布式系统中代理被认为是“解决在异构环境中软什外面、数据结构及协议不 兼容性的途径”。在网络环境中当代理的目标l :本地雅以满足,人们很秤易想到能否让代理移动 k 剑其他性点上继续执行? 于是产生了移动代理( m o b i l ea g e n t ) 的概念。移动代理本质上是代理技 术j 分和弹技术的“溉山儿”,它的挺山,= f i 仪为分布汁算增添了钨t 能性、动态性等新的内容。 也使代理贝有了人规模问题求解的能力 4 】。 综上所述移动代理可以定义为:一个独立地( s e l f - c o n t a i n e d ) ,可被识别地( i d e n t i f i a b l e ) 程 序,它可以在网络上移动井执行确定的功能,它能够在执行的任意点上挂起。并被传送到另一台主 机1 。,然后接着该执行点继续往r 返, 1 7 5 1 1 6 】。 坫j :移动代理的分_ f i i 系统的土要k 处枉九 l 在基r 代理的系统中进科( 代理) 迁移m 常简单,这很有利 。i ,衡负载羊动态地利用资源 2 扩展了1 ,点机的功能。由丁移动代理可随时迁移而新到米的代理义携带了必要的代码 2 山:c j j ! ) 人学f i ! ; 卜7 - 他论史第一章纠l 论 阅此1 ,点机就多了新的功能。 3 在某些戍_ l j 中基丁:移动代理的系统比基丁消息传递的系统更具优势。在一些需要大量通信 的计算之间,基丁消息传递的系统通过消息传递实现通信,而基于移动代理的系统可将这 些代理移动剑同一个节点机从而火火减少了通信开销【7 】。 d w - 错性。一口系统发生故障,代理可以从故障机上移动到止常j j 【上继续运行。 丛j 。移动代理的分布系统详见第一= 章。 1 3 没计简介 l 述内窬可知丛丁移动代理的分布系统可以在容借性平负载平衡t 弥补基1 :消息传递的分布 系统的不足,但现有的基下移动代理的分布系统人多是以事务处理为主要任务,井使用解释性编程 m 所以系统运行的述度平效率不能满足人规模利学计算的要求。冈此本次毕业设计构建一个基 1 移动代理的分布计算原型一一d c e b m a ( d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n tb a s e do nm o b i l e a g e n t ) 该汁钟:原j 科寸i 要针对计算犟较人而通信和i o 操作较少的科学计算,使用结构简单、执 “效率旆的c 语言加以实现。 小系统的土蜚特点是通过代理的移动米实现的冈此如何移动代驯烛天键所在。我采用检查点 ( c h e c k p o i n t ) 技术;通过保存符合全周一致性( g l o b a lc o n s i s t e n c e ) 的相关代理的运行信息将这 些信息复制到月一台l :作站使代理继续运行从而实现代理的移动,同时也可实现系统的容错。检查 ,_ j 术详址第j 章。 。 夺系统的实现环境由四台s u ns p a r c l li :作立i l i 所组成运行s u ns o l a r i s 2 5 1 操作系统通过l o o m b 的以太网互相连接。 1 4 本文结构 本文第i 章介纠移动代理系统的基本结构和一些t 璎的基丁移动代理的分布系统:阐述检查点 技术包括单进删检脊点揲作、同步和异步检伶点f 门概念以及检夼点擞作| q 透明性。 第二章分析系统的设计思想,然后构造系统的数学模础接着叙述检卉点建立算法和代理调度 策略,l j _ 描述系统提供的原语。 笫p q 章洋鲆u 说明系统的实现包括:代理运行f 占息的获得、保存、恢业,代理运 r 环境的实现平 干府的消息处理过槲以及原语的实现。 第百章对检斋点算法开销和消息包的最优尺、r 进行测试。 第八章同颇系统在设计和实现等方面的问题,与其他相关i :作的比较羽i 对米米i :作的展望。 3 ! :塑竺翌叁堂型! ! :兰焦笙兰 塑兰童壁垫垡堡皇丝壅盛 2 1 移动代理系统 , , , 第二章移动代理与检查点 | f i f i g 2 。lm o b i l ea g e n ts y s t e m | ! e i2 - l 移动代理系统 如幽2 1 所示,移动代理系统由代理和运行在主机系统上的代理运i i 环境组成,代理运行环境 i j 咀刨址、执i r 、f 送和终i l :移动代i 。+ 个士机系统上可以运行多个小同的代理运行环境,每个 返行环境上义可运行多个移动代理。一个移动代理可以在运行过程中挂起,然后迁移到另一主机系 统i :仆接精恢点继续逛行:每个移动代理都可以羽i 它的运行环境进行交正:代理之间通过通信来交 换信息或进行剐步( | 鳘| 中虚线所示) 。 移动代理执f i - j 刳户( 即代理所有者) 所需要的功能,而代理运行环境则为移动代理提供了丰富 的功能支持利扩展基础。一般代理运行环境提供以下功能:代理语言解释( 若代理用解释性语言编 。jj 、代埋的管理删控制、代理的命名和定位、全局目录协议的实现( 迎常独立于机器) 、代理的迁 移= 手| | 代理问的协调、代理的调度、代理的安全管理、代理的容错等。 21 1 移动代理的移动性 移动代理的迁移是它最具特色羽i 活力的地方。移动代理的许多优辨米臼- 丁它能在程序运行的任 4 z n 变通人学坝i j 学位论史 镛二章移动代理与榆查点 意点 :拌起升迁移到其他主机上继续执行的能力。由于实现系统的稗序语言的限制等原因代理移 z 力r l 吖内实现有很人的茅别,主要存在强移动性和 ;5 j 移动性的差别【8 。 拙移动性方式实现的代理运行环境允许将代理的代码、数据和运行状态一起迁移到目标主机, 代州运行环境需要保存移动代理运行所需的全部数据和状态并在目标主机上恢复代理的运行。由于 庄这种迁移模式中,应用程序员无须介入代理的迁移,全部代理状态的获得、传送和恢复都由代理 运行环境完成,因此该迁移模式非常方便于应_ i - | 系统的开发。但是从另一方面米说,代理运行环境 所承担的任务! i ! 1 3 显得非常沉重,它不仅需要获得、传送和恢复代理的全部信息和状态,还要实现对 ,亡构1 :机系统的兼容,所以目前只有a g e n t t c l 等少数儿个系统实现了这种迁移模式。 刺侈z 山性j 自代刖m :迁移州只传送它的张序代码幂l 数据信息而不传送相关的状态信息,程序员需 选扦近4 的纠成代耻状态的变量等信息进行迁移以保i 止能部分恢复代理旧运行。这种模式适合于由 不捉d 裎p 及操作系统底层功能( 如获得内存信息羽l 程序运行状态) 的程序设计语言( 如:j a v a ) 所 实吼的移动代理系统,它减轻了代理运行环境的i :作负担和设计难度,但要求应用程序员介入代理 多动f 门实现火上了相犬透明性。当前人多数移动代理系统如a g l e t s 、c o n c o r d i a 和t a c o m a 等都是基 1l 皇:f l l i ,jj 进 迁移的。 + 2 1 2 实体的命名和全局目录服务 9 】 移动代理系统需要给系统中的实体( 如:代理、代理运行环境雨l 主机等) 一个全局唯二的名字 卒问以标识这些实体。主机的命名相对简单,冈为对它的命名可以使川现有的分布命名机制而代 圳n 0 命私j :代理的移动而变得比较复杂,它必须保证代理在复制、发送、迁移后的唯一性。有的 系统- i ,建立些名字服务器来实现平维护命名的仝局唯一性利付置无芙性,但这种方法的一致性和 j r 腱性都存在很人的问题。而分布的层次组织旧名字空间( 如i n t e r n e t 的d n s 层次名字空间) 则 业为人”j 所接受。 代理的定化是全埘目录服务的主要内弈之一,通常可刚以f 四种方法来实现: ( i ) 姐制全局搜索:这种方法在移动代理系统的全局范围内搜索某个代理它的实现方法比较 掏单可是效率很低,可扩展性差。 ( 2 ) 1 3 忠法:这利法需要代理运行环境留r 惯经在该运行环境上运行过的代理的记录,通过追 踪这些记录米找到相戍的代理。这种方法也比较容易实现,具有良女r 的可扩展性。但在代理迁移比 较蝴鳞时,、戈进度将受到很人影响。 ( 3 ) 集- f j 髓记:利川一个集中数据库米记录代理及其当前位笛。代刊 每次移动时都要对该数据 j 锄0i d 求进行业改,以保证数据的正确平| | 有效。这种定位方法的述度由矗快实现也很简单然而它 :缶罂维护个集q ,数据序冈此可扩展性和弈错能力都很芹,并且住代刊! 数较多时会成为接个系统的 1 f ( 虬 ( 1 ) 代理j “俺:机这种方法中当代理移动州向相芙宴体广告它f 内_ 前位置,实现比较复杂, 糸统外销i m 人。刈j :没有得到j 告的实体如婴得剁该代理的能簧只能通过全局搜索米实现 2 1 3 容错策略 代理运行系统必须考虑到计算环境的复杂性包括网络故障、服务改施故障、k 时间停机等情 眦造成的代理破上1 ;平运行火败。以r 是已采i i j 的儿种容错策略: ( 1 ) 薪份式样错:创建执行相同任务的多个符份在网络中独立运行,在任务执行结束后比较结 5 7 幻盘j 血人学坝i 学位论史 第二章移动代理与检查点 粜。这种方法可以实现很高的容错性但系统开销极人。 ( 2 ) 集中式t 容错:特定的服务器保留代理的原始备份井实施跟踪,通过重发原始备份恢复失效 的代理。同任何集中式方式一样,该方法的执行效率较高但可扩展性差井容易成为整个系统的瓶颈。 ( 3 ) 分布式容错:将容错责任分配到网络中多个主机进行,由各代理运行系统负责本身和运行 扫二l f :的代理的容错。这种方法有良好的可扩展性但增加了运行环境的殴计难度。 2 1 4 安全机制 代理平代那运行环境都不能完全准确地预见到相互的行为及后果,这种不确定性既带来了好 处,也存在严重的安全性风险。因此移动代理系统的安全机制是双向的,代理运行环境和代理都是 安全策略的实施者和实施对象。广泛采j _ l 的安全策略包括:( t ) 身份认证,如数字签名技术:( 2 ) 完牡性检查。是否被非法篡改;( 3 ) 病毒检测:( 4 ) 交易机制,保证对资源的有偿使用;( 5 ) 防i i 资源的。l i 法访问。服务设施通过资源控制表j h 户决策或统计及人l :智能方法控制代理对资源的 合法圻问【4 1 。 2i 5 路由策略 移动代理任舒求解的非确定性和效率很大程度上决定于路由策略的优化。以下是几种可行的路 由策略:( 1 ) 删定路由:创建者确定所要访问的服务设施名称和先后次序,适合于简单和相对确 - 定的仟务求解:( 2 ) 可变路南:只确定可能访问的服务设施:( 3 ) 动态路由:基于规则和目录服 务动态决定移动目标和路径。动态路由具有较强的灵活性和非确定性,l 可以与其他路由策略结合使 川【i o 】。 2 2 主流移动系统代理简介 j 对移动代理系统麻州前景的看好,n :多人学和研究机构推山了臼己的移动代理系统,下面 将简单介削一些具有典型意义的移动代理系统: a g e n tt e l a g e n tt c l 足由d a r t m o u t h 学院& 汁升发的一个简单、安全、平台无天的移动代理系统。它建立 往脚本沿肓t c l e r k 之上并对t e l 语言进行了扩充,它利j = | 一个增加的栈米记录代理的运行状态以此 木史脱扶徘柑恢复1 脞返 t 状态,它实现强移动性。通过原语a g e n ts e n d 平a g e n t _ r e c e i v e 提供了不 依赖_ r 实际通信机制的异步通信方法,a g e n t _ m e e t 提供了基于流的通信模式,它为本地代理间的交 互提供了高效的通信机制。 a g e n tt e l 利j s a f et e l 中的简单安全模列米保证士机不受恶意代理的攻击以及防止代理之间的 十i ha g e n t t e l 允f i :代理住主机之间漫游或驻留在某台土机上井通过网络远程存取其它主机上 的服务资源它也可以创建子代理为其i :作或与远程主机上的代理进行通信。由于t e l 语言本身不 是+ 个完全的胖序设计语言,也没有类似于类这样的模块化控制结构,闪此它比较适合于小型分布 代耻系统【6 】。 6 芷j 越人 坝i + 位| 上 第二章移动代理与检查点 a g l e t s a g l e t s 是由i b m 东京实验室开发的比较完整的商业化移动代理系统它的设计目标是为移动 代理系统的标准化提供基础。a g l e t s 建立在标准的代理传输协议a t p ( a g e n tt r a n s f e rp r o t o c 0 1 ) 和 代理设施的基础上,实现了相同语言( j a v a ) 编写的代理之间的互操作性。a g l e t s 代理是一个能在 l n l e r n e t 上进行迁移的j a v a 对象,它通过自己携带的行程表来决定自身的迁移路线。a g l e t s 提供了 刈代理的验证和存取控制机制、全局代理命名机制、巡游模式( j 米说明复杂性) 和行程表等服务。 j 1 地过“r i 板( w h i t eb o a r d ) ”机制米实现各代理之间的异步台作利信息共享,同时它还提供与具 体上机系统无关的统一环境。 1 ij a v a 沿言不允许对执行线榉的运行栈和内存进行直接操作,同时若对j a v a 虚拟机进行修 段会影响移动代理系统的异构性,所以a g l e t s 实现的是基于任务的迁移模式,a g l e t s 代理在迁移后 必坝从f j b t 规定的某个入口点开始执行,这增加丁编程的复杂性加人了廊_ l i = 程序员的负担。【1 4 】 c o n c o r d i a c o n c o l d i n 足一i 菱电c1 1 a 的水平系统实验宅开发的高效商业移动代理系统,它主要用于信息 仃般。c o n c o r d i a 的殴计日标主要集中侄支持灵 的代理移动利移动代理的协作性、持久存储、可 诘的代理传送平代理的安全方面。为保证移动代理系统及其席川程序的平台无关性c o n c o r d i a 由 纯j a v a 加以实现。 c o n c o l d i a 提供了l 周川麻_ i j 代理中任意方法入口点的机制,并扩展r 原先比较简单的代理间相 oj :堂i 米艾持代理问的队作通过这些方法f 州雌之问能进行交外修改代理状态。c o n c o r d i a 实 现r 对代理的持久化存储和恢复保证了代理在网络中的可靠移动。c o n c o r d i a 由许多独立的、能够 干h h 交互的服务器组成,每个服务器为代理提供了一些特定的服务。代理的移动由行程表决定,行 w k 蜕i ”j 饵个l l 抓1 :机的地j _ i f = 雨l 往该i 机l 州所婴执行的方法的入1 1 点。当c o n c o r d i a 代理到 哒某个二 = 机历,系统1 3 动搜索行程表中的方法入1 3 点,然扁凋川此方法作为代理在该主机的初始执 j 打法。另外c o n c o r d i a 提供了多种通信机制,支持异步的分布事什和台作等通信方法。对于代理 l j 吣商它也提供灵活有效的服务。【5 】 m e s s e n g e r s m e s s e n g e i s 是f j 瑞h 日山瓦人学开发的一个代理系统。m e s s e n g e r 码是川m o ( 和p o s t s c r i p t 沿苦i i :常午h 似) 或者s c h e m e 语言弓的。一个m e s s e n g e r 就烂一个包含数据羽h 码的消息系统中 何个i ) l :l - i 女收m e s s e n g e r 并祚r - i 己的线烈中执行这个m e s s e n g e r 所携带的代码。驻留在同一主机上 的i | e s s e f l g e r 之问j j 过e 孛的关键字值字灿进 j 通信= f :h 通过进剃队例实现同步。每个m e s s e n g e r 邮能繁硝新的m e s s e u g e r ) :枉网络中移动。;目一个m e s s e n g e r 移动剑一个新土机上厉必须自某个已 说明的入口点上蘑新开始执行井由当前状态决定接下米做什么。 m e s s e n g e r 主要被用_ 丁通信协议和分布式操作系统中在这两种系统中协议和操作系统单元都 址z 讪念酬度而不魁预先安装的。 7 】 m o a m o a 是jf 放软什基金会( o p e ns o f t w a r ef o u n d a t i o n ) f 属的1 | = 究机j = :| t o gr l ( t h e o p e n r e s e a r c h i n s l i l u l e ) j 1 :发的j t rc o r b a 的移功代理系统。c o r b a 捉供丁对缘命私、定伉和远程调j ; 等功能 的分们埘织铝+ 耻; : u m o a 烛山j a v a 史现的1 u | i j ;f 被成川丁分却钵p 项i | | 1 a 【5 】 7 幽定地人学坝j j 学位 史 第二章移动代理与检查点 2 3检查点技术 柃商点( c h e c k p o i n t ) 技术是一种常用的容钳手段,它通过保存平恢复稃序的运行状态来达到 窬惜的目的。在分布系统中系统在发生某些异常小件时会导致计算的彻底火败,此前的大量计算不 | l i 川j ,如:运行不同应用祥序的其他川户发,e 的异常事什;某机器所有者需要独占cpu 资 源,禁l r 其他州户共享该结点资源;异常关机;结点( 瞬时间歇或永久) 故障;系统软件 外缎,结点更换等维护操作等。针对火规模科学l 程的计算任务执行时间部较长,旦某计算结点 发乍l :述异常q :,将导致系统运行火败。程序1 i 得不从头开始执行。为了避免系统在发生上述事 俐j l 刊ij 一从头”! f 执 r 而引起计算上的人鳞浪赀,允分捉离系统f m ,川j 1 生在系统止常运行的适当 刎波首榆夼j _ 保存系统当时的规范状态,似、j 并进程进行柏芙性趴踪年记录系统发生故障后, :阿村i 天进程同滚( 1 o o l b a c k ) 剑故障前系统一致性状态( 检夼点) ,经过状态恢复后从该检查点处重 拼执ij :,谳不足从头开始执行,从而h 省了人蟮厄复计算时间。这种基r 检查点的屙向恢复技术不 仪“r 以对系统瞬时间歇故障进行白动恢复,也灶恢复未知故障狂菜一应 h 设计过程申未预料 剑的故障的唯一手段【4 l 。 2 3 1 单进程检查点 多j 肯l 经刈检l l = ,_ 史术胜升j 许多圳究i 作,”住包括单处理器、多处理器和分布式系统 内存 玎 斗 科 s t a c k h e a p c o d e l 厅i e s o c k e t s i g n a l f i g 2 - 2c h e c k p o i n to f a t y p i c a lu n i p r o c e s s 幽2 - 2 单进科检行点 锋彩种讣境i 、f ,以实规,而单进雕检奔点锋法义址所f r 实脱的丝f | f i j 。 m 韭样的检夼点指保存某一时 刻浚进w 所有返行状态的文仆,在重启该进 钏d 利川检夼点文什将此进程恢复剑那时刻的运行状 s f f 【交通人学坝i 哔位论文 第二章移动代理与检查点 态。乍成单进稃的检南点文件是比较简单的,见i 割2 - 2 。当某个进程在运行时,它的运行状态由用 j :状态、核心状态和系统状态二部分组成。通常川户状态又可以分为二部分:可执行代码、数据区 n i t煅1 ,数州l 平i 竹女必须被保存入检奔点文仆,而可执行代码i i 豆常不会改变所以可由可执行文件 进”映复。 2 3 2 分布系统中的检查点 图形表示:每个进程由一条水平有向线表示,水平线上的点表示进样中的事件;从一条水平线 r 阳i j 一条水,i ,线f j 特箭头的斜线表示消息传递,箭尾对着发送者,箭头指向接收者;实心圆表示 榆a 点:义表示运行进糕的主机山现异常事什,见刚2 - 3 。 m 分巾系统一h 由1 进程问可能需要相当:_ i l n 信以合f 1 :完成任务,职e 检有点的没立要考虑到全 0 敛性( g l o b a lc o r , s i s t e n c e ) 问题。目前学术界有两种全局一致性的定义:一种定义为只要没有 l _ e c e i v e n o t s e n d 现象发生即可认为是全局一致性时刻;另一种认为不仅r e c e i v e n o t s e n d 现象不能发 牛川时s e n d n o t i e c e i v e 现象也不能发生,见幽2 - 4 ,才可被认为是全 0 一致性时刻【1 2 】【1 3 】。在全 南敛性时刻对各代理建立检夼点,各代理检商点所保存的局部状态的集台就是全局一致性状态。 m 小史中采取后一种定义,冈为如果发生了s e n d n o t - r e c e i v e 也会影响系统的正确性,而在前者中分 n 僚统需璎验证仝局状态足否包含z 路释( z i g z a gp a t h ) 如果不包括z 路径该全局状态才是一致 的【7 。通常人们采h 1 消息缓存方式米验证是否存在z 路径,这样做法会引起较大的系统开销 f i g2 - 3e x a m p t eo f t i m ed i a g r a m i 生| 2 - 3 幽形表示 2 3 3 系统全局一致性 s e n d n o t r e c e i v er e c e i v e - n o t - s e n d a b f i g2 - 4 i n c o n s i s t e n tc h e c k p o i n t s 幽2 - 4 不一致状态 如果对1 个分布系统建立检奄点时不考虑全t | | i 一致性就会导致很多问题,1 t 中晟著名的就是多 水l * 坡j d ,f d o m i n oe f f e c t ) ,址2 - 5 。f i ;! 定系统_ _ 6 :小异常- j i l l 。进枞a 州滚剑它f l 勺局部检查点e 接 | 、米它需蜚j l | i 过邋信z 从进拌b 获得一个重发消息。为完成这个任务进群b 必须同滚至检查点d 脱n b 义m 要迎过j l 丑信y 从进剃a 获得一个消息。冈此,a 义必需一i 滚刊检卉点c 最后进程a 和b 蛆旰i 滚剑初始状态a 和b ,也就是说这种情况r 检奄点操作毫无川处【1 1 。 a bk 乒l b d f 异常事件 f i g2 - 5e x a m p l e o fd o m i n oe f f e c t h2 - 5 多米灌效府 9 ! :塑窒些叁兰竺! :兰笪堡兰 2 3 4 检查点的保存 第二章移动代理与检查点 通常系统将检查点文件保存在硬盘等稳定的( s t a b l e ) 存储器中,但检查点文件的生成方法分 为两种。一种方法是检查点文件保存进程的所有状态。另一种方法是增墙检查点方法,只保存与上 个检俞点有所4 ;同的部分状态。然而,对i n 检查点文仆也要保存。在前一种方法中只需在磁盘中 椿m个检壳点文件,斤继的检查点简单地重弓该文件;厉一种方法中,需要保留l f l 的文件,因为 j t 髂的状态可能涉及l j j l 个文什。因此后者作对总的存储器的要求更人。 由于检杏点的建立和保存需要大量时间,所以研究人员采用压缩方法试图减少检查点的开销。 榆舟点爪缩川标准压缩算法米爪缩检布点文什。但是只有在压缩操作的时间开销较小并且使检查点 明昆减少时,压缩算法才能起到作用。可以证明,压缩方法对单处理机系统并不十分有效,对有磁 盘争川的) f 行系统较有效【l l 】。 2 4 同步与异步检查点 口前人们般使用两种方法米得到分布系统内全局一致性状态井将其保存f 米:同步检查点操 f 1 二利异步检查点操作。 2 4 1同步检查点操作 所滑i 司步检台点操作【1 2 】,是指系统内所有的进程协凋一致进行检饩点操作,将某个全局一致 状态保存f 米。如果使刚上1 ,所提剑的两种全局一致性状态定义中的第一种,那么进程之间需要进 一步曲、凋以防i k ;l f j j l 消息的产生,这可以通过使某个消息的接收被保存入全局一致性状态的同时保 存它的发送米达到这就需要发生发送和接收的进稗相互协调。但通常这) f 不防i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论