一种基于节点失效关联性的检查点放置方法技术

技术编号:14602648 阅读:73 留言:0更新日期:2017-02-09 09:37
本发明专利技术公开了一种基于节点失效关联性的检查点放置方法,首先建立系统浪费时间表达函数,再获取系统中的失效数据,并利用节点之间所有失效事件间的关联度获取任意两个节点之间的关联度,按照节点之间的关联度与预先设定阈值之间的关系将节点进行分组得到节点关联组;然后将节点关联组内各节点的事件按照事件的关联度进行事件分组得到关联组事件,并进一步获取系统事件;最后根据失效事件时间间隔的概率分布计算检查点的周期。本发明专利技术方法通过分析节点之间失效的关联性来预测失效事件发生的时间,并通过失效事件驱动的检查点策略来减少分布式系统的浪费时间。

【技术实现步骤摘要】

本专利技术属于计算机分布计算,涉及分布式系统容错计算和检查点技术,尤其涉及一种基于节点失效关联性的检查点放置方法
技术介绍
为了满足大规模问题的科学计算或者仿真所需要的计算能力的需求,近十年来,计算机系统向大规模并行平台发展,随着分布式系统的规模变大以及分布式系统的组件之间的交互变复杂,分布式系统的失效频率大幅提高。大规模的科学计算或者仿真,特别在大数据时代,人们需要从海量的数据中挖掘信息,挖掘的算法计算可能需要在计算平台上持续几天甚至几个月的时间。频繁的失效导致之前计算的结果的丢失,需要重新进行计算,使得需要长时间运行在这些高性能计算平台上运行的任务的完成时间大大高于任务原本所需的时间。基于以上事实,必须提出有效的策略使得分布式平台能够安全、可靠、有效地完成运行的任务。检查点(Checkpoint)技术是系统容错应用最为广泛的解决方案,检查点技术通过将应用程序运行的中间状态保存到可靠存储介质中,当系统发生失效时,重新载入最近存储的中间状态,从而达到减小任务完成时间的目的。容错的根本目的是让应用程序能够容忍系统发生的失效并且把任务的完成时间最小化。在一个软件系统中,如果设置检查点个数过多,由于设置一个检查点会产生额外代价,导致系统额外代价的显著增加;如果设置检查点个数过少,则当系统发生失效时,系统任务重复执行的额外代价会显著增加。由于一般情况下并不知道程序在无失效条件下需要运行多长时间,如何合理设置检查点以及在何时何处设置检查点长期以来一直是一个有待解决的热点研究问题。现场失效数据记录了系统运行状态的日志,包括系统的异常状态,比如节点发生失效的时间、节点恢复重新加入到系统的时间等等。这些信息通常用于系统回演和失效分析,尚未被非常有效地分析并应用于容错技术中。
技术实现思路
专利技术目的:针对上述现有技术存在的问题和不足,本专利技术提供一种基于节点失效关联性的检查点放置方法,通过分析节点之间失效的关联性,预测失效事件发生的时间,并通过失效事件驱动的检查点策略来达到减少分布式系统的浪费时间的效果。技术方案:为实现上述专利技术目的,本专利技术中基于节点失效关联性的检查点放置方法,包括以下步骤:(1)建立系统浪费时间表达函数;(2)获取系统中的失效数据,所述失效数据至少包括:分布式系统中节点唯一编号、失效事件的开始时间和失效事件的结束时间;(3)利用节点之间所有失效事件间的关联度获取任意两个节点之间的关联度,按照节点之间的关联度与预先设定阈值之间的关系将节点进行分组得到节点关联组;(4)将节点关联组内各节点的事件按照事件的关联度进行事件分组得到关联组事件,将该节点关联组的各关联组事件按时间先后进行排列形成系统事件;(5)根据失效事件时间间隔的概率分布计算检查点的周期。其中,所述系统浪费时间表达函数为:W=ΣTgcp+ΣTr式中,W表示由于容错代价以及系统失效所带来的额外开销;Tgcp表示执行检查点的开销;Tr表示从探测到失效发生到修复失效的时间间隔。进一步地,若失效事件时间间隔服从指数分布,则获取到的检查点的周期的表达式为:Tactive=KTgcp2+TgcpTr+MTgcp]]>式中,Tactive是需要求解的检查点周期;K为回退因子,用于表示系统回退代价;M是指数分布中的平均失效间隔时间。其中,所述失效事件之间关联度的表达式为:CT(dim,jn)=1-32(dim,jnθ)+12(dim,jnθ)3,0≤dim,jn≤θ0,dim,jn>θ,θ>0]]>式中,dim,jn表示节点i上第j个失效事件与节点m上第n个失效事件的开始时间间隔的绝对值;θ是系统当前测量出的平均失效间隔时间。进一步地,步骤(3)中两个节点之间的关联度为该两个节点的任意两个失效事件之间关联度之和,当两个节点之间的关联度大于预先设定阈值,则两个节点属于一个节点关联组。有益效果:本专利技术中基于节点失效关联性的检查点放置方法,通过利用失效事件的关联性统计获取检查点的周期,优化全局一致检查点的个数,降低检查点本身的时间代价;优化每次检查点放置位置,降低每次从检查点恢复运行时重新运行的时间代价;随着系统积累的失效事件信息增多,可定期通过本专利技术分析添加的新信息,以得到更合理的节点分组,进而产生更合理的动态检查点放置策略,减小任务完成时间。附图说明图1为同步全局一致检查点的示意图;图2为系统中单独节点的行为模型;图3为获取系统节点关联性矩阵的实现过程示意图;图4为节点分组的实现过程示意图。具体实施方式下面结合附图和具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。本专利技术中基于节点失效关联性的检查点放置方法(CPNFC,ChekpointPlacementbasedonNodeFailureCorrelation),在节点发生失效前,执行一次检查点过程,可以有效的屏蔽关联性失效。节点之间的关联性是指:如果在节点P1上发生了一个失效事件,那么与节点P1相关联的节点很快也会发生失效。下面首先介绍CPNFC方法的模型,CPNFC方法基于以下假设:(1)分布式系统已经存在一定数量的标准化的失效数据记录;(2)在系统中某个应用或者节点发生失效之后,经过排查程序漏洞或者修复硬件失效后可以解决该失效,即应用程序重新运行到此处时不会发生同一个失效,程序可继续运行;(3)系统通信链路符合先进先出原则;(4)在恢复运行阶段不发生失效。如图1所示,由于系统中同时运行若干独立运行的进程,进程之间通过消息传递保持着交互关系,由单个进程形成的本地状态简单相叠加可能导致不正确全局状态,如出现孤儿消息或者丢失消息,因此需要构造出全局一致状态,形成正确的检查点。为了方便叙述,不失一般性假设每个节点上只运行一个单独的应用进程。CPNFC方法采用如下符号来描述系统:Nodes={P0,P1,…PN本文档来自技高网
...

【技术保护点】
一种基于节点失效关联性的检查点放置方法,应用于分布式系统中,包括以下步骤:(1)建立系统浪费时间表达函数;(2)获取系统中的失效数据,所述失效数据至少包括:分布式系统中节点唯一编号、失效事件的开始时间和失效事件的结束时间;(3)利用节点之间所有失效事件间的关联度获取任意两个节点之间的关联度,按照节点之间的关联度与预先设定阈值之间的关系将节点进行分组得到节点关联组;(4)将节点关联组内各节点的事件按照事件的关联度进行事件分组得到关联组事件,将该节点关联组的各关联组事件按时间先后进行排列形成系统事件;(5)根据失效事件时间间隔的概率分布计算检查点的周期。

【技术特征摘要】
1.一种基于节点失效关联性的检查点放置方法,应用于分布式系统中,包括以下步骤:(1)建立系统浪费时间表达函数;(2)获取系统中的失效数据,所述失效数据至少包括:分布式系统中节点唯一编号、失效事件的开始时间和失效事件的结束时间;(3)利用节点之间所有失效事件间的关联度获取任意两个节点之间的关联度,按照节点之间的关联度与预先设定阈值之间的关系将节点进行分组得到节点关联组;(4)将节点关联组内各节点的事件按照事件的关联度进行事件分组得到关联组事件,将该节点关联组的各关联组事件按时间先后进行排列形成系统事件;(5)根据失效事件时间间隔的概率分布计算检查点的周期。2.根据权利要求1所述的基于节点失效关联性的检查点放置方法,其特征在于,所述系统浪费时间表达函数为:W=ΣTgcp+∑Tr式中,W表示由于容错代价以及系统失效所带来的额外开销;Tgcp表示执行检查点的开销;Tr表示从探测到失效发生到修复失效的时间间隔。3.根据权利要求2所述的基于节点失效关联性的检查点放置方法,其特征在于,若失效事件时...

【专利技术属性】
技术研发人员:黄志勇汪芸
申请(专利权)人:南京臻融软件科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1