CN105630663A - 基于任务备份的并行cfd计算容错方法 - Google Patents
基于任务备份的并行cfd计算容错方法 Download PDFInfo
- Publication number
- CN105630663A CN105630663A CN201410601647.XA CN201410601647A CN105630663A CN 105630663 A CN105630663 A CN 105630663A CN 201410601647 A CN201410601647 A CN 201410601647A CN 105630663 A CN105630663 A CN 105630663A
- Authority
- CN
- China
- Prior art keywords
- cfd
- checkpoint
- information
- parallel
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims abstract description 58
- 238000011084 recovery Methods 0.000 claims abstract description 17
- 238000001514 detection method Methods 0.000 claims abstract description 6
- 238000012360 testing method Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims 1
- 238000002347 injection Methods 0.000 abstract 1
- 239000007924 injection Substances 0.000 abstract 1
- 238000004088 simulation Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Landscapes
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种基于任务备份的并行CFD计算容错方法,包括以下步骤:1.在CFD软件中建立两个检查点A与B,分别存贮t1迭代时刻与t2迭代时刻的计算恢复信息;2.进行并行CFD计算容错方法的原子操作,从操作1CFD计算流程开始至CFD计算流程计算结束;从而实现通过注入程序故障信息,发现该方法可有效解决并行CFD计算容错问题,提高系统容错能力,降低错误检测开销。
Description
技术领域
本发明涉及CFD大规模数值模拟计算技术领域,具体涉及基于任务备份的并行CFD计算容错方法。
背景技术
在面向航空航天飞行器和高速列车等高价值目标的优化设计过程中,空气动力学复杂流动研究提升了对高性能数值模拟的利用水平,现今阶段提出了在亿亿次量级的高性能计算机系统上实现十万核量级大规模数值模拟的计算需求。而在这些以计算流体力学(CFD)为主导的高性能计算领域,不仅要满足实时性需求,还要求在计算机的软硬件出现故障时保证计算的正确进行,否则任务计算失败将会导致计算资源的巨大浪费,因此并行CFD数值模拟必须具备鲁棒性、原子操作性等多方面的可靠性保障。
目前大部分高性能计算系统采用集群的方式扩展并行计算能力,在计算资源规模扩展的同时带来了可靠性问题,这使得利用已有的硬件资源实现高质量的软件容错功能成为重要的亟待解决问题。
发明内容
本发明的要解决的技术问题是提供一种解决并行CFD计算容错问题为目标,提高系统容错能力,降低错误检测开销的方法。
为了解决上述技术问题,本发明的技术方案为,一种基于任务备份的并行CFD计算容错方法,包括以下步骤:
步骤一、初始化
在CFD软件中建立两个检查点A与B,分别存贮t1迭代时刻与t2迭代时刻的计算恢复信息(t1≠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计算流程计算结束。
所述步骤一中,计算恢复信息包括:网格分区数信息、网格单元流场计算信息、迭代步数信息。
所述操作5中,判断计算流程是否结束是通过判断CFD计算步数是否达到所述迭代步数信息的要求,如果达到达到则结束,否则未结束。
所述操作4和操作11中判断是否写入成功,是通过在CFD软件中建立检查点信息校验机制,通过全文件遍历的方式测试写入检查点信息的可用性,进而确认其是否写入成功。
在以所述全文件遍历的方式测试写入检查点信息的可用性过程中,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项。
本发明的有益效果:通过注入程序故障信息,发现该方法可有效解决并行CFD计算容错问题,提高系统容错能力,降低错误检测开销。
附图说明
图1为本发明基于任务备份的并行CFD计算容错方法的流程图。
具体实施方式
以下结合附图和实施例对本发明做进一步描述。
本发明的一种基于任务备份的并行CFD计算容错方法,包括以下步骤:
步骤一、初始化
在CFD软件中建立两个检查点A与B,分别存贮t1迭代时刻与t2迭代时刻的计算恢复信息(t1≠t2),所述计算恢复信息包括:网格分区数信息、网格单元流场计算信息、迭代步数信息;
在CFD软件中建立程序计数器,记录检查点A与B的使用情况;若程序计数器的值不为0,则认为程序在执行过程中有可用的软件恢复点;
步骤二、并行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计算流程计算结束。
所述操作5中,判断计算流程是否结束是通过判断CFD计算步数是否达到所述迭代步数信息的要求,如果达到达到则结束,否则未结束。
步骤三、所述操作4和操作11中判断是否写入成功,是通过在CFD软件中建立检查点信息校验机制,通过全文件遍历的方式测试检查点的可用性,进而确认其是否写入成功;
具体地,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项;
本发明在CFD软件中建立检查点A与B的原子互斥写入操作,即在检查点A写入操作失败时,禁止检查点B的写入操作,反之亦然,保证程序在崩溃时仍然具备至少一个完整可用的检查恢复点信息。
Claims (5)
1.一种基于任务备份的并行CFD计算容错方法,其特征在于:包括以下步骤:
步骤一、初始化
在CFD软件中建立两个检查点A与B,分别存贮t1迭代时刻与t2迭代时刻的计算恢复信息(t1≠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计算容错方法,其特征在于:在以所述全文件遍历的方式测试写入检查点信息的可用性过程中,若文件在遍历过程中发现损坏,则校验测试不通过;若文件完成遍历检测,则标记该检查点为可用项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410601647.XA CN105630663B (zh) | 2014-10-30 | 2014-10-30 | 基于任务备份的并行cfd计算容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410601647.XA CN105630663B (zh) | 2014-10-30 | 2014-10-30 | 基于任务备份的并行cfd计算容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630663A true CN105630663A (zh) | 2016-06-01 |
CN105630663B CN105630663B (zh) | 2018-08-21 |
Family
ID=56045635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410601647.XA Active CN105630663B (zh) | 2014-10-30 | 2014-10-30 | 基于任务备份的并行cfd计算容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630663B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153616A (zh) * | 2016-12-06 | 2018-06-12 | 北京京存技术有限公司 | 一种存储芯片启动程序检测方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521128A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 面向云平台的软件故障容忍方法 |
US20120303339A1 (en) * | 2011-05-27 | 2012-11-29 | International Business Machines Corporation | Computational fluid dynamics modeling of a bounded domain |
CN103348302A (zh) * | 2010-12-21 | 2013-10-09 | 施耐德电气It公司 | 用于计算机架级的冷却冗余的方法 |
-
2014
- 2014-10-30 CN CN201410601647.XA patent/CN105630663B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103348302A (zh) * | 2010-12-21 | 2013-10-09 | 施耐德电气It公司 | 用于计算机架级的冷却冗余的方法 |
US20120303339A1 (en) * | 2011-05-27 | 2012-11-29 | International Business Machines Corporation | Computational fluid dynamics modeling of a bounded domain |
CN102521128A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 面向云平台的软件故障容忍方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153616A (zh) * | 2016-12-06 | 2018-06-12 | 北京京存技术有限公司 | 一种存储芯片启动程序检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105630663B (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997027B2 (en) | Lightweight checkpoint technique for resilience against soft errors | |
Lantz et al. | Yat: A validation framework for persistent memory software | |
US9535820B2 (en) | Technologies for application validation in persistent memory systems | |
US9823972B2 (en) | Mobile flash storage boot partition and/or logical unit shadowing | |
CN106325773B (zh) | 一种存储系统数据的一致性保障方法、系统及缓存装置 | |
CN104484274B (zh) | 一种基于itp工具的内存轮巡检查功能测试方法 | |
CN104317690B (zh) | 一种基于ITP工具的Memory Demand Scrub测试方法 | |
JP2013528883A5 (zh) | ||
US9104604B2 (en) | Preventing unrecoverable errors during a disk regeneration in a disk array | |
CN110825569B (zh) | 一种硬盘稳定性测试方法及测试系统 | |
CN103226499B (zh) | 一种恢复内部存储器中的异常数据的方法及装置 | |
CN104133740A (zh) | 异常掉电数据恢复的方法 | |
CN105335265A (zh) | 一种基于linux平台下的bmc升降级自动测试方法 | |
CN106030532B (zh) | 用于事务存储器程序的软件回放器 | |
CN102890647B (zh) | 一种数据的存储与更新方法及装置 | |
CN101719087A (zh) | 微处理器可靠性评测方法及其系统 | |
CN101901174B (zh) | 基于代码段多副本对比机制提高程序可靠性方法 | |
US10002057B2 (en) | Method and apparatus for managing mismatches within a multi-threaded lockstep processing system | |
US10599530B2 (en) | Method and apparatus for recovering in-memory data processing system | |
CN103150232B (zh) | 存储快照创建方法和装置 | |
CN105630663B (zh) | 基于任务备份的并行cfd计算容错方法 | |
US20160170842A1 (en) | Writing to files and file meta-data | |
CN104657229A (zh) | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 | |
CN103810107A (zh) | web项目的自动化测试方法 | |
Fleming et al. | Injecting fpga configuration faults in parallel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |