基于任务备份的并行cfd计算容错方法

文档序号:9865388阅读:300来源:国知局
基于任务备份的并行cfd计算容错方法
【技术领域】
[0001]本发明涉及CFD大规模数值模拟计算技术领域,具体涉及基于任务备份的并行CFD计算容错方法。
【背景技术】
[0002]在面向航空航天飞行器和高速列车等高价值目标的优化设计过程中,空气动力学复杂流动研究提升了对高性能数值模拟的利用水平,现今阶段提出了在亿亿次量级的高性能计算机系统上实现十万核量级大规模数值模拟的计算需求。而在这些以计算流体力学(CFD)为主导的高性能计算领域,不仅要满足实时性需求,还要求在计算机的软硬件出现故障时保证计算的正确进行,否则任务计算失败将会导致计算资源的巨大浪费,因此并行CFD数值模拟必须具备鲁棒性、原子操作性等多方面的可靠性保障。
[0003]目前大部分高性能计算系统采用集群的方式扩展并行计算能力,在计算资源规模扩展的同时带来了可靠性问题,这使得利用已有的硬件资源实现高质量的软件容错功能成为重要的亟待解决问题。

【发明内容】

[0004]本发明的要解决的技术问题是提供一种解决并行CFD计算容错问题为目标,提高系统容错能力,降低错误检测开销的方法。
[0005]为了解决上述技术问题,本发明的技术方案为,一种基于任务备份的并行CFD计算容错方法,包括以下步骤:
[0006]步骤一、初始化
[0007]在CFD软件中建立两个检查点A与B,分别存贮tl迭代时刻与t2迭代时刻的计算恢見Ih息(tl幸t2);
[0008]在CFD软件中建立程序计数器,记录检查点A与B的使用情况;
[0009]步骤二、并行CFD计算容错方法的的原子操作如下:
[0010]操作1、CFD计算流程开始,进而执行操作2 ;
[0011]操作2、程序计数器清零,进而执行操作3 ;
[0012]操作3、向CFD软件写入检查点A中所记录的计算恢复信息,进而执行操作4 ;
[0013]操作4、判断检查点A写入是否成功,若成功则转向操作5,若失败转向操作6 ;
[0014]操作5、判断CFD计算流程是否结束,若是转向操作15,若否转向操作9 ;
[0015]操作6、检查程序计数器的值是否为零,若是转向操作3,若否转向操作7 ;
[0016]操作7、从检查点B读取其所记录的计算恢复信息,进而执行操作8 ;
[0017]操作8、继续执行CFD计算流程,完成后转向操作3 ;
[0018]操作9、程序计数器加1,进而执行操作10 ;
[0019]操作10、继续执行CFD计算流程,进而执行操作11 ;
[0020]操作11、向CFD软件写入检查点B中所记录的计算恢复信息,进而执行操作12 ;
[0021]操作12、判断检查点B写入是否成功,若成功转向5,若失败转向操作13 ;
[0022]操作13、从检查点A读取其所记录的计算恢复信息,进而执行操作14 ;
[0023]操作14、继续执行CFD计算流程,完成后转向操作10 ;
[0024]操作15、CFD计算流程计算结束。
[0025]所述步骤一中,计算恢复信息包括:网格分区数信息、网格单元流场计算信息、迭代步数信息。
[0026]所述操作5中,判断计算流程是否结束是通过判断CFD计算步数是否达到所述迭代步数信息的要求,如果达到达到则结束,否则未结束。
[0027]所述操作4和操作11中判断是否写入成功,是通过在CFD软件中建立检查点信息校验机制,通过全文件遍历的方式测试写入检查点信息的可用性,进而确认其是否写入成功。
[0028]在以所述全文件遍历的方式测试写入检查点信息的可用性过程中,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项。
[0029]本发明的有益效果:通过注入程序故障信息,发现该方法可有效解决并行CFD计算容错问题,提高系统容错能力,降低错误检测开销。
【附图说明】
[0030]图1为本发明基于任务备份的并行CFD计算容错方法的流程图。
【具体实施方式】
[0031]以下结合附图和实施例对本发明做进一步描述。
[0032]本发明的一种基于任务备份的并行CFD计算容错方法,包括以下步骤:
[0033]步骤一、初始化
[0034]在CFD软件中建立两个检查点A与B,分别存贮tl迭代时刻与t2迭代时刻的计算恢复信息(tl Φ t2),所述计算恢复信息包括:网格分区数信息、网格单元流场计算信息、迭代步数信息;
[0035]在CFD软件中建立程序计数器,记录检查点A与B的使用情况;若程序计数器的值不为0,则认为程序在执行过程中有可用的软件恢复点;
[0036]步骤二、并行CFD计算容错方法的的原子操作如下:
[0037]操作1、CFD计算流程开始,进而执行操作2 ;
[0038]操作2、程序计数器清零,进而执行操作3 ;
[0039]操作3、向CFD软件写入检查点A中所记录的计算恢复信息,进而执行操作4 ;
[0040]操作4、判断检查点A写入是否成功,若成功则转向操作5,若失败转向操作6 ;
[0041]操作5、判断CFD计算流程是否结束,若是转向操作15,若否转向操作9 ;
[0042]操作6、检查程序计数器的值是否为零,若是转向操作3,若否转向操作7 ;
[0043]操作7、从检查点B读取其所记录的计算恢复信息,进而执行操作8 ;
[0044]操作8、继续执行CFD计算流程,完成后转向操作3 ;
[0045]操作9、程序计数器加1,进而执行操作10 ;
[0046]操作10、继续执行CFD计算流程,进而执行操作11 ;
[0047]操作11、向CFD软件写入检查点B中所记录的计算恢复信息,进而执行操作12 ;
[0048]操作12、判断检查点B写入是否成功,若成功转向5,若失败转向操作13 ;
[0049]操作13、从检查点A读取其所记录的计算恢复信息,进而执行操作14 ;
[0050]操作14、继续执行CFD计算流程,完成后转向操作10 ;
[0051]操作15、CFD计算流程计算结束。
[0052]所述操作5中,判断计算流程是否结束是通过判断CFD计算步数是否达到所述迭代步数信息的要求,如果达到达到则结束,否则未结束。
[0053]步骤三、所述操作4和操作11中判断是否写入成功,是通过在CFD软件中建立检查点信息校验机制,通过全文件遍历的方式测试检查点的可用性,进而确认其是否写入成功;
[0054]具体地,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项;
[0055]本发明在CFD软件中建立检查点A与B的原子互斥写入操作,即在检查点A写入操作失败时,禁止检查点B的写入操作,反之亦然,保证程序在崩溃时仍然具备至少一个完整可用的检查恢复点信息。
【主权项】
1.一种基于任务备份的并行CFD计算容错方法,其特征在于:包括以下步骤: 步骤一、初始化 在CFD软件中建立两个检查点A与B,分别存贮tl迭代时刻与t2迭代时刻的计算恢复?η息(tl ^ t2); 在CFD软件中建立程序计数器,记录检查点A与B的使用情况; 步骤二、并行CFD计算容错方法的的原子操作如下: 操作1、CFD计算流程开始,进而执行操作2 ; 操作2、程序计数器清零,进而执行操作3 ; 操作3、向CFD软件写入检查点A中所记录的计算恢复信息,进而执行操作4 ; 操作4、判断检查点A写入是否成功,若成功则转向操作5,若失败转向操作6 ; 操作5、判断CFD计算流程是否结束,若是转向操作15,若否转向操作9 ; 操作6、检查程序计数器的值是否为零,若是转向操作3,若否转向操作7 ; 操作7、从检查点B读取其所记录的计算恢复信息,进而执行操作8 ; 操作8、继续执行CFD计算流程,完成后转向操作3 ; 操作9、程序计数器加1,进而执行操作10 ; 操作10、继续执行CFD计算流程,进而执行操作11 ; 操作11、向CFD软件写入检查点B中所记录的计算恢复信息,进而执行操作12 ; 操作12、判断检查点B写入是否成功,若成功转向5,若失败转向操作13 ; 操作13、从检查点A读取其所记录的计算恢复信息,进而执行操作14 ; 操作14、继续执行CFD计算流程,完成后转向操作10 ; 操作15、CFD计算流程计算结束。2.按照权利要求1所述的基于任务备份的并行CFD计算容错方法,其特征在于:所述步骤一中,计算恢复信息包括:网格分区数信息、网格单元流场计算信息、迭代步数信息。3.按照权利要求1所述的基于任务备份的并行CFD计算容错方法,其特征在于:所述操作5中,判断计算流程是否结束是通过判断CFD计算步数是否达到所述迭代步数信息的要求,如果达到达到则结束,否则未结束。4.按照权利要求1所述的基于任务备份的并行CFD计算容错方法,其特征在于:所述操作4和操作11中判断是否写入成功,是通过在CFD软件中建立检查点信息校验机制,通过全文件遍历的方式测试写入检查点信息的可用性,进而确认其是否写入成功。5.按照权利要求4所述的基于任务备份的并行CFD计算容错方法,其特征在于:在以所述全文件遍历的方式测试写入检查点信息的可用性过程中,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项。
【专利摘要】本发明涉及一种基于任务备份的并行CFD计算容错方法,包括以下步骤:1.在CFD软件中建立两个检查点A与B,分别存贮t1迭代时刻与t2迭代时刻的计算恢复信息;2.进行并行CFD计算容错方法的原子操作,从操作1CFD计算流程开始至CFD计算流程计算结束;从而实现通过注入程序故障信息,发现该方法可有效解决并行CFD计算容错问题,提高系统容错能力,降低错误检测开销。
【IPC分类】G06F11/36
【公开号】CN105630663
【申请号】CN201410601647
【发明人】张星, 闵昌万, 王玲, 禹彩辉, 方洪
【申请人】北京临近空间飞行器系统工程研究所, 中国运载火箭技术研究院
【公开日】2016年6月1日
【申请日】2014年10月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1