基于仿真计算集群的分布式程序运行容错方法及系统技术方案

技术编号:36185606 阅读:12 留言:0更新日期:2022-12-31 20:48
本申请涉及一种基于仿真计算集群的分布式程序运行容错方法及系统。该方法应用于仿真计算集群,集群包括至少一个管理节点和至少一个代理节点,方法包括:从至少一个代理节点接收IO请求;检测已接收的IO请求中每个IO请求的到达时间和程序执行进度;确定IO请求的到达时间和程序执行进度是否满足管理节点的容错触发条件;基于满足管理节点的容错触发条件的情况下,确定管理节点的程序状态保存策略;基于程序状态保存策略,管理节点向至少一个代理节点发送数据传输指令,数据传输指令用于指示至少一个代理节点将用户数据发送给管理节点进行存储。本申请提供的方案能够解决在海量数据场景下,仿真计算机器的用户数据容易丢失的问题。题。题。

【技术实现步骤摘要】
基于仿真计算集群的分布式程序运行容错方法及系统


[0001]本申请涉及仿真计算机
,具体涉及一种基于仿真计算集群的分布式程序运行容错方法及系统。

技术介绍

[0002]随着仿真计算的发展,仿真计算的场景越来越多,应用的数据规模也变得越来越大,单个的计算机或服务器已不能满足程序运行的需要,针对数据量巨大的任务程序,可以通过云计算将计算任务分布在大量服务器构成的资源池上,多个设备同时分布式运行分布式程序从而解决单个设备的计算资源不足的问题。
[0003]在仿真领域中,多个计算设备通过网络连接在一起可以构成一个仿真计算集群,用户可以通过分布式程序对该仿真计算集群进行运行,若仿真计算集群所涉及的数据量比较巨大,那么该分布式系统将需要较长的时间才能将其运行完毕。若在程序运行过程中,某个计算设备发生异常,例如发生断电、磁盘损坏等情况,将会导致整个用户程序崩溃,整个用户程序将被重新执行,这样将会极大地浪费计算设备的计算资源,影响整个仿真计算机集群的处理效率,增加了用户程序的运行时间。
[0004]因此,现有仿真计算技术在大规模数据中心和海量小站点的分布式程序运行容错场景下,存在数据容易丢失的问题。

技术实现思路

[0005]为解决或部分解决相关技术中存在的问题,本申请能够解决在海量数据场景下,数据容易丢失的问题。
[0006]一方面本申请一种基于仿真计算集群的分布式程序运行容错方法,应用于仿真计算集群,该集群包括至少一个管理节点和至少一个代理节点,该方法包括:
[0007]从至少一个代理节点接收IO请求;
[0008]检测已接收的IO请求中每个IO请求的到达时间和程序执行进度;
[0009]确定IO请求的到达时间和程序执行进度是否满足管理节点的容错触发条件;
[0010]基于满足管理节点的容错触发条件的情况下,确定管理节点的程序状态保存策略;
[0011]基于程序状态保存策略,管理节点向至少一个代理节点发送数据传输指令,数据传输指令用于指示至少一个代理节点将用户数据发送给管理节点进行存储。
[0012]可选地,每个管理节点和每个代理节点分别维持一个定时器,定时器用于根据IO请求控制管理节点的仿真频率和代理节点的仿真频率的频率相同。
[0013]可选地,管理节点的容错触发条件包括:
[0014]根据接收IO请求的时间,每隔相同目标时间段,触发容错触发条件;
[0015]和/或在程序执行进度完成目标进度时,触发容错触发条件;
[0016]和/或接收IO请求的数目达到预设数目,触发容错触发条件。
[0017]可选地,确定管理节点的程序状态保存策略,包括:
[0018]根据用户存储请求确定存储数据格式,基于存储数据格式生成程序状态保存策略。
[0019]可选地,管理节点向至少一个代理节点发送数据传输指令之后,包括:
[0020]管理节点对接收的用户数据进行序列化处理,以HDF5的形式将序列化处理后的用户数据存储于分布式文件系统。
[0021]可选地,在以HDF5的形式将序列化处理后的用户数据存储于分布式文件系统之后,包括:
[0022]在程序在运行过程中出现故障的情况下,管理节点从分布式文件系统读取最新保存的HDF5文件,并对最新保存的HDF5文件进行反序列化处理。
[0023]本申请第二方面提供一种基于仿真计算集群的分布式程序运行容错系统,应用于仿真计算集群,所述集群包括至少一个管理节点和至少一个代理节点可选地,系统包括:
[0024]接收单元,用于从至少一个代理节点接收IO请求;
[0025]处理单元,用于:
[0026]检测已接收的IO请求中每个IO请求的到达时间和程序执行进度;
[0027]确定IO请求的到达时间和程序执行进度是否满足管理节点的容错触发条件;
[0028]基于满足管理节点的容错触发条件的情况下,确定管理节点的程序状态保存策略;
[0029]基于程序状态保存策略,管理节点向至少一个代理节点发送数据传输指令,数据传输指令用于指示至少一个代理节点将用户数据发送给管理节点进行存储。
[0030]可选地,系统还包括存储单元,存储单元用于对接收的用户数据进行序列化处理,以HDF5的形式将其存储于分布式文件系统中。
[0031]本申请第三方面提供一种电子设备,包括:
[0032]处理器;以及
[0033]存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上的方法。
[0034]本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上的方法。
[0035]本申请提供的技术方案可以包括以下有益效果:
[0036]一方面,本申请提供了一种基于仿真计算集群的分布式程序运行容错方法,应用于仿真计算集群,集群包括至少一个管理节点和至少一个代理节点,其特征在于,方法包括:从至少一个代理节点接收IO请求;检测已接收的IO请求中每个IO请求的到达时间和程序执行进度;确定IO请求的到达时间和程序执行进度是否满足管理节点的容错触发条件;基于满足管理节点的容错触发条件的情况下,确定管理节点的程序状态保存策略;基于程序状态保存策略,管理节点向至少一个代理节点发送数据传输指令,数据传输指令用于指示至少一个代理节点将用户数据发送给管理节点进行存储。分布式程序在后续运行过程中,若某个节点发生异常,只需重新读取已存储的数据,就可以快速恢复仿真计算集群的运行数据。
[0037]另一方面,现有技术还存在用户需要花费大量时间理解底层数据处理逻辑,从而
在重启过程中理解如何写入分布式文件系统中以及如何从分布式文件系统中读取数据,从而导致整个系统的重启效率不够高。本申请提供的方法,能够自动存储和读取海量重启数据,从而节约了仿真计算集群的重启时间。
[0038]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0039]通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
[0040]图1是本申请实施例示出的基于仿真计算集群的分布式程序运行容错方法的应用环境示意图;
[0041]图2是本申请实施例示出的基于仿真计算集群的分布式程序运行容错方法的流程示意图;
[0042]图3是本申请实施例示出的仿真计算集群的集群结构示意图;
[0043]图4是本申请实施例示出的基于仿真计算集群的分布式程序运行容错系统的结构示意图;
[0044]图5是本申请实施例示出的电子设备的结构示意图。
具体实施方式
[0045]下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于仿真计算集群的分布式程序运行容错方法,应用于仿真计算集群,所述集群包括至少一个管理节点和至少一个代理节点,其特征在于,所述方法包括:从至少一个代理节点接收IO请求;检测所述已接收的IO请求中每个IO请求的到达时间和程序执行进度;确定所述IO请求的到达时间和所述程序执行进度是否满足管理节点的容错触发条件;基于满足所述管理节点的容错触发条件的情况下,确定所述管理节点的程序状态保存策略;基于所述程序状态保存策略,所述管理节点向所述至少一个代理节点发送数据传输指令,所述数据传输指令用于指示所述至少一个代理节点将用户数据发送给管理节点进行存储。2.根据权利要求1所述的方法,其特征在于,每个所述管理节点和每个所述代理节点分别维持一个定时器,所述定时器用于根据所述IO请求控制所述管理节点的仿真频率和所述代理节点的仿真频率的频率相同。3.根据权利要求1所述的方法,其特征在于,所述管理节点的容错触发条件包括:根据接收IO请求的时间,每隔相同目标时间段,触发所述容错触发条件;和/或在所述程序执行进度完成目标进度时,触发所述容错触发条件;和/或接收IO请求的数目达到预设数目,触发所述容错触发条件。4.根据权利要求1所述的方法,其特征在于,所述确定所述管理节点的程序状态保存策略,包括:根据用户存储请求确定存储数据格式,基于所述存储数据格式生成所述程序状态保存策略。5.根据权利要求1所述的方法,其特征在于,所述管理节点向所述至少一个代理节点发送数据传输指令之后,包括:所述管理节点对接收的用户数据进行序列化处理,以HDF5的形式将序列化处理后的用户数据存储于分布式文件系统...

【专利技术属性】
技术研发人员:迟旭光包刚强
申请(专利权)人:安世亚太科技股份有限公司
类型:发明
国别省市:

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

1