一种基于高效能仿真云的容错方法

文档序号:8298930阅读:422来源:国知局
一种基于高效能仿真云的容错方法
【技术领域】
[0001]本发明涉及计算机领域,特别是涉及一种基于高效能仿真云的容错方法。
【背景技术】
[0002]基于HLA的仿真体系结构的尚效能仿真75Γ是一种利用网络和专门定制的尚性能仿真计算机硬件,并且仿真遵从HLA高层体系结构的标准,按照仿真用户的仿真需求,按需组织各种仿真软件和提供高性能仿真计算节点的新的仿真模式。高效能仿真云目标是为高端仿真用户和海量仿真用户,按需构建仿真环境,每个仿真用户所需求的仿真环境不同,如仿真节点个数,仿真软件种类等,因此仿真支撑环境能够基于高性能计算机为仿真硬件载体,为不同的用户/租户构建所需的仿真系统,并且保证用户/租户之间数据、模型的隔离高安全特性;并且在大规模的仿真中,模型与模型之间需要进行协同、互操作等,因此根据高性能计算机本身多CPU,多核的特点,将仿真任务合理的安排到节点和核上,以提高仿真协同的高效性。正因为要支持海量的仿真用户,以及高性能仿真计算机自身的特点,在仿真运行过程中会因为网络、计算节点宕机等问题导致仿真联邦或者成员的不正常退出,严重影响仿真结果。大规模复杂的仿真系统,因为其的模型复杂且精度高,多实体等特点,一次完整的仿真运行往往需要数天甚至更久,而高性能计算机本身多核的特点,加上面向多仿真用户,因此仿真节点因为硬件本身或者网络出错导致失效的概率很高,如果重新部署仿真环境,重头开始仿真运行,势必浪费极大的时间和计算能力,同时在重新运行的时候也不保证不会出现某个或者多个仿真节点失效。目前,仿真系统的容错技术已经研宄多年,包括HLAE规范也已经将仿真容错收录到HLA仿真标准中,仿真算法也层出不穷,但目前仿真的容错技术主要还集中在理论的高度,在实际的仿真运行运行过程中还未能起到很好的支撑,并且针对高性能计算机自身的特点,也没有相应的解决方法。
[0003]因此,需要提供一种容错方法,以保证仿真支撑环境能够对仿真系统进行容错,并对出错模型进行迀移和恢复运行,使得模型迀移后,整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行。

【发明内容】

[0004]本发明要解决的技术问题是提供一种基于高效能仿真云的容错方法,以解决以高性能仿真计算机为载体的仿真运行过程中仿真出错后快速可靠的识别出错误的问题。
[0005]为解决上述技术问题,本发明采用下述技术方案一种基于高效能仿真云的容错方法,该方法的步骤包括
[0006]根据仿真采用计算机的特点,确定容错类型;
[0007]各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;
[0008]利用心跳检测对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;
[0009]判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线纠错后,与其他正常的仿真成员一同恢复仿真运行。
[0010]优选的,所述容错类型包括仿真计算节点失效、CPU失效和Core失效。
[0011]优选的,采用以10秒为一个周期的被动心跳检测对个仿真成员进行检测。
[0012]优选的,所述仿真记录的时间点大于心跳周期的时间间隔。
[0013]优选的,所述共享数据区记录存储的内容包括仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点。
[0014]优选的,所述恢复仿真运行的步骤包括
[0015]判断异常情况的容错类型后,当前正常状态的仿真成员处于等待状态;
[0016]异常状态的仿真成员重新加入到仿真联邦中,并重新从共享数据区中读取与自己相关的仿真数据;
[0017]单独对异常状态的仿真成员从仿真开始进行推进,直至出错前的上一个记录的检测点。
[0018]本发明的有益效果如下:
[0019]本发明所述技术方案实现了在HLA架构下的基于高效能仿真云的容错技术,根据高效能仿真计算机的特点,对可能出现的仿真错误进行了分类;能够有效的对仿真运行过程中因为网络,多核架构下Core、CUP以及计算节点失效和高效能仿真计算机宕机引起的仿真成员不正常退出等情况进行有效监测;能够在整个仿真系统运行开始时创建共享的数据区,用来存储仿真中所有仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点,在仿真系统回退时候使用;在监测到仿真失效的时候,支持仿真对象“离线”恢复,并在恢复好后加入到仿真系统,然后进行“在线”运行,从而整个仿真系统继续正常运行。
【附图说明】
[0020]下面结合附图对本发明的【具体实施方式】作进一步详细的说明;
[0021]图1示出基于高性能仿真计算机的容错分级示意图;
[0022]图2示出本发明实施例中仿真系统容错过程的示意图。
【具体实施方式】
[0023]本发明公开了一种基于高性能仿真云的容错方法,该方法以高性能仿真计算机为载体,在仿真运行过程中仿真出错后快速可靠的识别出错误,并且对模型进行迀移和恢复运行,使得整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行,该方法的步骤包括
[0024]基于高性能仿真计算机的仿真错误分类
[0025]在复杂系统高效能仿真中,为了大大缩短仿真周期,因此现在的仿真运行都以高性能计算机作为硬件载体。在HLA高层体系结构的框架下,仿真任务、仿真联邦以及仿真对象会被分配在高性能计算机的不同部分,仿真模型可分别被部署到仿真计算节点之间,一个仿真计算节点的多个CPU上,以及小的仿真对象可被分配到一个CPU得core内,因此,根据高性能计算机的硬件特点,将容错分为Core失效、CPU失效和节点失效三个等级。
[0026]仿真系统的出错检测
[0027]本发明对错误的检查手段是通过心跳机制来检测的,心跳信息的存在代表目前的仿真成员或者联邦处于健康运行状态。心跳机制分为两种:主动心跳和被动心跳,其中主动心跳是在仿真运行的过程中,在周期内向运行支撑环境RTI发送心跳消息,一旦RTI在几个周期内没有接收到来自仿真成员的心跳消息,则判断为该仿真成员出错;被动心跳则是RTI以广播形式主动向每个成员进行发送心跳请求,接受到心跳请求后的成员返回心跳消息,汇报RTI自己是否健康运行。因为高效能仿真云需要为海量用户提供仿真环境,并且仿真的系统复杂、规模庞大,要求的通讯量巨大,主动心跳要求网络开销会很大,因此本发明采用被动心跳方式来检测。并且仿真的推进步长通常是毫米级的,如果每一个步长周期内进行心跳检测,势必会对网络带来巨大的压力,因此,可以设置以10秒为一个周期做一个心跳检测,这样既能保证仿真错误检测的可靠性,又能保证不浪费网络资源,保证仿真运行的高效性。除此之外,还能够根据仿真规模的大小,动态的调整心跳周期,以适应不同规模、不同精度的仿真运行。<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1