CN110990197A - 一种基于超级计算机的应用级多层检查点的优化方法 - Google Patents

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

Info

Publication number
CN110990197A
CN110990197A CN201911204138.2A CN201911204138A CN110990197A CN 110990197 A CN110990197 A CN 110990197A CN 201911204138 A CN201911204138 A CN 201911204138A CN 110990197 A CN110990197 A CN 110990197A
Authority
CN
China
Prior art keywords
data
node
fault
group
supercomputer
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
Application number
CN201911204138.2A
Other languages
English (en)
Other versions
CN110990197B (zh
Inventor
张兴军
周剑锋
董小社
李靖波
鲁晨欣
张楚华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201911204138.2A priority Critical patent/CN110990197B/zh
Publication of CN110990197A publication Critical patent/CN110990197A/zh
Application granted granted Critical
Publication of CN110990197B publication Critical patent/CN110990197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

一种基于超级计算机的应用级多层检查点的优化方法
技术领域
本发明属于计算机系统结构和高性能计算领域,尤其是一种基于超级计算机的应用级多层检查点的优化方法。
背景技术
检查点是大规模科学计算程序中最典型的容错技术,其核心思想是将程序的最近运行状态保存至检查点内,在故障发生时通过读取检查点数据使程序恢复至最近运行状态。传统的检查点技术通过定期将中间状态数据保存到全局文件系统中实现容错功能,然而,随着高性能计算机系统规模越来越大,系统能够提供的平均无故障运行时间(meantime between failure)逐渐缩短,检查点技术面临严峻的性能问题。
多层检查点技术根据不同类型故障发生的概率,合理的利用本地存储设备降低程序与全局文件系统交互的频率,从而减少设置检查点的时间开销。然而,现有的多层检查点优化方法依赖于超级计算机的硬件特性(如需要计算节点的本地非易失性存储设备),导致其往往不具备通用性。例如,在一些超级计算机上,没有提供计算节点的本地非易失性存储访问接口,所以无法发挥现有多层检查点框架的相关特性。
发明内容
本发明的目的在于克服现有的多层检查点优化方法依赖于超级计算机的硬件特性,导致其往往不具备通用性的缺点,提供一种基于超级计算机的应用级多层检查点的优化方法。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于超级计算机的应用级多层检查点的优化方法,包括以下步骤:
1)探测待分配节点列表,若待分配节点中有节点出现故障,则采用空闲列表中的节点进行替换,替换前后所述节点的顺序不变;
2)读取检查点配置文件,获取检查点配置文件中三种故障类型发生的概率,确定各层检查点的放置时间序列;
所述故障类型包括由于软件错误导致被提交任务的运行失败导致的故障、由于单个硬件节点故障导致被提交任务的运行失败导致的故障和由于多个硬件节点故障导致被提交任务的运行失败导致的故障;
3)根据检查点配置文件中的任务运行信息,采用基于超级计算机体系架构的划分规则对硬件节点及运行在所述节点上的进程进行组划分;
所述任务运行信息包括任务并行规模和每个硬件节点上运行的进程数;
4)在进程组内通过一次MPI通信确定组内缺失数据的进程,采用故障类型判定算法确定发生在缺失数据的进程中的故障类型;
5)针对故障类型,在硬件节点组内采用相应的恢复策略,将任务运行状态回滚至最近一次保存的状态;
6)当运行至检查点放置时间序列中对应的时间点时,采用相应的检查点策略完成中间状态数据的保存;
7)若尚未运行至最后时间点,返回步骤6);否则,结束运行。
进一步的,步骤1)的具体操作为:
定义待分配节点列表为worklist,空闲节点列表为sparelist;
在提交任务之前,采用ping程序对worklist中的所有待分配节点进行检测,若待分配节点无法ping通,则采用sparelist中的节点对故障节点进行替换;
完成所有故障节点的替换后,利用更新后的worklist进行任务提交。
进一步的,在步骤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,…。
进一步的,在步骤3)中,对硬件节点进行组划分的规则为:
定义每个硬件节点上运行p个计算进程,在提交slurm脚本时指定-n参数为p,在程序中体现为每个硬件节点上运行p个进程,此时硬件节点组划分演变为将m个计算进程划分在一个通信组中;
对运行在所述节点上的进程进行组划分的规则为:
在硬件节点组中,将运行在硬件节点上的p个计算进程划分到不同进程组中,每个进程组包含m/p个进程。
进一步的,在步骤4)中,采用故障类型判定算法确定发生在缺失数据的进程中的故障类型,包括以下步骤:
401)打开进程在硬件节点上对应的共享内存区域,读取位于共享内存区域头部的1字节数据,若该数据为‘*’,则该进程的检查点数据有效,设置has_lost标志位为0;
若该数据为‘#’,则该进程的检查点数据无效,设置has_lost标志位为1;
402)在进程组内对has_lost标志位采用MPI_Allreduce函数进行累加,若has_lost在累加操作之后依旧为0,则说明没有发生硬件节点故障,此时故障类型为level1;
403)定义单进程组内最大容错数为M,若has_lost不为0,且has_lost小于等于M,此时故障类型为level2;
404)若hash_lost大于M,此时故障类型为level3。
进一步的,在步骤5)中的恢复策略包括以下三种:
1)若故障类型为level1,此时共享内存中的数据全部有效,各个进程直接读取共享内存中保存的数据即可完成恢复;
2)若故障类型为level2,此时共享内存中的数据出现缺失,对出现数据缺失的进程采用RAID5编码策略进行恢复;
3)若故障类型为level3,此时出现多份共享内存的数据缺失,采用并行IO策略进行恢复。
进一步的,第二种恢复策略中,采用RAID5编码策略进行恢复的操作为:
确定出现了数据缺失的进程;
在该进程对应的进程组内进行一次MPI_Reduce操作进行数据恢复。
进一步的,第三种恢复策略中,采用并行IO策略进行恢复的操作为:
在进程组内各个进程根据访问文件偏移量创建文件视图,并从超级计算机的lustre文件系统中按照各进程文件视图读取进程组文件,完成数据恢复。
进一步的,在步骤6)中,采用相应的检查点策略完成中间状态数据的保存具体如下:
1)对于s1检查点事件,设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,将该标志位置为1,完成一次检查点的设置;
2)对于s2检查点事件,设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,对位于共享内存中的数据进行条带划分,条带数目为进程组大小,在进程组内进行一次MPI_Reduce通信,完成RAID5校验和计算,进程组内每个进程分别保存不同条带的校验和,最后设置标志位为1,完成一次检查点的设置;
3)对于s3检查点事件,进程组内各个进程建立独立的文件视图,各进程按照文件视图指定的访问位置将进程数据保存到进程组文件中,完成一次检查点的设置。
与现有技术相比,本发明具有以下有益效果:
本发明的基于超级计算机的应用级多层检查点的优化方法,针对不提供本地非易失性存储的超级计算机上,无法发挥出现有多层检查点框架利用本地非易失性存储设备减小设置检查点引入的时间开销的优势,通过使用共享内存结合数据冗余技术替代本地非易失性存储,不仅保证了数据的可恢复性,并且充分发挥了内存高带宽的特性,极大的减少了设置检查点引入的时间开销;采用硬件节点组划分技术,实现了硬件节点组之间的隔离性,若某硬件节点组中发生level3级别的故障,读取全局文件系统进行恢复,而若某硬件节点组中发生的是故障类型level1对应的故障,仅需要读取共享内存中的数据即可,硬件节点组之间的隔离性细化了设置检查点与检查点数据恢复的粒度,避免了全局通信开销;还采用进程组作为设置检查点与检查点数据恢复的基本单位,通过进程组划分技术,将运行在硬件节点上的进程划分到不同的进程组中,保证单个硬件节点故障只会导致进程组中的一个进程的共享内存数据失效,从而使用RAID5技术可以完成共享内存数据的恢复,避免了单个硬件节点故障导致进程组中多个进程的共享内存数据失效。
附图说明
图1为本发明的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提出的一种基于超级计算机的应用级多层检查点的优化方法总共包含三种类型的检查点方法,第一,采用操作系统提供的共享内存存储数据从而容忍软件错误;第二,采用操作系统提供的共享内存存储数据并结合RAID5编码,容忍单硬件节点故障;第三,采用MPI的并行IO技术容忍多硬件节点故障。相较于传统的利用超级计算机中计算节点的本地非易失性存储设备的多层检查点方法,本发明极大的扩展了多层检查点的可用性。该优化方法的提出对科学计算程序在高性能计算平台中容错建设具有一定的指导意义。
下面结合附图对本发明做进一步详细描述:
参见图1,图1为本发明的流程图,具体包括以下步骤:
步骤1,在超级计算机的登录节点采用ping程序探测待分配节点列表,若待分配节点中有节点出现故障,则采用空闲列表中的节点对待分配节点列表中的故障节点进行原位替换(新节点出现在故障节点在待分配节点列中的同一位置);具体的:定义待分配节点列表为worklist,空闲节点列表为sparelist,在提交任务之前,首先在登录节点采用ping程序对worklist中的所有待分配节点进行检测,若出现待分配节点无法ping通的情况,则采用sparelist中的节点对故障节点进行原位替换,完成所有故障节点的替换后,使用新的worklist进行任务提交。
步骤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,…
步骤3)为了减少设置检查点过程的通信开销,需要对硬件节点以及运行在节点上的计算进程进行分组,分组的具体规则如下:
硬件节点分组规则为:定义每个硬件节点上运行p个计算进程,在提交slurm脚本时指定-n参数为p,在程序中体现为每个硬件节点上运行p个计算进程,此时硬件节点组划分演变为将m个计算进程(m为p的整数倍)划分在一个通信组中;
进程分组规则为:在硬件节点组中,将运行在硬件节点上的p个计算进程划分到不同进程组中,每个进程组包含m/p个进程。
步骤4)对完成步骤3的程序,在进程组内通过一次MPI通信确定组内缺失数据的进程,采用故障类型判定算法确定发生在组内的具体故障类型;故障判别算法如下:
301)打开进程在硬件节点上对应的共享内存区域,读取位于共享内存区域头部的1字节数据,若该数据为‘*’,则表明该进程的检查点数据有效,置has_lost标志位为0;
若该数据为‘#’,则表明该进程的检查点数据无效,置has_lost标志位为1;
302)在进程组内对has_lost标志位采用MPI_Allreduce函数进行累加,若has_lost在累加操作之后依旧为0,说明没有发生硬件节点故障,此时故障类型为level1;
303)定义单进程组内最大容错数为M,若has_lost不为0,且has_lost小于等于M,此时故障类型为level2;本发明采用RAID5编码策略,M=1;
304)若hash_lost大于M,此时故障类型为level3。
步骤5)对完步骤4)的程序,针对其故障类型,在进程组内采用对应的恢复策略,回滚到最近一次保存的运行状态,恢复策略如下:
1)若故障类型为level1,则共享内存中的数据全部有效,各个进程直接读取共享内存中保存的数据即可完成恢复;
2)若故障类型为level2,此时共享内存中的数据出现缺失,对出现数据缺失的进程采用恢复算法进行恢复;
本发明中采用的是RAID5策略对数据进行恢复,具体如下:
首先通过一次MPI_Allreduce通信确定哪一个进程出现了数据缺失,然后在该进程对应的进程组内进行一次MPI_Reduce操作进行数据恢复;
3)若故障类型为level3,此时共享内存中的数据出现多份缺失,RAID5编码策略已经无法完成恢复,则采用并行IO策略,进程组内各个进程根据本进程访问文件偏移量创建文件视图,并直接从超级计算机的全局文件系统中按照进程文件视图并行读取进程组文件,完成数据恢复。
步骤6)对完成步骤5)的程序,当到达检查点放置时间序列时,采用时间点对应的检查点策略完成中间状态数据的保存;检查点策略分为三种,分别对应s1,s2,s3三种检查点事件:
第一种、设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,将该标志位置为1,完成一次检查点的设置;
第二种、设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,对位于共享内存中的数据进行条带划分,条带数目为进程组大小,在进程组内进行一次MPI_Reduce通信,完成RAID5校验和计算,进程组内每个进程分别保存不同条带的校验和,最后设置标志位为1,完成一次检查点的设置;
第三种、进程组内各个进程根据自身访问文件的偏移量建立文件视图,打开进程组文件,各进程按照文件视图指定的访问位置将进程数据保存到进程组文件中,完成一次检查点的设置。
步骤7)若尚未运行至检查点放置时间间隔序列中的最后一次时间点,返回至步骤6)继续执行;否则结束检查点放置。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (9)

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个计算进程划分在一个通信组中;
对运行在所述节点上的进程进行组划分的规则为:
在硬件节点组中,将运行在硬件节点上的p个计算进程划分到不同进程组中,每个进程组包含m/p个进程。
5.根据权利要求1所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,在步骤4)中,采用故障类型判定算法确定发生在缺失数据的进程中的故障类型,包括以下步骤:
401)打开进程在硬件节点上对应的共享内存区域,读取位于共享内存区域头部的1字节数据,若该数据为‘*’,则该进程的检查点数据有效,设置has_lost标志位为0;
若该数据为‘#’,则该进程的检查点数据无效,设置has_lost标志位为1;
402)在进程组内对has_lost标志位采用MPI_Allreduce函数进行累加,若has_lost在累加操作之后依旧为0,则说明没有发生硬件节点故障,此时故障类型为level1;
403)定义单进程组内最大容错数为M,若has_lost不为0,且has_lost小于等于M,此时故障类型为level2;
404)若hash_lost大于M,此时故障类型为level3。
6.根据权利要求5所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,在步骤5)中的恢复策略包括以下三种:
1)若故障类型为level1,此时共享内存中的数据全部有效,各个进程直接读取共享内存中保存的数据即可完成恢复;
2)若故障类型为level2,此时共享内存中的数据出现缺失,对出现数据缺失的进程采用RAID5编码策略进行恢复;
3)若故障类型为level3,此时出现多份共享内存的数据缺失,采用并行IO策略进行恢复。
7.根据权利要求6所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,第二种恢复策略中,采用RAID5编码策略进行恢复的操作为:
确定出现了数据缺失的进程;
在该进程对应的进程组内进行一次MPI_Reduce操作进行数据恢复。
8.根据权利要求6所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,第三种恢复策略中,采用并行IO策略进行恢复的操作为:
在进程组内各个进程根据访问文件偏移量创建文件视图,并从超级计算机的lustre文件系统中按照各进程文件视图读取进程组文件,完成数据恢复。
9.根据权利要求6所述的基于超级计算机的应用级多层检查点的优化方法,其特征在于,在步骤6)中,采用相应的检查点策略完成中间状态数据的保存具体如下:
1)对于s1检查点事件,设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,将该标志位置为1,完成一次检查点的设置;
2)对于s2检查点事件,设置共享内存中的标志位为0,使用memcpy将进程的中间状态数据保存到共享内存中,保存完毕后,对位于共享内存中的数据进行条带划分,条带数目为进程组大小,在进程组内进行一次MPI_Reduce通信,完成RAID5校验和计算,进程组内每个进程分别保存不同条带的校验和,最后设置标志位为1,完成一次检查点的设置;
3)对于s3检查点事件,进程组内各个进程建立独立的文件视图,各进程按照文件视图指定的访问位置将进程数据保存到进程组文件中,完成一次检查点的设置。
CN201911204138.2A 2019-11-29 2019-11-29 一种基于超级计算机的应用级多层检查点的优化方法 Active CN110990197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911204138.2A CN110990197B (zh) 2019-11-29 2019-11-29 一种基于超级计算机的应用级多层检查点的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911204138.2A CN110990197B (zh) 2019-11-29 2019-11-29 一种基于超级计算机的应用级多层检查点的优化方法

Publications (2)

Publication Number Publication Date
CN110990197A true CN110990197A (zh) 2020-04-10
CN110990197B CN110990197B (zh) 2023-06-06

Family

ID=70088544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911204138.2A Active CN110990197B (zh) 2019-11-29 2019-11-29 一种基于超级计算机的应用级多层检查点的优化方法

Country Status (1)

Country Link
CN (1) CN110990197B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966645A (zh) * 2020-08-12 2020-11-20 南方科技大学 超级计算机数据存储方法、装置、系统及存储介质
CN114564361A (zh) * 2022-03-03 2022-05-31 合众新能源汽车有限公司 用于智能驾驶平台的应用管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法
US20140304545A1 (en) * 2013-04-05 2014-10-09 Hewlett-Packard Development Company, L.P. Recovering a failure in a data processing system
CN109344009A (zh) * 2018-10-11 2019-02-15 重庆邮电大学 基于分级检查点的移动云系统容错方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140304545A1 (en) * 2013-04-05 2014-10-09 Hewlett-Packard Development Company, L.P. Recovering a failure in a data processing system
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法
CN109344009A (zh) * 2018-10-11 2019-02-15 重庆邮电大学 基于分级检查点的移动云系统容错方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHENG DI: "Toward an Optimal Online Checkpoint Solution under a Two-Level HPC Checkpoint Model", 《 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 *
李洪亮等: "机载雷达系统多层划分容错机制的研究", 《现代电子技术》 *
赵军: "基于检查点机制的系统性能优化技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966645A (zh) * 2020-08-12 2020-11-20 南方科技大学 超级计算机数据存储方法、装置、系统及存储介质
CN114564361A (zh) * 2022-03-03 2022-05-31 合众新能源汽车有限公司 用于智能驾驶平台的应用管理方法及系统
CN114564361B (zh) * 2022-03-03 2024-05-07 合众新能源汽车股份有限公司 用于智能驾驶平台的应用管理方法及系统

Also Published As

Publication number Publication date
CN110990197B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN110190987B (zh) 基于备份收益与重映射的虚拟网络功能可靠性部署方法
Agarwal et al. Adaptive incremental checkpointing for massively parallel systems
US7657796B1 (en) System and method for distributed storage verification
CN109491609B (zh) 一种缓存数据处理方法、装置、设备及可读存储介质
US8464090B2 (en) Recovery of failed disks in an array of disks
CN102521058A (zh) Raid组磁盘数据预迁移方法
CN103942112A (zh) 磁盘容错方法、装置及系统
WO2016082156A1 (zh) 元数据的恢复方法及装置
CN111124720B (zh) 一种自适应的检查点间隔动态设置方法
CN110990197B (zh) 一种基于超级计算机的应用级多层检查点的优化方法
CN111143142A (zh) 一种普适检查点和回滚恢复方法
CN113377569A (zh) 用于恢复数据的方法、设备和计算机程序产品
CN111587421A (zh) 分布式存储系统电源故障阻抗的方法和系统
US20150317226A1 (en) Detecting data loss during site switchover
CN111752755B (zh) 一种继电保护关键数据冗余存储及可靠性恢复系统及方法
Montezanti et al. A methodology for soft errors detection and automatic recovery
US20070150709A1 (en) Method and system for state tracking and recovery in multiprocessing computing systems
CN105988885B (zh) 基于补偿回滚的操作系统故障自恢复方法
Akash et al. Rapid: A fast data update protocol in erasure coded storage systems for big data
Engelmann et al. Concepts for high availability in scientific high-end computing
JP3676793B2 (ja) ディスクアレイ装置
WO2021043246A1 (zh) 数据读取方法及装置
Nahar et al. RotR: Rotational redundant task mapping for fail-operational MPSoCs
Meyer et al. RADIC: A faulttolerant middleware with automatic management of spare nodes
JP3699473B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant