(计算机科学与技术专业论文)ccnuma计算机结点内部硬件含错处理研究.pdf_第1页
(计算机科学与技术专业论文)ccnuma计算机结点内部硬件含错处理研究.pdf_第2页
(计算机科学与技术专业论文)ccnuma计算机结点内部硬件含错处理研究.pdf_第3页
(计算机科学与技术专业论文)ccnuma计算机结点内部硬件含错处理研究.pdf_第4页
(计算机科学与技术专业论文)ccnuma计算机结点内部硬件含错处理研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

国防科学技术大学研究生院学位论文 摘要 随着高性能计算的发展,高可靠性和高可用性是对超级计算机系统提出的新的要求。 超级计算机发展趋势是,系统规模越来越大,体系结构越来越复杂,这些都使系统发生硬 件故障的机会大大增加,也增加了故障处理的难度。而c c 抓d d a 超级计算机由于共享主 存的原因,对故障具有先天的脆弱性,任何一个硬件或者软件的故障都会造成整个系统的 失效,因此c c n u m a 计算机故障处理是一个难以解决的问题。 本文详细的介绍了计算机容错及含错理论,认真地研究了c c 寸讯m 4 a 计算机体系结构 及c a c h e 一致性在故障发生时的行为特征。针对相关研究的结点级含错概念以结点为 单位进行故障处理,本文提出了模块级含错的概念以结点内部模块为单位进行故障处 理。并在此基础上,提出了以进程为单位的一种含错区域划分方法。设计并实现了故障限 制方法和故障恢复算法,有效的解决了c c 州i m a 计算机的故障处理问题。本文的设计方 案具有较好的故障处理能力和更大的灵活性。 本文主要做了以下工作:( 1 ) 分析了c c _ n u m a 系统结点内部硬件模块的故障特征, 建立了故障模型,( 2 ) 研究了超级计算机r a s 系统的特性,及其如何应用于c c 椰订讧a 体系结构计算机含错处理中,( 3 ) 根据c c n u m a 体系结构的的特点设计了含错区域,( 4 ) 分析了各种类型故障对系统的影响,并重点研究了故障对c a c h e 一致性的影响,( 5 ) 提出 了一个恢复算法,确保系统在故障后恢复到一个可运行的状态,( 6 ) 对模型进行了正确性 验证和系统可扩展性的性能分析。 关键词:c c _ n u m a超级计算机含错r a s 系统 第1 页 国防科学技术大学研究生院学位论文 a b s t r a c t w i t l lt l l ed e v e l o p m e n to f m 曲_ p e r f o m a l l c ec o m p u t i n 岛r e q u i r e m e n t st o 址曲r e l i a b i l i t ya n d h i 曲a v a i l a b i l 酊o f s u p e r c o m p u t e ra r ei n c r e a s i n 吕1 1 1 es c a l eo f n e wm a c h i n ei sb i g g e ra n d b i g g e r , t h ea r c l l i t e c t u r eb e c o m em o r ea 1 1 dm o r ec o m p l c x ,a l lo f t h e s eg r e a t l yi n c r e a s em e0 p p o 衄i 移o f h a r d w a r cf a u l l ,a t l dm a k ei th a r dt od e a l 、v i t ht l l ef a u l t e s p e c i a l l yf o rt l l ec c 椰m as h a r e d m e m o r ys u p e r c o m p u t e r sw h i c ha r es u 丘嘶n gf m ma ni n h e r c n t 如g i l i 劬as i i l g l eh a r d w a r eo r s y s t e ms o 矗w a r ef a i l l l r ec a nc a u s em ee n t i r cm a c h i n et oc r a s ha n di ti sh a r dt os o l v et h o s e k i n d s o f 蹦l u r ef o rt l l eh a r d 、v a r 。a n ds o f h v a r ed e s i 印e r s t i l i sd i s s e r t a t i o nd e t a i l e d l yi n t r o d u c e st 1 1 et h e o r yo f f a l l l t t o l e m c ea n df a u l t c o n t a i l l i i l e n to f c o m p u t e r c a r e 删ys t u d y st h ea r c h i t e c t l l r eo fc c - n u m ac o m p u t e ra 1 1 dt l l eo p e r a t i o n a lf e a f u r e o fc a c h ec o h e r e n c ei nf a u l t a c o n d i n gt o l er e l a t i o n a ls t u d yo ff a u l t c o n t a i 姗e n to fn o d el e v e l 、v h i c hd e a lw i t l lt l l ef 孤l ti n l e1 l n i to fn o d e ,t l l i sd i s s e n a t i o ns u p p o s et l e c o n c e p t0 f f a u l t c o m a i l l m e n to fm o d u l el e v e lw i l i c h d e a lw i mt h ef h i ti n 也eu i l i to fi r 血a n o d e s m o d u l e t h e ns u p p o s eam 甜l o d 铂a tp a n i t i o l l st l l ef 如l t - c o m a i m e n tr e g i o nb 骶eo nt l l ep m c e s s i d e s i 弘a n di m p l e m e m l em e t l l o do f f 硼t _ c o n t a i l l m c n t 趾dr e c o v e r ya r i t l l i n e t i c ,e 肫c t i v d ys o l v e m e p m b l e i l lo f f a u l ti nc c 廿m m ac o m p u t e r 1 1 l i sm e m o dh a v eb e t t e ra b i l 时o f d e a l 吨诵t l l 也e f a m ta n db e t t e rn e x i b i l 酊 m yr e s e a r c hm a l 【e st l l ef o l l o w i n gp r i m a r yc o n 砸b 埘。璐:( 1 ) ia 1 1 a l y s et h cf e a 【u r eo f f h t l l to f c c - n u m as y s t e m ,a i l dc o n s t u c t 蠡m l lm o d e l , ( 2 ) i 咖d yt h ef b a n l r co fr a ss y s t e mo f s u p e r c o m p u t 盯,觚dh o w t ol l s ei tt os o l v em ef a i l l t0 f c c 小m a s u p e r c o m p u t e r ,( 3 ) b a s eo n 也ef e 咖o fc c 州m a s a r c b j t e c t 眦e ,id e s 啦t l l ef a u l t - c o n t a i 姗e n tr e g i o n , ( 4 ) i 姐a l y s e w h a tk i n do fi n n u e n c et l l a ta l l1 【i n do ff h u l tm a k et om es ”t e m , ( 5 ) is u p p o s ear e c o v e r y a i i m m e t i c ,m a tc a nm a l ( et l l es y s t e mb a c kt o 锄o p e r a t i o n a b l es t a t e ,( 6 ) iv a l i d a t e 也ec o 玳c n l e s s o f m o d u l e 锄d 删”et h ee x p a i l s i b i l 时o f s y s t e m k e y w o h b :c c - n u m 渔 s u p e r c o m p u t e rf a u l t - c o n t a i n m e n t r a ss y s t e m 第1 i 页 国防科学技术大学研究生院学位论文 图表目录 图2 1c c 小u m a 计算机体系结构。6 图2 2 结点组成及h u b 的基本结构7 图2 3i 认s 系统逻辑图9 图3 1 故障概貌1 7 图3 2 含错区域( f c r ) 划分图1 8 图3 3 处理器故障形成的消息阻塞2 0 图3 4 普通系统的结点映像表2 1 图3 5 含错系统的结点映像表2 1 图3 6 处理器c a c h e 不命中时的c a c h e 消息传送2 3 图3 7c a c h c 消息通路发生故障2 3 图3 8 故障对c a c h e 一致性通信的影响2 4 图3 9 故障对c a c h e 一致性的影响2 9 图4 1 恢复算法:。3 2 图4 2 互连恢复流程3 5 图4 3c a c h e 一致性恢复流程3 8 图5 1 虚拟机应用环境的修改4 2 图5 2 检测点的设置4 2 图5 3 数据收集方法4 3 图5 4 恢复算法。4 4 图5 5 重新设置c a c h e 一致性协议目录4 5 图5 6 结点映像表数据结构4 5 表1 故障注入类型4 6 图5 7 恢复算法时间开销4 7 第i v 页 独创性声明 本入声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目:= ! 坠盐簋担坌。叁内叠亟监堂公理珏究 学位论文作者签名:窆! 耋垒 日期:2 r 。r 年弘月工,日 学位论文版权使用授权书 本人完全了艇国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题日:盟唑盐莲狃箜点直韭翌丝焦矬堡盟塞 学位论文作者签名: 作者指导教师签名: 列德本 塑兰主 日期:御f 年p 月却日 日期:工口o j 年,】月土d 日 国防科学技术大学研究生院学位论文 第一章绪论 1 1前言 高可靠性和高可用性,是对当前的超级计算机系统提出的最基本的要求之一i l j 。可靠 性是指系统平均无故障运行时间,可用性是系统正常运行时间与正常运行时间以及故障维 修时间之和的e 率【2 】,高可用性是评价超级计算机和服务器系统的关键指标之一。 提高系统可靠性的途径大体可以分成两个大类:一是提高元器件本身的可靠性和严把 工艺质量关,即所谓的避免错误发生的方法,简称“免错法”,也称完善设计;二是使用 给定的元器件通过系统结构的变化来提高可靠性的技术,它可以无视一定故障的发生,实 际上是一种容忍错误出现的方法,称为“容错设计”。 随着对超级计算机体系结构研究的深入和高性能计算对计算机性能要求的提高,现在 的超级计算机性能的提高更多的是依赖结点数目的增加,第2 5 届t o p 5 0 0 会议报告l j j 显示 当前的超级计算机系统结点数目一般都在一千个以上,结点数目的增加使得系统发生硬件 故障的概率也随之显著增加,大大降低了系统的可用性。首先,硬件固有的失效模式导致 故障不可避免,随着系统规模的不断增大,整机系统硬件故障的概率大大增加;其次,系 统规模的增大也使得系统结构日趋复杂,导致故障更加易于发生。 现在的超级计算机系统体系结构多种多样,应用的需求也各有不同,但在提高元器件 可靠性的基础上都采用了多种容错手段来进一步提供系统的可用性和可靠性。 g o o g l e 【4 】的服务器是一种典型的b e o w u l f 集群系统i5 1 。系统中的每台p c 机都可能出现 故障,故障发生后需要一定的故障维修周期。在维修周期内,该机器中所存储数据就可能 不能正常访问,因此,反馈给用户的检索结果会减少。当在不同时间段在g o 0 9 1 e 上多次执 行同样的检索请求时,会出现检索结果不一致的现象,这个现象的出现硬件故障是可能的 原因之一。这种非严格的可用性对g o o g l e 是可接受的,而且可以大大减少用于可靠性设计 的成本。但对于银行这类高可用性要求的环境必须采用容错技术来提高系统的可靠性。 而1 姐d e m 嗍公司是较早进行容错计算机设计的一家公司。其开发的n o n s t o p 系列同【7 】【3 0 1 的计算机系统是应用于银行、证券交易所等具有很高的可靠性和可用性要求的场所,其完 善的容错设计也满足了这些高可靠性的要求。但由于大量的采用冗余等容错手段,使得其 系统成本大大提高。而且为了可靠性的要求,应用程序必须进行面向其体系结构的编程。 降低了系统的适用性。 c c 小u m a ( c a c h e c o h e r c i l c e 晰t l ln o n u h i f 0 胁m 咖o r ya c c e s st i m e ) 模型是高速缓存 一致性非均匀存储访问模型的简称。相对于其他体系结构的计算机c c n u m a 计算机易 于编程、性能高,因此无论是在商业应用还是在研究领域都获得了广泛的关注。典型的 商业应用如:s g io r i 西n2 0 0 0 【8 l 【9 】、s g io r i 西n3 0 0 0 i 】、s t i n g 【1 2 】、越p h a s e r v 。rg s 3 2 0 等: 第1 页 国防科学技术大学研究生院学位论文 研究领域的如:s t a n f j r d 大学的d a s h 1 4 1 、f l a s h 【1 5 】j 1 16 1 、麻省理工的a l e w i f e 【1 7 】等超级计 算机。c c 小i u m a 计算机虽然具有以上所述的诸多优点,但同时也存在c a c h e 一致性协议 硬件设计复杂、协议处理开销较大这样的缺点,并且这类系统的最大问题是当系统规模扩 大后整机的性能有可能会下降,系统的可扩展性不好。通常中小规模的c c 堋聍江a 计算机 较多,即使设计为支持大规模的系统在实际使用中通常也分为多个中小规模的系统分区使 用。 s g io r i g i n2 0 0 0 采用了含错处理的故障处理方法【1 0 1 ,大大提高了系统的可靠性和可扩 展性,但加大了系统的通信延迟。而f l a sh l 博腑j 是一个完全面向含错设计的超级计算系 统,并与其配套开发了h j v e 【1 9 j 【2 0 】操作系统。由于有针对性地进行了一些含错设计,所以其 故障处理能力较好,故障处理对系统性能也没有太多的影响,但故障发生后由于系统恢复 的运行会导致系统任务停止一段时间的运行。 故障对任何一个超级计算机系统实现者部是无法回避的问题,尤其对于c c 堋n “a 计 算机。由于c c 小m a 计算机的共享主存特性,任何一个结点的硬件或软件故障都很容易 被传播到系统中的其他结点,甚至是所有结点。在这种情况下即使是在无故障结点上运行 的任务也有可能因为这个故障而停止,甚至整个系统由于这个单点故障导致发生停机。 因此,如何设计一个具有高可靠性和高可用性的c c 州n v i a 计算机是一个非常重要的 问题,对计算机系统设计者提出了很高的要求。而且在高可靠性和高可用性的基础上,如 何降低系统成本,提高系统的可扩展性,也是必须考虑的一个问题。 1 2课题研究现状 超级计算机大都采用了各种故障处理措施,如s e q u o i a 1 ,m m ,s 3 6 0 “, t 锄d e m ,n o n s t o p f 6 1 【7 】f 捌。d e m 烈o n s t o p 通过针对故障的专门设计把系统的平均故障间隔 时间提高了1 0 0 0 倍,但其可靠性的提升是依赖于巧妙的系统设计和硬件冗余来实现的, 可扩展能力比较弱;并且它的故障处理机制对用户不透明,用户必须有针对性的写应用程 序才能容错,即需要修改应用程序来获得容错特性。所以t 觚d c m 的设计方法很难适用于 中大规模的c c 艄n 订a 计算机,但它的模块化、f a i l f 瓠t 和单点故障的故障处理思想对超 级计算机系统的容错设计很有启示意义。i b m s 3 6 0 和从它发展出来的z s e r i e s r l 系列计算机 与n o n s t o p 的应用方向都是高可用性的商业应用,因此,其容错技术与n o n s t o p 有很多相 似之处。 检测点【捌方法也是当前较流行的一种容错方法,不需要硬件支持是其最大的优点。检 测点方法也是超级计算机常常使用的方法之一。但检测点方法对超级计算机有较多不足: 一是的系统保存检测点时的同步算法比较复杂,尤其对于大规模的超级计算机系统同步时 开销较大;二是保存检测点的数据需要很大的存储空间;三是系统在故障点恢复时,需要 回溯到一个检测点,系统的部分有效运行也被忽略而重新执行;四是系统的正常运行会被 周期性的检测点所打断,影响系统的无故障运行效率。通常检测点方法是和其他容错手段 第2 页 国防科学技术大学研究生院学位论文 同时使用。 含错技术是首先应用于分布式系统当中的一种容错技术,s g i 公司和s t a l l f o r d 大学分 别在s g io2 0 0 0 系统和f l a s h 两个c c 小m m a 的系统上进行了应用,取得了比较好的效 果。虽然存在加大通信延迟,系统需要恢复时间等缺点。但其良好的可扩展性和高可用性, 还是为c c n u m a 计算机故障处理提供了一个新的解决方案。 1 3课题研究内容与成果 本文相对于一般含错以结点为单位的节点级含错,提出了模块级含错的概念,设计了 一种针对c c 羽7 m a 计算机结点内部硬件模块故障的含错处理方法。本文的方法是在超级 计算机r a s 系统的支持下,把结点内部各硬件模块的故障限制在其上所运行的进程占用的 资源范围内,并在故障发生后运行恢复算法消除故障对系统其他部分的影响,使系统的无 故障结点恢复到一个可正常运行的状态。该方法对系统的性能影响很小,所需增加的成本 开销也较少。具体的研究内容和成果有以下几个方面: 1 、 分析了故障特征并进行了故障类型的划分; 2 、设计了限制故障传播的含错区域; 3 、重点分析了放障对c a c h e 一致性所造成的影响,并确定出可恢复的故障类型: 4 、设计了限制故障传播的方法; 5 、设计了一个系统故障恢复的算法; 6 、移植s i m o s 到l i l l l l ) 【平台; 7 、实现了含错处理和恢复算法的核心部分,并在s i m o s 虚拟机上进行了验证,最后 分析了本文方案的可扩展性; 8 、以第一作者在第九届计算机工程与工艺全国学术年会发表论文一篇( 见本文 附录) 。 1 4文章结构 全文共分七章,各章组织如下: 第一章给出了课题研究的概要情况,包括课题的研究背景、研究内容与成果; 第二章对本文研究的相关基础概念进行了简单介绍,包括c c 羽 讧a 体系结构, c c - n u m a 结点内部结构,r a s 系统的概念及特征,含错系统的概念; 第三章具体研究了c c - n u m a 体系结构中结点内部的故障模型,设计了含错区域,从 硬件、c a c h e 一致性和操作系统级三个层次分析了故障对系统的影响,给出了限制故障传 播的方法。并重点对故障造成的c a c h e 不一致的问题进行了详细研究: 第四章研究并设计了故障检测机制和故障恢复算法; 第五章介绍了实现方案和验证方法,给出了本文的试验结果; 第3 页 国防科学技术大学研究生院学位论文 最后一章给出本文的结论,并对下一步的工作进行了展望。 第4 页 国防科学技术大学研究生院学位论文 第二章c c n u m a 体系结构及含错系统研究 本章首先研究了c c 小u m a 体系结构及结点内部的结构,研究了容错及含错的概念, 分析了含错系统的特征,并迸一步探讨了如何将含错技术用于c c n i 耵订a 计算机系统上。 2 1c c - n u m a 体系结构 c c wi m a 计算机是一种共享主存计算机。多处理器系统首先要解决的就是数据一致 性的问题。对多个处理器维护一致性的协议称为c a c h e 致性协议( c a c h c c o h e r e n t p r o t o c 0 1 ) 。实现c a c h e 一致性协议的关键是跟踪共享数据块的状态。目前有两类协议,它 们采用了不同的共享数据状态跟踪技术: ( 1 ) 目录协议( d i r e c t o r y b a s e d ) :物理存储器中共享数据块的状态及相关信息均被 保存在一个称为目录的地方; ( 2 ) 监听协议( s n o o p i n g b a s e d ) :每个c a c h e 除了包含物理存储器中块的数据拷贝 之外,也保存着各个块的共享状态信息。c a c h e 通常连接在存储器的总线上,各个c a c h e 控制器通过监听总线来判断它们是否有总线上请求的数据块。 各种系统通常根据要求使用不同的c a c h e 一致性协议。通常中小规模的系统使用总线 监听协议:大规模的采用目录协议;也有的系统在结点内部的多个处理器间采用总线监听 协议,在结点间采用目录协议。 c c n u m a 中的n i n d a ( n o n u n i f o n nm e m i 唧a c c e s st i m e ) 是非均匀存储访问模型的 简称。在分布式共享主存的系统中,处理器访问本地结点和远程结点的时间是不一致的, 所以被称为非均匀存储访问。 典型的c c n u m a 的超级计算机如s g io r i g i n2 0 0 0 嘲【9 】,本文研究也基于这个系统的 原型。该系统使用了基于目录的c a c h e 一致性协议,采用全向量的目录表示。0 2 0 0 0 系统 由许多处理器结点组成,这些结点由基于交换的互连网络连接在一起。每个处理结点包括 两个m i p sr 1 0 0 0 处理器,机器主存储器的一部分,一个i 0 接口,和一个称为h u b 的c a c h e 一致性控制器,该部件实现一致性协议控制功能。h u b 集成在存储器系统中,它可以看见 该结点内处理器产生的所有二级高速缓存不命中;h u b 实现了网络接口,能够从网络接收 进来消息;能从本地处理器高速缓存取得数据( 参见图2 1 ) 。 第5 页 国防科学技术大学研究生院学位论文 l 一 酝 l j 路由器l ii l 回 太 i 图2 1c c n u m a 计算机体系结构 在协议级,o r i g i i l 2 0 0 0 在查找宿主目录的同时,并行地进行应答转发和推测性存储操 作;还采用了忙状态和n a c k 解决竞争,提供对一个单元操作的串行化,并提供了死锁和 活锁的解决方法。处理因回写所引起的竞争,可以不依赖于网络事物之问的任何次序,甚 至可以不依赖于相同端点对之间事物点对点的次序。 为了简化模型,本文假设每个结点仅有一个处理器的情况,并且由于i ,o 设备故障处 理的特殊性,本文对i ,0 接口及i o 设备不做讨论,并假设结点是以二维网格的拓扑结构 设置的,当然本文研究的方法不仅仅限于这种拓扑结构,其他结构的网络也可以正常的使 用。对于包含路由器、互连线路和结点的含错处理可以在结点级含错处理中进行含错处理, s t a n d f o r d 在f l a s h 超机计算机中已经有过相关研究【16 】【1 8 l 嘲。 2 2结点内部结构 结点控制器h u b 【2 4 】是一个结点的核心部件,必须具有实现一致性协议的某些基本能力。 它必须能够看到所有的高速缓存不命中、同步事件和非高速缓存操作;在继续处理其他发 出的请求和进入的事物的同时,跟踪未决的请求;保证接收来自网络的响应;作废高速缓 存块;以及获取数据对高速缓存的查询( i n t e r v e n t i o n ) 操作。它还必须协调来自不同部 件流过它的所有不同类型事务的动作和相互依赖性,并且实现必要的通路和控制。 h u b 划分为四个主要的接口模块:处理器接口p i ,存储器,目录接口m l ,路由器接口 r i 和i 0 接口i i 。每个接口用于连接它所对应类型的外部实体,接口间通过芯片内的交叉 开关相互通信。每个接口分成几个主要的结构,包括用来对发往接收其他接口消息进行缓 冲的f i f o 队列。p i 、m i 、r j 、i i 各个模块间的消息交换都先发送到f i f 0 ,然后由交叉开 关仲裁后发送到对应模块的f i f o 中,然后再通过这个模块处理发送到对应的主存、处理 器或者路由器。( 参见图2 2 ) 如前所述,由于i ,o 的故障处理的特殊性,本文为简化模型故未作讨论。 第6 页 国防科学技术大学研究生院学位论文 2 2 1 处理器接口p i 图2 2 结点组成及h u b 的基本结构 在接口中,p i 的控制机制最复杂,因为它必须跟踪未决的协议请求和进入的响应。p i 一侧与处理器的存储器总线连接,另一侧和输入输出的f i f o 队列连接,这些队列将它与 另一端的各个h u b 接口相连接。通过提供独立的逻辑和分级缓冲,每个物理的f i f o 逻辑 上被分成独立的请求和响应“虚拟f i f o ”。此外,p i 本身还包含三对一致性控制缓冲器, 它们被用于跟踪未决的事务,控制消息流通过p i ,实现协议所指定的消息问的相互作用。 但是,这些缓冲器并不保存消息本身。有两个读请求缓冲器( r e a d r 棚u e s tb u 疏r ,砒m ) , 跟踪来自每个处理器的未决读请求;有两个写请求缓冲器( w r i t c r e q u e s t b u 腩r ,w r b ) , 跟踪未决的写请求;还有两个查询请求缓冲器( i n t e r v e n t i o n _ r e q u c s tb u 恐r ,i r b ) ,跟踪进 入的作废和查询请求。对这三组缓冲器的访问是通过单条总线,因此所有的消息需要竞争 访问它们。 p i 屏蔽了处理器的操作。如果处理器( 或高速缓存) 对进入的查询提供数据作为应答, 正是p i 的输出f i f o 把应答扩展成协议要求的两个响应,一个是给宿主结点的共享的回写 修正消息,另一个是给请求者的响应。当以任一方向通过p i 的请求被赋予一个请求号后, 响应也携带这些请求号。但是,处理器本身并不知道请求号 p i 的任务是,当它把一个进 入的请求( 查询或作废) 传递给处理器时,它将保证将处理器的响应与未决的查询,作废匹 配,而处理器无需与请求号打交道。 2 2 2 存储器,日录接口m i 在m i 和h u b 的交叉开关之间也有f i f o 。从h u b 的交叉开关到m i 的f i f 0 将消息头 第7 页 国防科学技术大学研究生院学位论文 与数据分离,以便为当前消息服务时,目录可以检查下一个消息的头;这允许以存储器峰 值带宽对写操作流水执行。m i 还含有一个目录接口,一个处理器接口和一个控制器。目录 接口包含决定所发生的协议动作的逻辑和表,因此实现了一致性协议。它还包含生成输出 消息头的逻辑,而存储器接口包含生成输出消息数据的逻辑。存储器和目录r a m 都有各 自的地址和数据总线。一些消息像到达宿主结点的修正消息可能不访问存储器而只访问目 录。 接收到一个读请求,宿主推测性地向存储器发出读操作,同时开始目录操作。在存储 器数据读出之前的一个时钟周期获得目录状态,控制器用它以及消息类型和发出者来查找 目录协议表。这个硬接线实现的衷指出控制器应发生的动作和应发送的消息。目录块把后 一个信息发送给存储器接口,在那里装配消息头,并将它和从存储器返回的数据一起插入 输出f i f o 中。目录查找本身是一个读修改写操作。为此,m i 提供对存储器块部分写的 支持,并用一个只有一项的合并缓冲器保存从存储器读出的字节,直到它们被写回。 2 2 3 网络接口n i n i 提供h u b 的交叉开关和该结点的网络路由器的接口。路由器和h u b 内部使用不同 的数据传输格式、不同的协议和不同的速率,因此n i 的一个主要功能就是在两者之间进 行转换。面向路由器这一侧,n i 实现了一个流控机制,以避免网络拥塞。n i 和网络之间 的f i f o 也实现分开的虚拟的请求和响应f i f o ,因此实现了独立的虚拟网络。输出f i f o 包含一个作废目的结点地址的生成器,它利用作废结点的位向量,并生成发给那些结点的 一个消息;输出f i f o 还包含一个路由器表和虚拟通道选择逻辑,路由器根据源结点和目 的结点预先决定路由。 2 3r a s 系统 超级计算机中的r a s ( r e l i a b i l i 吼a v a i l 如i l i t y a j l ds e r v i c e a b i l i t y ) 是指可靠性、可用性 和可维护性。r a s 系统一般用作监视系统运行的环境状态,确保系统运行环境的正常;当 系统运行环境发生异常时,对系统进行安全保护;同时可以用作系统调试、故障诊断和系 统维护。r a s 系统在结点内部的实现是基于超大规模集成电路的可测试性设计。 集成电路测试和设计技术是集成电路的主要核心技术,而可测试性设计是集成电路测 试和设计这两大核心技术的复合技术或边缘技术。它主要包括集成电路可测性方法和理 论、边界扫描、内建自测试等可测性技术。就可测试性设计而言,有扫描测试、边界扫描 测试、内建自测试( b u i l t i n s e l f 托g t ,b i s t ) 和测试点插入等方法。相对于其他方法边界扫 描测试有三大优点【4 0 1 :一是方便芯片的敌障定位,迅速准确地测试两个芯片管脚的连接是 否可靠,提高测试检验效率;二是具有j t a g ( j o i n tt e s t a c t i o n g r o u p ) 接口的芯片,内置 一些预定义的好的功能,通过边界扫描通道来使芯片处于某个特定的功能模式,以提高系 第8 页 国防科学技术大学研究生院学位论文 统控制的灵活性和方便系统设计。三是测试信号占用的引脚少。现在,所有复杂的i c 芯 片几乎都具有j t a g 控制接口,j 1 a g 控制逻辑简单方便,易于实现。当然其他方法也可 以使用,本文以j t a g 的边界扫描为主进行介绍。 通过j t a g 口的边界扫描,可以确认错误的原因,处理器、主存这些结点的关键部件 通常都有j t a g 口。但目前i e 髓11 4 9 标准的j 1 a g 口的扫描的速度是非常慢的,尤其对于 最新的的超级计算机结点的主存通常在几个g b 的规模,扫描的周期会非常之长。h u b 通 常都是全定制独立设计的部件,在实现中可以根据监测需要进行专门设计;在结点外部通 过嵌入式系统与h u b 的监测接口通信,各个嵌入式系统通过网络进行互连,组成了一个并 行于主机系统的辅助系统( 参见图2 3 ) 。 图2 3r a s 系统逻辑图 超级计算机的设计中广泛使用了i 认s 系统来提高系统的可靠性指标。比如i b m 最新 的 b l u e g e n e ,l ”州1 2 6 j 超级计算机通过r a s 系统大大提高了系统的可靠性。当中使用了 e c c 、c r c 、奇偶校验等校验方式,对电源、冷却等外围设备采用了冗余手段,采用硬件 迸行故障隔离,从多个层面提高了系统的r a s 性能。通过r a s 系统的使用使整机系统每 l o 天的平均故障率从5 3 下降到0 6 3 。 r a s 系统在硬件故障处理中有其先天的优势,它可以收集到系统中各种硬件的状态, 比如c p u 寄存器状态、主存及h u b 中各个接口的数据。并且结合故障诊断和操作系统中 的故障信息,可以定位故障点。r a s 系统在含错处理中有三个优点:一可能先于主机系统 发现故障,可以更早的开始故障处理,减少故障传播的机会,二能够准确的定位故障点; 三具有独立的通信网络,在系统网络故障时可以作为备份网络进行数据传递,为系统恢复 提供辅助功能。 本文的应用要求r a s 系统至少具有以下几点能力:一能够诊断出结点内部的故障位 置。可以区分出h u b 中故障的不同位置,及其处理器和主存点的故障。二具有和主机系统 第9 页 国防科学技术大学研究生院学位论文 交互的能力,能够以中断的形式向操作系统发出消息,操作系统可以向i 认s 系统发送消息。 三r a s 系统具有独立的通信网络。 2 4 1 容错和含错 2 4 含错系统研究 为了更详细的了解含错系统,下面首先介绍下容错及含错的相关概念。 1 失效、故障和错误 研究容错技术的目的,在于消除故障所产生的停机后果。人们常说的“出错”,严格 的讲还不够准确。所谓“错”实际上是故障、失效和错误的概念统称。对于研究容错技术 来讲,需要严格区分三者的概念例。 失效( f a i l l l r e ) 是指硬件物理特性异变。例如,集成电路内部硅片表面的龟裂、连线 短路或断电、漏电、电路输出的电平由正常变到非正常值等。 故障( f a u l t ) 是指硬件或软件的错误状态,是失效在逻辑上的等效,如一个电路的逻 辑值由“1 ”状态错误发生变化为“o ”状态,软件判断的“是”错误变成“否”等,都被 称为故障。一个故障可以用类、值、影响范围和发生时间来描述。 错误( e r i d r ) 是指程序或数据结构中的故障表现形式,是故障和失效所造成的后果, 如运算结果由正变成负,或是一个完整的值,都称为错误。 2 容错技术内容 容错( f a u l t - t o l e r a i l c e ) 是故障容忍的简称。客错是利用资源的冗余来实现的,其确切 定义是:如果一个系统在出现一定的运行性故障时,能够依赖系统内驻的能力仍保持系统 连续正确地执行其程序和输入输出功能。容错计算机系统是指能在发生硬件故障或存在软 件错误的情况下仍能继续正确完成指定任务的计算机系统。设计与分析容错计算机系统的 各种技术称为容错技术。有关计算机容错技术的各种理论及实际的研究已发展成计算机科 学技术的一个重要分支,称为容错计算( f a u l t - t o l e m n t c d m p u t i n g ) 。 容错的基本思想是在系统体系结构上精心设计,在系统运行中发生故障时,利用外加 资源的冗余技术,屏蔽故障;冗余技术目前主要有硬件冗余、时间冗余、信息冗余和软件 冗余,以及各种冗余技术的综合应用。 一个容错策略可能包括以下一项或者几项内容口9 】: 屏蔽:动态的纠正产生的错误; 检测:错误( 故障征兆) 检测; 限制( c 0 n t a i l l i i l e n t ) :阻止错误传播到定义的区域以外。也称为故障包含 ( f a u l t c o n t a i 砌e n t ) ,简称含错; 诊断:对应于检测错误的故障模块的标示; 维修重新配置:清除或者替换一个故障构件,或者对故障采用旁路机制; 第1 0 页 国防科学技术大学研究生院学位论文 恢复:修复系统回到可接受的继续运行状态。 现在常采用的容错策略中的屏蔽技术,如c r c 、e c c 等校验技术、双机备份系统、三 模表决等。但这些屏蔽技术都存在一定的不足,如部分算法比较复杂,增加了系统的负担, 硬件冗余增加了系统的成本。而且对于一个规模比较庞大的系统,即使采用了很多屏蔽技 术,故障也是无法避免的。 3 含错( f a u i t _ c o n t a i n m e n t ) 为了更好的描述含错,本文借鉴参考文献【1 8 】的做法,重新定义故障、含错和容错这三 个概念。 故障:导致系统的不正确执行的硬件或者软件事件。 含错:限制系统故障影响,理想情况下,含错系统中故障对应用程序影响的概率正比 于应用程序使用的资源数量,而不是整个系统的资源数量。 容错:系统屏蔽故障对系统的影响,使得应用程序不会出现错误;通常使用数据冗余 或者检测点的办法。 含错通常是把一个大系统划分成许多无关的小的含错区域,每一个区域发生故障时, 通过阻止错误数据在区域间传播和减少区域间共享资源的使用来把故障限制在这个区域 之内,而保证其他区域不会受到任何影响。虽然含错技术可以应用在所有的情况,但更经 常地是用于较大的系统,每个含错区域包含独立的处理器、主存、通信链路和电源。 含错区域间在故障时相互间完全没有影响是很难实现的,通常对于局部出现故障的系 统如果想继续使用,在对故障隔离后,必须对整个系统进行重新配置,然后系统通过恢复 进入到一种降级后的运行状态。因此一个完整的含错系统必须包括故障限制和故障恢复两 个部分才能使系统恢复刭可运行的状态。 在此相对于含错这个概念对含错系统给出一个完整的定义:系统通过某种方式把发生 的故障限制在一定的区域内,当故障发生后,通过恢复使得系统回到一种稳定状态,并使 得系统可以在无故障区域继续运行。 对于其定义可以这样理解:第一,对于一个小系统,使用含错是不可能的,像嵌入式 系统或者p c 机这样的系统,其内部的任何故障都会造成整个系统的崩溃;第二,必须采 用某种策略来把发生的故障局限在系统的某一部分。 含错作为容错的手段之一,是不可能单独使用的,常常结合多种技术手段使用。本文 研究借鉴了多个含错系统设计实例的设计方法。并对这几个实例进行了初步的研究。 2 4 2 含错技术的应用 含错( 蠡m l tc o n t a i 珊e n t ) 技术在各类系统中广泛使用,不仅仅被用于计算机系统,本 文仅仅对含错系统在几种计算机系统的应用进行了研究。 1 含错系统在分布式系统上的应用 在分布式操作系统中常采用的重新配置和恢复策略是在没有发生故障的结点上重新 第儿页 国防科学技术大学研究生院学位论文 分配任务并在结点修复后进行恢复,通常执行这个策略的算法作为分布式的程序在系统的 任务级运行。 e n n a 技术大学在实时的分布式系统中的含错方面进行了研究分析1 2 ”。其所设计的系 统较高的安全性要求实时的分布式系统。首先将系统在体系结构级划分为许多独立的限制 故障区域( f a u l t c o n t a i m e mr c g i o n ,f c r ) ,在一个f c r 中的错误必须被错误检测机制孤 立在f c r 的边界内部,并不能影响任何其他区域的计算状态。 在其研究中,将含错区域f c r 的定义为:可能被一个单一的故障影响共享一个或者多 个普通资源的子系统的集合。划分主要考虑计算硬件、电源、时间资源、时钟同步服务、 物理空间等因素。比如:如果两个子系统依赖于同一个时间资源,像同一个振荡器或者同 一个时钟同步算法,这样这两个子系统应该被认为是相关的,所以应该属于同一个f c r 。 由于这个无关性定义,两个f c r 可以共享同样的设计,比如同样的软件。为防止故障引起 的错误传播,e i l i l a 大学的分布式系统使用消息传递机制,通过对f c r 之间传递的消息检 查来确保故障无法传播。 针对其实时性的要求和可能发生的故障的特征对系统实现的各个方面提出了要求:一 是故障必须在体系结构级被孤立:二是由于硬件实现的错误检测和诊断算法相对软件实现 更快,所以尽量使用硬件来减少错误发生和错误被检测到之间的时间延迟;三是减少应用 软件的复杂性;四是对于算法的实现尽量采用硬件。 2 含错系统在c c n u m a 体系机构上的应用 s t a i 渤r d 大学在c c 小i u m a 体系结构的f l a s h 系统【16 】【1 3 】【2 习中实现了结点级含错,它 以一个结点或者多个结点组成一个基本的含错单元,由含错单元构成整个系统。 相对分布式系统,c c n u m a 计算机由于是共享主存,由于主存这个关键资源的共享, 使错误很容易在整个系统内传播从而导致整个系统的崩溃。并且分布式系统中使用

温馨提示

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

最新文档

评论

0/150

提交评论