大规模异构并行计算的容错方法技术

技术编号:8323301 阅读:234 留言:0更新日期:2013-02-14 00:24
本发明专利技术提供了一种大规模异构并行计算的容错方法,包括:对每个时间步的每个核心计算模块,进行以下处理:将计算课题的计算数组的内容赋值给备份数组;完成核心计算模块的计算;其中,完成核心计算模块的计算包括:统计可用处理器核数,以获得第一处理器核数;可用处理器核并行运算核心计算模块;再次统计可用处理器核数,以获得第二处理器核数;比较第一处理器核数和第二处理器核数,若第二处理器核数小于第一处理器核数,则将备份数组的内容赋值给计算数组,并重新完成核心计算模块的计算,直至第一处理器核数与第二处理器核数一致。本发明专利技术的大规模异构并行计算容错方法能充分利用计算资源,减少故障恢复时间,提高并行计算的可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种。
技术介绍
大规模异构高性能计算机系统是未来极大规模并行计算的重要发展方向,与传统单核/多核处理器计算机系统相比,大规模异构高性能计算机系统以异构处理器为基础,处理器核数急剧增加,系统架构和访存方式发生重大变化。在大规模异构计算机系统环境下,如何保证大规模并行计算的可靠性和稳定性是关键问题,而并行算法级的容错机制和间断处理机制是关键技术之一。需要设计高效的算法级并行容错方法,以充分利用计算资源,减少故障恢复时间,提高并行计算的可靠性。目前,在并行算法级的容错机制和间断处理机制方面,主要应用领域的并行计算软件都设计和开发了大规模并行算法的任意可变并行规模的保留恢复功能,能够保证算法 在MPI级(“消息传递接口'Message Passing Interface)的自动容错能力,但在众核并行层次上,因为GPU (“图形处理器”,GraphicProcessing Unit)、Cell处理器等架构的特殊性和复杂性,很少有应用程序考虑众核一级的容错功能实现,在计算过程中不能自动检测大规模异构计算机系统在处理器核层次的硬件故障,只能从最终的计算结果判断计算是否正常可靠,难以保证大规模异构并行计算的可靠性和稳定性。对于某些计算时间较长的中大规模众核并行课题而言,经常会出现课题运行挂起的情况,需要人工干预后重新提交。以航天飞行器全流域数值模拟应用领域为例,据目前可查文献,现有的异构众核并行只实现了中间计算结果的记录,即实现一般的保留恢复功能,没有考虑到众核级的容错功能实现,在计算过程中不能自动检测大规模异构计算机系统在处理器核层次的硬件故障,只能从最终的计算结果判断计算是否正常可靠。公开号为CN101625736A的中国专利申请中,公开了一种分布式计算环境下并行进化算法的容错方法,但该申请也未解决上述技术问题。
技术实现思路
本专利技术所要解决的技术问题是如何充分利用计算资源,减少故障恢复时间,保证大规模并行计算的可靠性和稳定性。为了解决上述问题,本专利技术提供了一种,适用于通过多个时间步迭代计算的并行计算课题,其中,每个时间步的迭代计算包括多个核心计算模块,包括对每个时间步的每个核心计算模块,进行以下处理将所述计算课题的计算数组的内容赋值给所述计算数组的备份数组;完成核心计算模块的计算;其中,所述完成核心计算模块的计算包括统计可用处理器核数,以获得第一处理器核数;所述可用处理器核并行运算所述核心计算模块;再次统计可用处理器核数,以获得第二处理器核数;比较所述第一处理器核数和所述第二处理器核数,若所述第二处理器核数小于所述第一处理器核数,则将所述备份数组的内容赋值给所述计算数组,并重新完成核心计算模块的计算,直至所述第一处理器核数与所述第二处理器核数一致。可选的,在开始每个时间步的迭代计算之前,还包括申请所述计算数组的备份数组。可选的,在所述统计可用处理器核数,以获得第一处理器核数之后,还包括按照所述第一处理器核数进行众核任务分解。可选的,所述重新完成核心计算模块的计算包括重新统计可用处理器核数,以获得第一处理器核数;按照所述第一处理器核数进行众核任务分解; 所述可用处理器核并行运算所述核心计算模块;再次统计可用处理器核数,以获得第二处理器核数。可选的,若所述第一处理器核数与所述第二处理器核数一致,则统计完成所述核心计算模块的每个处理器核所用的时间。可选的,还包括在所述时间步的所有核心计算模块都完成之后,基于完成各核心计算模块的各处理器核所用的时间,对各处理器核的计算状态进行统计和预警。可选的,所述对各处理器核的计算状态进程统计和预警包括将所述完成各核心计算模块的各处理器核所用的时间与各处理器的预设阈值做比较;若某处理器核完成核心计算模块所用的时间大于预设阈值时,对该处理器核进行统计并预警。可选的,所述预设阈值为平均计算时间的150%。与现有技术相比,本专利技术的技术方案具有以下优点I、本专利技术采用重复计算和重新任务分解方法,对计算过程中的硬件故障和某核心计算模块完成后的硬件故障进行容错,能够自动检测大规模异构计算机系统在处理器核层次的硬件故障,充分利用计算资源,减少故障恢复时间,保证了大规模并行计算的可靠性和稳定性。2、可选方案中,还定期对各处理器核的计算状态进行统计和评估,对可能发生的硬件故障进行预警,实现对大规模异构并行计算的算法级故障检测、容错和预警。附图说明图I为本专利技术的第一具体实施方式的流程示意图;图2为本专利技术的第二具体实施方式的流程示意图;图3为本专利技术的第三具体实施方式的流程示意图;图4为本专利技术的第四具体实施方式的流程示意图。具体实施例方式在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施的限制。其次,本专利技术利用示意图进行详细描述,在详述本专利技术实施例时,为便于说明,所述示意图只是实例,其在此不应限制本专利技术保护的范围。在大规模异构并行计算课题中,一个计算课题通过多个时间步的迭代计算完成。同一时间步中可包含多个核心计算模块,每个核心计算模块由多个处理器核并行计算。本专利技术人试图通过提早发现计算错误,减少因计算错误而进行的重复计算,从而减少故障恢复时间,达到保证大规模并行计算的可靠性和稳定性的目的。 为了解决
技术介绍
中的技术问题,本专利技术提供了一种,在一个计算课题的多个时间步迭代计算过程中,分别统计该时间步每个核心计算模块前后的可用处理器核数。一旦前后的可用处理器核数不一致,则表明在该核心计算模块的计算过程中有处理器当机。随即丢弃该核心计算模块的计算内容,并通过备份数据重新计算。通过上述方法,可将并行计算错误局限于每个核心计算模块中,使得重复计算量不会超出每个核心计算模块,因而减少故障恢复时间,提高并行计算的可靠性。图I为本专利技术的第一具体实施方式的流程示意图。参考图1,第一具体实施方式包括以下步骤执行步骤S101,将计算课题的计算数组的内容赋值给所述计算数组的备份数组。执行步骤S102,统计可用处理器核数,以获得第一处理器核数。执行步骤S103,可用处理器核并行运算核心计算模块。需要说明的是,在大规模计算课题中,核心计算模块通常为计算量较为集中的核心循环部分。通常作法是将核心计算模块的任务进行分解,交由各处理器并行共同完成。因此,核心计算模块的正确性基于每个处理器的运行结果皆正确,任一处理器发生硬件故障,都将导致该次核心计算模块的计算错误。执行步骤S104,再次统计可用处理器核数,以获得第二处理器核数。执行步骤S105,判断第二处理器核数是否小于第一处理器核数。若所述第二处理器核数小于所述第一处理器核数,则表明有处理器在核心计算模块的计算过程中发生了硬件故障,本次核心计算模块的计算结果错误。则丢弃本次计算结果,执行步骤S106,将备份数组的内容赋值给计算数组之后,从步骤S102处继续执行,重新计算该核心计算模块。若所述第二处理器核数等于所述第一处理器核数,则表明各处理器在核心计算模块的计算过程中皆正常,该核心计算模块的计算结果正确,则结束该核心计算模块的计算。下面结合具体实施例对本专利技术的技术方案做进一步说明。执行步骤SlOl,将计算数组本文档来自技高网
...

【技术保护点】
一种大规模异构并行计算的容错方法,适用于通过多个时间步迭代计算的并行计算课题,其中,每个时间步的迭代计算包括多个核心计算模块,其特征在于:对每个时间步的每个核心计算模块,进行以下处理:将所述计算课题的计算数组的内容赋值给所述计算数组的备份数组;完成核心计算模块的计算;其中,所述完成核心计算模块的计算包括:统计可用处理器核数,以获得第一处理器核数;所述可用处理器核并行运算所述核心计算模块;再次统计可用处理器核数,以获得第二处理器核数;比较所述第一处理器核数和所述第二处理器核数,若所述第二处理器核数小于所述第一处理器核数,则将所述备份数组的内容赋值给所述计算数组,并重新完成核心计算模块的计算,直至所述第一处理器核数与所述第二处理器核数一致。

【技术特征摘要】
1.一种大规模异构并行计算的容错方法,适用于通过多个时间步迭代计算的并行计算课题,其中,每个时间步的迭代计算包括多个核心计算模块,其特征在于 对每个时间步的每个核心计算模块,进行以下处理 将所述计算课题的计算数组的内容赋值给所述计算数组的备份数组; 完成核心计算模块的计算;其中,所述完成核心计算模块的计算包括统计可用处理器核数,以获得第一处理器核数;所述可用处理器核并行运算所述核心计算模块;再次统计可用处理器核数,以获得第二处理器核数; 比较所述第一处理器核数和所述第二处理器核数,若所述第二处理器核数小于所述第一处理器核数,则将所述备份数组的内容赋值给所述计算数组,并重新完成核心计算模块的计算,直至所述第一处理器核数与所述第二处理器核数一致。2.如权利要求I所述的大规模异构并行计算的容错方法,其特征在于,在开始每个时间步的迭代计算之前,还包括申请所述计算数组的备份数组。3.如权利要求I或2所述的任一种大规模异构并行计算的容错方法,其特征在于,在所述统计可用处理器核数,以获得第一处理器核数之后,还包括 按照所述第一处理器核数进行众核任务分解。4.如权利要求3所述的大规模异...

【专利技术属性】
技术研发人员:陈德训刘鑫李芳徐金秀
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1