




已阅读5页,还剩51页未读, 继续免费阅读
(计算机系统结构专业论文)单机检查点系统平台相关性研究及性能优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 广 l 论文摘要 论文摘要 机群系统的规模增大,部件增多,导致了机群的组合错误率也不断上升节点失效 使运行于机群节点上的作业面临中途失败,从而造成巨大的资源浪费,甚至导致大的作 业无法完成。检查点系统为节点提供了较好的容错性能,因此成为机群操作系统软件的 重要组成部分通过建立单机检查点系统可以提高操作系统的可靠性,减少运算损失, 同时也为构造其他容错软件,甚至是建立整个机群环境的并行检查点系统提供基础 本文主要针对单机检查点系统的实现技术进行研究,并以曙光4 0 0 0 系列机群为平 台,重点讨论了系统级检查点的平台相关性和性能优化策略曙光4 0 0 0 a 中使用的 o p t e r o n 是基于a m d 公司的x 8 6 - 6 4 架构的处理器目前还没有开源的检查点系统对该 体系结构提供过支持或者相关技术探讨。 本文首先分析比较了现有检查点系统,对检查点实现技术进行深入研究,重点讨论 了系统级检查点b l c r 的实现机制。 然后通过对x 8 6 - 6 4 体系结构的分析,实现了b i l - r 对a m do p t e r o n 的支持,并对 系统级检查点的平台相关性进行了探讨。 最后提出了两种检查点系统中进程地址空间的优化存储策略其中组合式检查点文 件写策略解决了并发写机制在应用内存接近物理内存时的性能突降问题,a - o ( a c c e s s o r d e r ) 进程地址空间存储策略调整传统地址空问的存储顺序,使大内存应用 的检查点操作性能得到了大幅度提升。实验表明,a - o 进程地址空间存储策略最高可以 将传统的存储策略的时间开销缩减至原来的5 0 。 关键词:机群系统,容错,检查点系统,存储策略 r e s e a r c ho i li m p l e m e n t a t i o nt e c h n o l o g i e so fc h e c k p o i n ts y s t e ma n d o p t i m i z a t i o no fp e r f o r m a n c e i ay a n h o n g ( c o m p u t e r a r c h i t e c t u r e ) d i r e r t e db yp r o f m e n gd a n w i t ht h ei n c r e m e n to ft h es c a l eo fc l u s t e r , t h ec o m b i n e df a i l u r ep r o b a b i l i t yi n c r e a s e s n o d ef a i l u r em a k e st a s ki n t e r r u p t e dp o s s i b l ew h e ni ti sr u n n i n go nt h ec l u s t e r , s oi n d u c e s h u g ew a s t eo fr e s o u r c e sa n de v e np r e v e n t st h et a s kc o m p l e t i n gf i n a l l y c h e c k p o i n ts y s t e m p r o v i d e sg o o df a u l tt o l e r a n c ef o rc o m p u t i n gn o d e sa n d b e c o m e si m p o r t a n tc l u s t e ro p e r a t i n g s y s t e ms o f t w a r e ,a n d t o i m p l e m e n ts i n g l e - n o d ec h e c k p o i n ts y s t e m i sa ni m p o r t a n t p r e c o n d i t i o nt ob u i l dp a r a l l e lc h e c k p o i n ts y s t e ma n df a u l t f a i l u r ee n v i r o n m e n tf o r t l l ew h o l e c l u s t e l t h i sp r o j e c tc o n t r i b u t e st op r o v i d eas t r o n ga n df l e x 沁l es i n g l e - n o d ec h e c k p o i n ts y s t e m t od a w n i n g4 0 0 0c l u s t e nd a w n i n g4 0 0 0i sb a s e do i ll i n u xo sa n da m do p t e r o nc p u ,b u t c h e c k p o i n ts y s t e ms u p p o r t i n gt h i sp l a t f o r mw i t ho p e n s o u r c ec o d eo rr e l a t e dm a t e d a l sc a n n o t b ef o u n di nt h ew o r l dy e t i nt h ef h - s tp l a c e 。t h i sp a p e ra n a l y s e sa n dc o m p a r e st h ee x i s t i n gc h e c k p o i n ts y s t e m s i n c l u d i n gs i n g l e n o d ec h e c k p o i n ts y s t e m s ,p a r a l l e lc h e c k p o i n ts y s t e m sa n dc h e c k p o i n t m o d e l sw h i c ha r ci n t e g r a t e di nb u s i n e s so s t h e n ,w ed e e p l yr e s e a r c h e d0 1 1t h et e c h n o l o g i e s n e e d e dt oi m p l e m e n tt h ec h e c k p o i n tf u n c t i o n ,e s p e c i a l l y t h ed e t a i l e df l o wd e s i g no fac l a s s i c s y s t e m l e v e lc h e c k p o i n ts y s t e m - - b l c r i sd i s c u s s e d a sf o rx 8 6 - 6 4a r c h i t e c t u r e w ea n a l y z ei t sn e wf e a t u r e sa n dh o w l i n u xs u p p o r t si t w i t h t h i se f f o r t ,w ei m p l e m e n ta s y s t e m 1 e v e ls i n g l e n o d ec h e c k p o i n ts y s t e mo nt h eb a s e o fb l c r - f u r t h e rm o r e ,t h ep l a t f o r md e p e n d e n c ec h a r a c t e ro fs y s t e m - l e v e lc h e c k p o i n ti sd i s c u s s e d f r o mt w o a s p e c t s :o sa n dc p u a tl a s t , t w oo p t i m i z a t i o ns t r a t e g i e sa r eg i v e ni n t h i sp a p e f c o m b i n e dw r i t t e ns t r a t e g y r e s o l v e st h ep e r f o r m a n c ed r o pp r o b l e ma n da 一0s t o r a g es t f a t e g yi m p r o v e st h et i m e p e r f o r m a n c eo fc h e c k p o i n ts y s t e m e x p e r i m e n t a lr e s u l t si n d i c a t e t h a ta - os t r a t e g yc a n r e d u c ec h e c k p o i n tt i m eo v e r h e a dt o5 0 i nt h eb e s tc a s e k e yw o r d s :c l u s t e r , f a u l tt o l e r a n c e ,c h e c k p o i n ts y s t e m ,s t o r es t r a t e g y i l l 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名;夺拖纽一日期:鲥r , 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者签名:能纽导师签 印醚妄j2 6 。 离 籀i 帝绪论 1 1 研究背景 第1 章绪论 机群系统是以具有通用操作系统的工作站或高档微机作为处理结点,通过高速局域 网或专用互连网络组成的并行计算系统与其他并行计算系统相比较,机群系统具有可 扩展性好、性能价格比高、用户投资风险小及软件资源丰富的优点现有的p v m 、m p i 、 p 4 等基于消息传递机制的并行通信库为用户提供了统一的并行函数接口,屏蔽了底层 的通信细节,使得并行应用程序得以在机群系统上开发运行在航天航空、石油勘探、 地震预报等要求高性能计算的领域,机群系统得到了越来越广泛的应用【1 】。然而,正是 这种并行应用与机群系统的结合,带来了对机群系统高可用性研究的迫切需求: 并行应用程序的典型特点是耗时长,负载重,耗费系统资源严重常用的并行 程序,例如中长期天气预报,复杂的流场计算,分子电子结构的确定,星系碰 撞仿真等计算密集型问题都需要并行系统借助大量节点长时间的合作来解决。 任何参与计算的节点失效,都会使整个并行作业面临中途失败,从而造成巨大 的资源浪费,甚至导致大的作业无法完成 机群系统的典型特点是随着规模增大,部件增多,机群的组合错误率也不断上 升,较单机系统有较多的失效点例如,一台有6 5 5 3 6 个处理器的b l u c g c n e l 系统平均每隔几个小时就要遭遇一次节点失效1 2 】。 所以,必须考虑采用一些合适的容错机制来提高机群系统中并行应用的可用性。容 错分为硬件容错和软件容错,但是软件容错的研究还没有达到硬件容错的深度,在实际 应用上也没有达到硬件容错的广度。尽管如此,软件容错技术的研究还是在一步一步的 取得进展并逐步进入了使用阶段。软件容错的目的是屏蔽软件故障,恢复因出现差错而 影响运行的进程软件容错的实现要求软件和硬件一定程度上的冗余而实现一个容错 软件需要多方面技术的支持,其中包括:出错检测技术、恢复技术、差错隔离技术,破 坏估计、继续服务。 检查点机制是一种典型的软件容错技术1 3 】。一方面它具有备份进程状态的功能,把 进程某一时刻的“快照”保存到稳定存储设备的文件中,另一方面当操作系统出现故障 或外部差错而导致某些进程终止时,它可以调度“快照”实现进程状态的恢复,使其能 够从检查点位置继续运行检查点系统又可以细分为单机检查点和并行检查点单机检 查点系统只对单节点进程( 包括多线程进程) 进行检查点切取恢复操作;并行检查点系 统可以对运行于多个节点上的并行程序进行检查点操作。并行检查点系统是减少运算损 失,提高机群操作系统可用性的重要途径 单机检查点机制是提供机群系统并行检查点机制的基础。并行检查点的实现通常是 币机榆卉点系统甲台相关件研究| 了忤能优化 在单机检查点机制上辅以并行通讯协议,从而使得并行进程间的通信状态能够在检查点 操作时被正确的保存和恢复在单机检查点机制中,检查点操作主要包括两个基本过程: 检查点切取( c h e c k p o i n t ) 和检查点恢复( r e s t a r t ) 。检查点切取就是把进程该时刻运行 的相关状态记录到一个指定的文件里,然后进程通常可以选择继续运行或停止运行并退 出系统,这个文件称为检查点文件;状态恢复使得在任何时候可以利用检查点文件重启 一个进程,并将其恢复到写检查点文件时的运行状态,也就是说,对进程来说 c h e c k p o i n t r e s t a r t 过程是透明的,不对进程的后续运行造成任何影响。 对于单进程的检查点,可以从用户级和系统级两个级别进行实现,也可以是二者的 结合用户级实现是指在用户空问做检查点操作,不需对操作系统做任何改动,但通常 对用户程序不透明,能保存的进程状态有限,因此能对其提供有效检查点功能的进程类 型也有较大局限。系统级实现是指在系统空间完成检查点核心操作,通常需内核补丁或 作成内核模块,因为系统级实现直接从内核中存取进程运行环境,所以能保存较多的进 程状态,对应用程序透明,但存在系统依赖性高,移植性不好的问题近年来,基于通 用操作系统i a n u x 的系统级检查点以其应用范围广,程序透明性高的优点得到了越来越 广泛的研究,本文主要致力于单机系统级检查点实现技术的研究。 1 2 课题来源 本文课题是8 6 3 计划软件重大专项集群服务器功能软件的一部分,目的是研究 检查点相关技术以及性能优化策略,并使单机检查点系统能够很好地支持机群并行检查 点系统的开发以曙光4 0 0 0 a 为研究平台,为曙光4 0 0 0 机群提供一套基于l i n u x 操作 系统,a m dx 8 6 - 6 4 平台的单机检查点系统。 目前,还没有对a m dx 8 6 - 6 4 平台进行支持的开放源代码系统,也没有相关的研究 资料,在已有的系统级检查点上对这种新体系结构提供支持是本文研究的一个重要部 分。 1 3 研究内容 本文在对现有检查点系统的分析和比较的基础上,对系统级检查点的实现机制进行 了深入研究,重点讨论系统级检查点在实现上面临的主要技术问题和解决方案,研究并 实现了系统级检查点对a m dx 8 6 6 4 平台的支持,还通过对l i n u x 操作系统特性和进 程行为的研究,提出了系统级检查点的两种优化策略,使大内存应用的检查点操作性能 导到了大幅度提升其中主要包括以下几项工作: 总结现有检查点系统在设计和实现方案上的优缺点; 对系统级检查点系统b l c r 的设计和实现源代码进行分析; 详细分析a m d 6 4c p u 体系结构新特性及i j n u x 内核对其的支持; 结合l i n u x 2 6 内核异步i o 机制研究系统级检查点的操作系统相关性; 2 第1 章绪论 研究系统级检查点的c p l i 相关性,实现b l c r 对a m d 6 4c p u 的支持: 提出组合式检查点文件写策略解决了并发写机制在应用内存接近物理内存时的性能 突降问题 提出a o ( a c c e s s o r d e r ) 进程地址空问存储策略调整传统地址空间的存储顺序,使 大内存应用的检查点操作性能得到了大幅度提升 1 4 论文结构 本文的第二章将介绍检查点机制的研究现状,从结构和功能上分析用户级检查点、 系统级检查点和并行检查点的代表系统的优缺点,并给出检查点系统的评价标准。 第三章对检查点的实现技术进行深入研究,并根据本课题需求对检查点系统的设计 方案进行比较和选择,其中重点讨论了伯克利实验室的检查点系统b l c r 实现机制。 第四章针对系统级检查点的平台相关性进行研究,包括l i n u x 内核版本2 6 中的异 步i o 对检查点系统的影响,以及系统级检查点如何支持a m dx 8 6 “新硬件平台 第五章通过对l i n u x 操作系统特性的分析,提出了系统级检查点组合式检查点文件 写策略,解决了并发写机制在应用内存接近物理内存时的性能突降问题。 第六章提出了a - o ( a c c e s s o r d e r ) 进程地址空间存储策略,调整传统地址空间的存 储顺序,使大内存应用的检查点操作性能得到了大幅度提升 第七章是研究结论以及对进一步工作的认识。 第2 章检查点研究现状 第2 章检查点研究现状 下面,我们首先从外部使用机制和内部实现原理两个方面介绍现有检查点系统的概 况,然后分别对单机检查点系统、商业版本操作系统支持的检查点系统和并行检查点系 统的现状和技术问题进行分析,最后给出检查点系统的性能评价标准和有待解决的问 题 2 1 检查点系统的外部使用机制 检查点系统主要包括检查点切取操作和检查点恢复操作其中检查点切取操作最常 见的几种接口形式又可分为下面三类: 由应用程序自身调用检查点函数对自身进行状态检查这种方式必须修改应用 程序本身,并且重新编译和连接,但是其最大的优势是应用可以根据自身的运 行状况选择适合的运行点进行状态检查,比如一个矩阵计算程序可能需要一大 片临时缓冲区进行运算,运算结束后释放掉该缓冲区继续运行,那么在运算中 进行状态检查的效率将远低于运算结束后做状态检查的效率。这里称这种由应 用自身调用检查点接口函数对自身状态检查的方式为内部状态检查 ( i n t e r - c h e c k p o i n t i n g ) 。 由外部信号触发应用程序对自身进行状态检查。这种实现方式中,通常由检查 点库通过一定的方式将应用程序的信号处理函数替换为状态检查函数,则当外 部某个进程( 比如监控应用的后台服务进程) 向应用发送一个触发状态检查时 问的信号时,进程便会进入信号处理函数对自身进行状态检查。这种形式的实 现便于后台进程管理和监控应用程序的运行,通常是由后台进程周期性的触发 应用进行状态检查,但是也要求应用程序重新编译和连接检查点库这里将这 种由外部事件触发进程进行状态检查的实现方式称为触发式状态检查 ( t r i g g e r - c h e c k p o i n t i n g ) 。 外部进程使用信号将应用程序挂起后,再通过操作系统或检查点库提供的特殊 系统接口对应用程序进行状态检查。这种方式实现的检查点系统最大的好处是 不必对应用程序作任何修改,甚至能够对只有二进制文件格式的应用程序作状 态检查和状态恢复,但是其功能只能在操作系统的核心级实现,而且由于对应 用的状态检查过程不是由进程自身而是由辅助进程完成的,所以也一定程度增 加了系统的负担这种方式称之为外部状态检查( e x t e r - c h e c k p o i n t i n g ) 。 检查点恢复操作是利用检查点文件进行进程状态的模拟过程,实现方式主要有两 种: 5 荦机椅存直系统平台相关忤研究亍件能优化 自覆盖式恢复( s e l f - r e c o v e r ) ,即恢复进程利用检查点信息进行自身替换,这种 恢复方式的优点是效率较高,但是整个过程缺乏灵活性和可控性,对异常和出 错处理能力较弱,容易产生恢复故障,因为在恢复过程中,进程本身正在被原 进程的状态信息所逐步替代,其处理能力正在逐步减弱,一旦出现异常,很有 可能回导致恢复过程失败 创建式恢复( f o r k - r e c o v e r ) ,即由恢复进程创建予进程并将状态检查信息加载到 。 子进程的框架中,将它模拟成原应用程序的状态这种恢复方式具有较高的灵 活性和可控性,对异常和错误的处理能力也强,但付出的系统耗费代价相对增 大,效率有所降低。 上面讨论了检查点系统两个主要操作的几种外部表现方式,对各个方式的选择主要 取决于对系统内部实现机制的选择以及实际需求对检查点系统的使用方式的要求。下一 节将详细介绍检查点系统的内部实现机制 2 2 单机检查点的内部实现机制 检查点系统的内部实现机制可以分为两种级别:用户级和系统级用户级是指在进 程的用户空问进行检查点状态切取恢复操作,主要用于实现内部状态检查和触发式状态 检查;系统级则是指在系统空间完成检查点操作,可用于实现外部状态检查下面分别 结合具体的检查点系统实例对二者的发展及现状进行介绍,具体的实现技术在第3 章中 给出 2 2 1 用户级检查点 用户级支持的检查点系统功能上要弱于系统级检查点,但是其发展要早于系统级检 查点系统,因为早期检查点系统都是基于不开放源码的通用操作系统而设计的,设计者 们无法在核心中定制功能。这些用户级的设计模式中产生了许多优秀的设计思想和解决 方案,并在一定范围内得到了成功实现和应用。u n i v e r s i t yo f w i s c o n s i nm a d i s o n 的c o n d o r 就是成功的范例,而近年来在分布式资源管理领域飞速发展起来的加拿大公司p l a t f o r m 也正是采取用户层中间件方式作为检查点的解决方案。 u n i v e r s i t yo f t e n n e s s e e 的i i b c k p t 是一个典型的用户级检查点软件包,它是完全的 用户级检查点系统,所有的功能都是以函数库的形式实现的。 l i b c k p t 的局限性包括;无法实现外部检查点;无法恢复动态加载的共享库;没有 实现信号的状态检查和状态恢复;空间和时间冗余度增加因为进程与核心的信息交 互需要在l i b c k p t 所建立的中间层留有存根( s t u b ) 供状态检查时使用,这不但增加了数 据空间的冗余,而且一定程度上降低了进程运行的效率,增加了时间冗余度。 c o n d o r 是威斯康星大学计算机系研制出的u n i x 下的分布式处理系统【4 1 。它通过 基于检查点技术的进程挂起恢复,在共享机群系统中让应用程序充分地但非不可剥夺地 6 第2 章椅矗点研究现状 使用空闲的c p u 资源因为c o n d o r 是在用户级实现的,它不支持任何进程间通信,也 不支持多线程进程、会话和脚本但有很多并行进程检查点系统中的单进程c h e c k p o i n t 使用的是c o n d o r 的连接库实现 因为c o n d o r 的检查点功能的实现主要通过对系统调用的封装和在用户空间对系统 空间部分数据结构的模拟记录,它不可能对系统完全透明表2 1 是c o n d o r6 6 9 版本 对各个平台的支持情况: 表互l :c o n d o r6 6 9 版本支持的平台列表 l a r c h i t e c t u r eio p e r a t i n gs y s t e ml h e w l e t tp a c k a r d e a r 1 s c ( b o t h p a 7 0 0 0a n dp a 8 0 0 0s e r i e s ) h p u x1 0 2 0 l h p u x1 1 x ( c l i p p e d ) usuns p a r c c s u 帆s u 啦s 蚰l s o - 龇, 一s i l i c o nr ,g 删r a p h i c s 姗s 删卜i r 洲;删 i n t e lx 8 6 i r e dh a tl i n u x7 2 , 7 3 ,8 0 , 9 r e dh a te n t e r p r i s el i n u x3 i d e b i a nl i n u x3 1 ( s a r g e ) i ir e d h a t f e d o r a c o r e1 ,2 ,3 m m d 胁f 胁9 6 咖例 i w i n d o w s2 0 0 0p r o f e s s i o n a la n ds e r v e r , 2 0 0 3s e r v e r ( w i nb i t i 5 0 ) , w i n d o w sx pp r o f e s s i o n a l ( w i nn t 5 1 ) ( c l j p p e d ) a l p h a f r e dh a ti j n u x7 2 ( c l i p p e d )i l t i n 6 45 1 ( c l i p p e d ) p o w e r p c i m a c i n t o s ho sx ( c l i p p e d ) l a 5 2 ( c l i p p e d ) i t a n i u r n ( i a 6 4 )i i s u s e l i n u xe n t e r p r i s es e r v e r8 1 ( c l i p p e d ) i 其中包含( c f i p p e d ) 说明的表示对该体系结构支持的c o n d o r 作业管理系统尚不包 含检查点功能从这个表中我们可以看出,对通用操作系统l i n u x 提供的用户级检查点 支持主要是在i i l t e lx 8 6 平台,本课题所研究的平台a m dx 8 6 6 4 仍未得到支持 7 午帆榆 卢系境甲靠棚关忭研究j r 能优化 2 2 2 系统级检查点 尽管检查点系统应该是属于操作系统核心的容错子系统,但是由于检查点的实现要 求软件和硬件上都有一定的冗余,而且在机群系统的广泛应用之前,没有足够的用户需 求。所以它一直是各个o s 厂商所忽略的问题之一,系统级的检查点系统发展也就相应 的晚于用户级检查点系统。随着机群系统的规模扩大和广泛应用,检查点成为必不可少 的技术环节,而用户级实现的检查点系统缺乏通用性,很大程度上限制了应用程序的范 围,这就带来了系统级检查点机制需求 美国空间数据和信息科学中心的b e o w o l f 机群提供了一系列用来建立l i n u x 机群系 统的系统软件包,检查点及进程迁移功能是由其中的软件包b p r o c 的一个核心模块 v m a d u m p 来辅助完成的,该模块不能被称为完全意义上的检查点系统,因为它不能独 立的完成进程的状态检查和状态恢复,而只是提供了记录和加载进程虚存地址空间的系 统调用接口但v m a d u m p 的主要实现部分已经被广泛应用在许多系统级检查点的实现 中,后面要介绍的c r a k 和b l c r 两个系统就是以v m a d u m p 为核心,辅以其他相关 机制进行扩充,从而实现的一个完整的系统级检查点系统。 c r a k 是哥伦比亚大学计算机系实现的一个系统级检查点【5 】,实现了外部状态检 查它的主要目标是用于进程迁移,为现有操作系统提供通用的透明的c h e c k p o i n t 功能 c r a k 系统针对满足以下前提的集群系统:1 ) 操作系统支持可加载内核模块;2 ) 加载 的模块能够存取进程私有状态量;3 ) 同构环境;4 ) 有全局文件系统;5 ) 主要目标是 进程迁移,不是错误修复。 c r a k 的特点包括:基于通用操作系统l i n u x ;对用户应用透明;无须修改o s 内 核;支持并行进程;支持网络( s o c k e t ) 应用;无运行时的o v e r h e a d ;迁移时不使用桩 进程。但是,c r a k 不能重起多线程进程,没有内部状态检查和触发式状态检查机制, 又不允许用户注册c h e c k p o i n t 句柄或阻塞c h e c k p o i n t 的发生,很难用于并行检查点的设 计。 b l c r 是伯克利国家实验室正在不断扩充功能的检查点系统 1 8 1 。与同类l i n u x 系 统中其他开放原码实现相比,有系统级支持,丰富的用户回调机制,关键区域设定机制, 支持多线程的优点。对于诸如多进程,会话组,u i d ,资源信息保存等支持也已经列入 开发计划更重要的是伯克利实验室与l a m 的合作使得la m m 伸i 发布的版本7 0 4 中 已经利用b i _ l - r 包含了检查点功能,为m p i 并行程序提供了很完备的检查点支持。 b l c r 目前的支持概况: 支持s m p 结构; 支持l i n u x t h r e a d s 和p o s i x 线程的n p t l 实现; 能恢复虚地址空间和寄存器值; 能恢复文件描述符和与打开文件相关的状态; 能重置信号句柄,m a s k 信号和p e n d i n g 信号; 8 - t 第2 帝榆矗点研究现状 能重置进程i d ( p i d ) ,线程组i d ( 1 g i d ) ,父进程i d ( p p i d ) ,和进 程树到原始状态; 在i a 届2 硬件结构r e d h a t 9 操作系统上进行过测试: 在大量l i n u x 2 4 内核上测试过( v a n i l l a ,r e d h a t 7 3 ,r e d h a t 8 ,r e d h a t 9 , s u s el i n u x 9 ) : 在g n u c 库 g l i t , c ) 版本2 1 到2 3 上钡4 试过; 对管道的支持正在开发,未来的版本中将对整个进程组和会话的恢复进行支持当 然,更多的功能也已经列入开发计划。截止到本文完成,b l c r 也没有对a m dx 8 6 - 6 4 位系统提供支持,而是将其列入开发计划。 2 2 3 两种实现机制的分析比较 用户级检查点系统在进程的用户空问进行检查点操作,这就决定了它必然包含以下 几个不足: 具有运行时的时问空间开销( r u n - t i m eo v e r h e a d ) ; 如果在信号上下文中进行,不能使用不可重入函数,系统调用受限; 有些状态不能重置,如进程p i d 和资源使用信息: 不能处理进程组通信问题,无法对组内其他进程进行操作; 对用户不透明,无法操作只有二进制码的程序 系统级检查点系统在进程的系统空问进行检查点操作,相对于用户级检查点系统有 以下特点: 没有运行时的时问空问开销; 能够存取大部分进程状态; 对应用程序透明,无需应用程序作任何改动; 可移植性差,系统平台相关性强; 表2 2 给出了两种实现机制的对比: 表2 2 两种实现模式比较 性能系统级设计用户级设计 通用性( 动能完备性) x 可移植性 x 可扩充性 ,x 灵活性( 策略支持) , x , 应用透明性 ,x 为了给曙光4 0 0 0 机群提供通用性强,透明性好的检查点系统,本文侧重于系统级 9 荦帆榆 直系境1 ,台相关忤研究件能优化 检查点方面的研究在灵活性方面,本文采用b l c r 为开发平台r 该系统提供了较丰富 的用户接口,提高了系统级检查点的灵活性 2 3 商用检查点系统 商用操作系统通常能够参照p o s i x1 0 0 3 1 m 在检查点方面提供了很好的核心级支 持,并且基于核心机制的基础上设计和实现了比较丰富的用户接口和实际应用,其检查 点功能也具较好的通用性但由于商用系统并不是一种开放源码的系统,所以在这方面 提供的技术资料很有限,我们无法知道具体实现细节 从功能角度讲,因为商业版本c h e c k p o i n t 功能的开发与其专有操作系统的开发结合 紧密,得到了操作系统的很好的支持,商业版本的确发展的比较成熟。但也有一些限制 是无法突破的( 下面会结合产品说到) 。从应用角度讲,正因为b l c r 的目标是基于l i n u x 的通用系统,使得它与其他系统的结合更容易,l a m b l c r 就是很好的例子b l c r 与 其他并行库,线程库,作业管理系统的结合的容易程度也是专用系统无法企及的 2 3 1 i b m 的a i x i b m 的a i x 操作系统中的c h e c k p o i n t 包括以下功能限制: 不支持没有用m p c c _ r , m p c c i - r m p x l f _ r , m p x l f 9 0 _ r , 或m p x l f 9 5 _ r 编译的m p i 程序; 不支持使用s e t u i d 的程序: 使用s o c k e t s 或管道通信的并行程序,需要编写回调函数关闭连接; 使用p t h r e a dl o c k s 的程序会有延迟; 使用信号灯,共享内存或消息队列机制的进程需要与相关进程一起c h e c k p o i n t ; 2 3 2 s g i 的i r d 【 i r i x 1 4 1 的检查点系统最值得参考的是它的设计模式,它的系统被设计成核心级支持 用户级实现的形式,这种形式一方面能够保证功能的完善性,另一方面可以提供丰富的 用户界面。 操作系统中的c h e c k p o i n t 功能限制包括: 不支持使用s v r 4 信号灯和消息的进程; 不支持网络s o c k e t 连接,或者使用回调函数进行处理; 不支持m p i 应用; 不支持对磁带,c d r o m 和其他一些设备文件的c h e c k p o i n t ; 不支持x t e r m i n a l s 和其他一些种类的图形终端,或者在回调函数中处理; 不支持s e t u i d 的程序; 1 0 第2 奇输 占研究现状 2 4 并行检查点技术 高性能并行计算机系统检查点技术就是通过各种协议的设计,剩用单进程检查点技 术,能切取恢复利用消息传递系统进行通信的并行程序的状态 2 4 1 消息传递系统全局一致状态 一个消息传递系统由一些相互协调合作运行的分布式应用程序进程组成,进程之间 通过且仅通过消息传递来通信,且与外界( o u t s i d ew o r l d ) 通过发送输出消息和接收 输入消息进行交互。图2 1 给出了一个包含3 个迸程的消息传递系统。 图2 1 具有3 个进程的消息传递系统 一个消息传递系统的全局状态包括所有参与进程的局部状态以及通信通道的状态 一致的系统状态定义为:系统状态中不包含孤立消息孤立消息定义为:消息的接收事 件被记录,但是发送事件却丢失了图2 2 给出了一致状态和非一致状态的例子。( a ) 是 一致状态,表示m l 已经被发送,但是还没有被接收m l 称为传递中消息。当传递中消 息成为系统全局状态的一部分,这些消息不会导致不一致嘞是非一致状态,m 2 已经被 p 2 接收并记录下来,实际p 1 的状态记录m 2 还没有发送 屹 i l r i n 懈 f a 图2 2 一致状态和非一致状态说明 一致的全局检查点是指包含在并行程序全局检查点中各个单进程的状态,它描述了 单帆挣冉点系统甲青桐关竹研究与忤能优化 该消息传递系统的一致系统状态 ,2 4 2 并行检查点协议分类 通过对消息传递系统中全局一致状态的分析可知,并行检查点设置和恢复技术包括 两部分:各进程状态的保存和恢复,以及通信通道状态的保存和恢复前者与单进程检 查点内容密切相关,而对后者的处理协议可分成两大类:检查点协议和日志协议。检查 点协议中,进程只记录描述进程状态信息的检查点日志协议中,进程不仅记录检查点, 也记录事件相关的日志信息。 检查点协议不需要检测、记录以及重新回放事件,因而比日志协议简单。但它不保 证已经发生事件的重放,因此不适合频繁和外界交互的应用检查点协议分为三种 【2 1 1 1 2 2 ,协作式检查点,独立式检查点,通信引导式检查点。 日志协议把进程的执行看成非确定状态区间序列,每个区问以非确定事件的执行开 始协议假定所有的非确定事件都可以被识别,同时事件相关的信息都可以记录到稳定 存储上另外,进程也记录检查点 一个进程的状态依赖于非确定事件,但是该事件在恢复阶段不能重新生成,这样的 进程称为孤立进程( o r p h a np r o c e s s ) 。产生孤立进程将导致系统的不一致状态。日志协议 可保证在执行恢复操作时不产生孤立进程从而获得一致的全局状态日志协议分为三种 【1 9 1 2 0 ,悲观日志,乐观日志,因果日志 表2 3 是对几种协议的比较。 表2 3 协议比较 通信悲观乐观因果 协作式独立式 引导日志 日志日志 分段确定 性假设 否否否是足足 垃圾回收简单 复杂复杂简单复杂复杂 进程记录 检查点数 1 个 多个多个 1 个 多个1 个 d o m i n 0 效应 无可能 无无 无无 孤立进程无 可能可能无可能无 最近全 可能 最近 可能 最近 回滚程度局检查无限制 多个 检查 多个 捡查 检查检查 点点点 点点 恢复复杂 性 简单 复杂复杂简单复杂 复杂 输出提交 很慢 无法实 很慢最快慢 快 速度 现 1 2 第2 章柠盘点研究现状 2 4 3 并行检查点系统 并行计算系统中主要使用m p i 库开发应用在m p i 库层实现检查点具有透明性和 可移植性等优点【1 9 】,是实现系统容错的一种有效途径当前有很多采用并行检查点技 术的m p i 系统,包括m p i c h - v 、m p i c h v 2 、c o c h e c k 、i 舳i 懋l p i 、s t a r f i s hm p i 等。 1 )m p i c h - v :该项目利用检查点技术适应节点的动态性,如在网格环境下节点的 随时加入和退出基于非协作检查点悲观日志算法,每一个计算进程和一个 m e m o r yc h a n n e l 进程相关联,发送的消息按序记录在m e m o 叮c h a n n e l 中,接 收消息向m e m o r yc h a n n e l 请求使带宽利用率减半,极大影响性能系统结构 如图2 3 所示。 m p l 洲1 c h 删u 甘 醇 2 ) v 1 ( u n c o o r d i n a t e dc h e c k p o i n t + r e m o t e m e s s a g ep e s s l m t s u ci o g g t n gt h r o u g hc h a n n e l m e m o r i e s ) 图2 3m p i c h v l 系统结构图 m p i c h _ v 2 :同m p i c h - v 相比,也是基于非协作检查点悲观日志算法,但 是移去了m e m o r yc h a n n e l ,需要更少的可靠的节点来运行必需的服务进程。 m p i c h j v 2 e 州l c 味 e m v 2 ( u n c o o r d i n a t e dc h e c k p o i n t + s e n d e rb a s e d p e s s i m i s t i cm e s s a g el o g g i n g ) 图2 4m p i c h - v 2 系统结构图 甲机柠 占系境、r 台相关忖研究0 件能优化 3 ) l a m m p i :结合b e r k e l e y 实验室的核心级进程检查点系统b l c r ,提供检查点 操作接口l a m m p i 实现了协作式检查点算法通过m p i r u n 命令,所有的m p i 进程仞 始化检查点操作,进程之问开始相互协调以通过本地检查点实现一致的全局检查点 i _ a m m p i 通过s t a g g e r e d a l l t o - a l l 算法保证在记录检查点时通道上没有消息传递,以避 免消息事件影响。 除了上述和检查点技术相关的m p i 研究项目,m p i c h g f 研究在网格环境中引入 检查点功能它试图对网格环境下的应用进行容错,实现应用在节点故障后的可恢复计 算 2 5 检查点系统性能评价标准 检查点设置的时问开销( c h e c k p o i n t i n gt i m eo v e r h e a d ) 是指由于检查点设置而带 来的程序正常执行时间的增加检查点设置对进程执行时间的影响程度直接决定了检查 点系统的可用性这是衡量检查点系统优劣的最重要的一项性能指标 检查点设置延迟( c h e c k p o i n t i n gl a t e n c y ) 是指一次检查点设置从开始到完毕的时 间。理论上,这项指标将影响检查点设置的间隔,因为新的检查点设置不能在上一次检 查点设置未完成时发起。但实际上,由于检查点间隔通常远远大于检查点设置延迟,设 置延迟对检查点间隔的影响可以不予考虑。并行检查点设置延迟通常是造成检查点设置 时间开销的主要原因。有研究表明,检查点设置的时间开销的微小波动将比设置延迟的 巨大波动对并行程序性能有着大得多的影响。因此设置延迟相对于时问开销是次要指 标 检查点通常以文件形式保存在本地磁盘上,或者远地磁盘、网络文件服务器上不 管检查点文件的具体位置,检查点设置的空问开销( c h e c k p o i n t i n gs p a c eo v e r h e a d ) 都 是指保存的检查点所占据的总的空间大小在容错系统中,此项指标的重要性显然弱于 时间开销。 恢复时问( r e c o v e r yt i m e ) 指从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国可重复使用防护面罩行业市场全景分析及前景机遇研判报告
- 四川省广安市2025年中考英语真题附答案
- 看谁算得巧(教学设计)-2024-2025学年四年级下册数学沪教版
- 2025年中国可降解PLA吸管行业市场全景分析及前景机遇研判报告
- 中国防护文胸行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 展柜设计培训课件
- 2025年中国钩螺栓行业市场发展前景及发展趋势与投资战略研究报告
- 中国深红硫锑银矿行业调查建议报告
- 2025年 浙江省考行测考试试题附答案
- 中国数模转换器行业市场全景监测及投资前景展望报告
- 七年级数学新北师大版(2024)下册第一章《整式的乘除》单元检测习题(含简单答案)
- 固定动火区管理规定、通知及审批表
- 《课件铁路发展史》课件
- 2025年贵州茅台酒厂集团招聘笔试参考题库含答案解析
- 消渴中医护理查房
- 儿童护照办理委托书
- 《中药调剂技术》课件-中药调剂的概念、起源与发展
- 《数据中心节能方法》课件
- 循环系统疾病智慧树知到答案2024年哈尔滨医科大学附属第一医院
- 2024-2030年中国激光水平仪行业市场发展趋势与前景展望战略分析报告
- 部编本小学语文六年级下册毕业总复习教案
评论
0/150
提交评论