一种基于超级计算机的应用级多层检查点的优化方法技术

技术编号:23763923 阅读:49 留言:0更新日期:2020-04-11 18:50
本发明专利技术公开了一种基于超级计算机的应用级多层检查点的优化方法,属于计算机系统结构和高性能计算领域。一种基于超级计算机的应用级多层检查点的优化方法,包括以下步骤:1)替换故障节点2)确定各层检查点放置时间序列;3)对硬件节点以及运行在节点上的进程进行组划分;4)采用故障类型判定算法确定发生在进程组内的故障类型;5)针对故障类型,在进程组内采用相应的恢复策略;6)当到达各层检查点放置时间序列中对应的时间点时,采用相应的检查点策略完成中间状态数据的保存;8)继续运行,若尚未运行结束,返回步骤6),否则结束检查点放置。本发明专利技术克服了现有的多层检查点优化方法依赖于超级计算机的硬件特性,导致其往往不具备通用性的缺点。

An optimization method of application level multi-layer checkpoints based on supercomputer

【技术实现步骤摘要】
一种基于超级计算机的应用级多层检查点的优化方法
本专利技术属于计算机系统结构和高性能计算领域,尤其是一种基于超级计算机的应用级多层检查点的优化方法。
技术介绍
检查点是大规模科学计算程序中最典型的容错技术,其核心思想是将程序的最近运行状态保存至检查点内,在故障发生时通过读取检查点数据使程序恢复至最近运行状态。传统的检查点技术通过定期将中间状态数据保存到全局文件系统中实现容错功能,然而,随着高性能计算机系统规模越来越大,系统能够提供的平均无故障运行时间(meantimebetweenfailure)逐渐缩短,检查点技术面临严峻的性能问题。多层检查点技术根据不同类型故障发生的概率,合理的利用本地存储设备降低程序与全局文件系统交互的频率,从而减少设置检查点的时间开销。然而,现有的多层检查点优化方法依赖于超级计算机的硬件特性(如需要计算节点的本地非易失性存储设备),导致其往往不具备通用性。例如,在一些超级计算机上,没有提供计算节点的本地非易失性存储访问接口,所以无法发挥现有多层检查点框架的相关特性。专利技术内容本专利技术本文档来自技高网...

【技术保护点】
1.一种基于超级计算机的应用级多层检查点的优化方法,其特征在于,包括以下步骤:/n1)探测待分配节点列表,若待分配节点中有节点出现故障,则采用空闲列表中的节点进行替换,替换前后所述节点的顺序不变;/n2)读取检查点配置文件,获取检查点配置文件中三种故障类型发生的概率,确定各层检查点的放置时间序列;/n所述故障类型包括由于软件错误导致被提交任务的运行失败导致的故障、由于单个硬件节点故障导致被提交任务的运行失败导致的故障和由于多个硬件节点故障导致被提交任务的运行失败导致的故障;/n3)根据检查点配置文件中的任务运行信息,采用基于超级计算机体系架构的划分规则对硬件节点及运行在所述节点上的进程进行组划...

【技术特征摘要】
1.一种基于超级计算机的应用级多层检查点的优化方法,其特征在于,包括以下步骤:
1)探测待分配节点列表,若待分配节点中有节点出现故障,则采用空闲列表中的节点进行替换,替换前后所述节点的顺序不变;
2)读取检查点配置文件,获取检查点配置文件中三种故障类型发生的概率,确定各层检查点的放置时间序列;
所述故障类型包括由于软件错误导致被提交任务的运行失败导致的故障、由于单个硬件节点故障导致被提交任务的运行失败导致的故障和由于多个硬件节点故障导致被提交任务的运行失败导致的故障;
3)根据检查点配置文件中的任务运行信息,采用基于超级计算机体系架构的划分规则对硬件节点及运行在所述节点上的进程进行组划分;
所述任务运行信息包括任务并行规模和每个硬件节点上运行的进程数;
4)在进程组内通过一次MPI通信确定组内缺失数据的进程,采用故障类型判定算法确定发生在缺失数据的进程中的故障类型;
5)针对故障类型,在硬件节点组内采用相应的恢复策略,将任务运行状态回滚至最近一次保存的状态;
6)当运行至检查点放置时间序列中对应的时间点时,采用相应的检查点策略完成中间状态数据的保存;
7)若尚未运行至最后时间点,返回步骤6);否则,结束运行。


2.根据权利要求1所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,步骤1)的具体操作为:
定义待分配节点列表为worklist,空闲节点列表为sparelist;
在提交任务之前,采用ping程序对worklist中的所有待分配节点进行检测,若待分配节点无法ping通,则采用sparelist中的节点对故障节点进行替换;
完成所有故障节点的替换后,利用更新后的worklist进行任务提交。


3.根据权利要求1所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,在步骤2)中确定各层检查点的放置时间序列,具体包括以下步骤:
201)定义三种故障类型分别为level、level2、level3,并且发生概率分别对应为:{p1,p2,p3};
202)定义e1为发生level1故障,e2为发生level2故障,e3为发生level3故障,结合{p1,p2,p3),采用如下故障发生时间序列:
...,e3,e1,e1,e1,e2,e1,e1,e1,e2,e1,e1,e1,e3,e1,...
203)定义s1为设置level1故障对应的检查点事件,s2为设置level2故障对应的检查点事件,s3为设置level1对应的检查点事件,对应多层检查点时间序列为:
...,s3,s1,s1,s1,s2,s1,s1,s1,s2,s1,s1,s1,s3,s1,...。


4.根据权利要求1所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,在步骤3)中,对硬件节点进行组划分的规则为:
定义每个硬件节点上运行p个计算进程,在提交slurm脚本时指定-n参数为p,在程序中体现为每个硬件节点上运行p个进程,此时硬件节点组划分演变为将m个计算进程划分在一个通信组中;
对运行在所述节点上的进程进行组划分的规则为:
在硬件节点组中,将运行在硬件...

【专利技术属性】
技术研发人员:张兴军周剑锋董小社李靖波鲁晨欣张楚华
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1