CN104615502B - 一种基于高效能仿真云的容错方法 - Google Patents
一种基于高效能仿真云的容错方法 Download PDFInfo
- Publication number
- CN104615502B CN104615502B CN201510024122.9A CN201510024122A CN104615502B CN 104615502 B CN104615502 B CN 104615502B CN 201510024122 A CN201510024122 A CN 201510024122A CN 104615502 B CN104615502 B CN 104615502B
- Authority
- CN
- China
- Prior art keywords
- simulation
- fault
- emulation
- simulated members
- analogue system
- 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.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于高效能仿真云的容错方法,该方法的步骤包括根据仿真采用计算机的特点,确定容错类型;各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;利用心跳检测对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线纠错后,与其他正常的仿真成员一同恢复仿真运行。本发明能够通过自身保存的交互数据迅速恢复到出错前状态,并重新恢复仿真系统的运行,使得仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种基于高效能仿真云的容错方法。
背景技术
基于HLA的仿真体系结构的高效能仿真云是一种利用网络和专门定制的高性能仿真计算机硬件,并且仿真遵从HLA高层体系结构的标准,按照仿真用户的仿真需求,按需组织各种仿真软件和提供高性能仿真计算节点的新的仿真模式。高效能仿真云目标是为高端仿真用户和海量仿真用户,按需构建仿真环境,每个仿真用户所需求的仿真环境不同,如仿真节点个数,仿真软件种类等,因此仿真支撑环境能够基于高性能计算机为仿真硬件载体,为不同的用户/租户构建所需的仿真系统,并且保证用户/租户之间数据、模型的隔离高安全特性;并且在大规模的仿真中,模型与模型之间需要进行协同、互操作等,因此根据高性能计算机本身多CPU,多核的特点,将仿真任务合理的安排到节点和核上,以提高仿真协同的高效性。正因为要支持海量的仿真用户,以及高性能仿真计算机自身的特点,在仿真运行过程中会因为网络、计算节点宕机等问题导致仿真联邦或者成员的不正常退出,严重影响仿真结果。大规模复杂的仿真系统,因为其的模型复杂且精度高,多实体等特点,一次完整的仿真运行往往需要数天甚至更久,而高性能计算机本身多核的特点,加上面向多仿真用户,因此仿真节点因为硬件本身或者网络出错导致失效的概率很高,如果重新部署仿真环境,重头开始仿真运行,势必浪费极大的时间和计算能力,同时在重新运行的时候也不保证不会出现某个或者多个仿真节点失效。目前,仿真系统的容错技术已经研究多年,包括HLAE规范也已经将仿真容错收录到HLA仿真标准中,仿真算法也层出不穷,但目前仿真的容错技术主要还集中在理论的高度,在实际的仿真运行运行过程中还未能起到很好的支撑,并且针对高性能计算机自身的特点,也没有相应的解决方法。
因此,需要提供一种容错方法,以保证仿真支撑环境能够对仿真系统进行容错,并对出错模型进行迁移和恢复运行,使得模型迁移后,整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行。
发明内容
本发明要解决的技术问题是提供一种基于高效能仿真云的容错方法,以解决以高性能仿真计算机为载体的仿真运行过程中仿真出错后快速可靠的识别出错误的问题。
为解决上述技术问题,本发明采用下述技术方案一种基于高效能仿真云的容错方法,该方法的步骤包括
根据仿真采用计算机的特点,确定容错类型;
各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;
利用心跳检测对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;
判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线纠错后,与其他正常的仿真成员一同恢复仿真运行。
优选的,所述容错类型包括仿真计算节点失效、CPU失效和Core失效。
优选的,采用以10秒为一个周期的被动心跳检测对个仿真成员进行检测。
优选的,所述仿真记录的时间点大于心跳周期的时间间隔。
优选的,所述共享数据区记录存储的内容包括仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点。
优选的,所述恢复仿真运行的步骤包括
判断异常情况的容错类型后,当前正常状态的仿真成员处于等待状态;
异常状态的仿真成员重新加入到仿真联邦中,并重新从共享数据区中读取与自己相关的仿真数据;
单独对异常状态的仿真成员从仿真开始进行推进,直至出错前的上一个记录的检测点。
本发明的有益效果如下:
本发明所述技术方案实现了在HLA架构下的基于高效能仿真云的容错技术,根据高效能仿真计算机的特点,对可能出现的仿真错误进行了分类;能够有效的对仿真运行过程中因为网络,多核架构下Core、CUP以及计算节点失效和高效能仿真计算机宕机引起的仿真成员不正常退出等情况进行有效监测;能够在整个仿真系统运行开始时创建共享的数据区,用来存储仿真中所有仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点,在仿真系统回退时候使用;在监测到仿真失效的时候,支持仿真对象“离线”恢复,并在恢复好后加入到仿真系统,然后进行“在线”运行,从而整个仿真系统继续正常运行。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1示出基于高性能仿真计算机的容错分级示意图;
图2示出本发明实施例中仿真系统容错过程的示意图。
具体实施方式
本发明公开了一种基于高性能仿真云的容错方法,该方法以高性能仿真计算机为载体,在仿真运行过程中仿真出错后快速可靠的识别出错误,并且对模型进行迁移和恢复运行,使得整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行,该方法的步骤包括
基于高性能仿真计算机的仿真错误分类
在复杂系统高效能仿真中,为了大大缩短仿真周期,因此现在的仿真运行都以高性能计算机作为硬件载体。在HLA高层体系结构的框架下,仿真任务、仿真联邦以及仿真对象会被分配在高性能计算机的不同部分,仿真模型可分别被部署到仿真计算节点之间,一个仿真计算节点的多个CPU上,以及小的仿真对象可被分配到一个CPU得core内,因此,根据高性能计算机的硬件特点,将容错分为Core失效、CPU失效和节点失效三个等级。
仿真系统的出错检测
本发明对错误的检查手段是通过心跳机制来检测的,心跳信息的存在代表目前的仿真成员或者联邦处于健康运行状态。心跳机制分为两种:主动心跳和被动心跳,其中主动心跳是在仿真运行的过程中,在周期内向运行支撑环境RTI发送心跳消息,一旦RTI在几个周期内没有接收到来自仿真成员的心跳消息,则判断为该仿真成员出错;被动心跳则是RTI以广播形式主动向每个成员进行发送心跳请求,接受到心跳请求后的成员返回心跳消息,汇报RTI自己是否健康运行。因为高效能仿真云需要为海量用户提供仿真环境,并且仿真的系统复杂、规模庞大,要求的通讯量巨大,主动心跳要求网络开销会很大,因此本发明采用被动心跳方式来检测。并且仿真的推进步长通常是毫米级的,如果每一个步长周期内进行心跳检测,势必会对网络带来巨大的压力,因此,可以设置以10秒为一个周期做一个心跳检测,这样既能保证仿真错误检测的可靠性,又能保证不浪费网络资源,保证仿真运行的高效性。除此之外,还能够根据仿真规模的大小,动态的调整心跳周期,以适应不同规模、不同精度的仿真运行。
针对错误类型进行错误处理
在仿真系统运行过程中,设置一个共享数据区,每个仿真成员在仿真数据交互的同时将交互的数据类型、数据内容、数据来源对象和数据的目的对象等数据记录到仿真系统的共享数据区,并且在一定的时间段做一个仿真时间点,此时要保证仿真记录的时间点能够大于心跳周期的时间间隔。当此仿真时间点当仿真系统一个或多个仿真成员发生错误时,共享数据区记录了这个仿真成员在之前所接收和发送的所有数据,以便于仿真恢复使用。
仿真系统恢复运行
在检测到仿真系统中一个或多个仿真节点失效后,将整个仿真系统进行回退,回退到上一个记录的仿真时间点,健康存在的仿真成员处于等待状态,而已经出错的仿真成员能够重新加入到仿真联邦中,并且能够读取共享数据区中跟自己有关的仿真数据,以获得其他仿真成员发送给自己的数据消息,单独对出错的仿真成员从仿真开始进行“离线”推进,当推进到时间记录点时,标志着此时的整个仿真系统的仿真状态已经达到此成员出错前的状态,然后开始同时“在线”进行仿真推进,继续仿真运行。
下面结合一组实施例及附图对本发明做进一步描述。
首先根据仿真计算机本身的硬件特点和仿真系统中的仿真模型,将仿真实例分配到不同的核,CPU以及节点上来运行的,根据此分配将容错分为三个等级:Core失效、CPU失效和节点失效。各仿真成员加入仿真系统,同时创建共享数据区对仿真过程进行记录,通常仿真的推进步长通常是毫米级的,并且仿真系统规模大、仿真系统复杂,将被动心跳检测的周期设置为10秒做一个心跳检测,这样既能保证仿真错误检测的可靠性,又能保证不浪费网络资源,保证仿真运行的高效性。除此之外,还能够根据仿真规模的大小,动态的调整心跳周期,以适应不同规模、不同精度的仿真运行。在仿真系统运行过程中,每个仿真成员在仿真数据交互的同时将交互的数据类型、数据内容、数据来源对象和数据的目的对象等数据都记录并保存到仿真系统的共享数据区,并且在一定的时间段做一个仿真时间点,保证仿真记录的时间点大于心跳周期的时间间隔。当检测到仿真系统中一个或多个仿真节点失效后,将整个仿真系统进行回退,回退到上一个记录的仿真时间点,健康存在的仿真成员处于等待状态,而已经出错的仿真成员能够重新加入到仿真联邦中,并且能够读取共享数据区中跟自己有关的仿真数据,以获得其他仿真成员发送给自己的数据消息,系统重新部署仿真模型,根据从共享数据区读取的数据,对出错的仿真成员进行单独的“离线”推进,当推进到时间记录点时,标志着此时的整个仿真系统的仿真状态已经达到此成员出错前的状态,然后开始同时“在线”进行仿真推进,继续仿真运行。
本发明针对高效能仿真云技术,结合高性能仿真计算机的特点,研究的容错技术能够快速准确的检测出仿真的失效,并周期的对仿真运行过程进行状态保存,在仿真失效后能够将失效模型以及子系统快速重新部署,并根据所保存历史输入输出交互数据,让新部署的仿真模型正确且迅速的运行至出错前的状态,并加入到整个仿真系统,仿真系统继续运行。本发明使仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。在保证仿真系统高效运行的同时还保证仿真系统运行结果的正确性。从而真正的做到仿真系统运行的高效。
综上所述,本发明所述技术方案在大规模复杂系统的仿真运行过程中,能够及时发现和应对仿真出现的错误,能够对错误点进行检测,对出错前的数据与状态进行保存,将出错的仿真模型或仿真子系统快速恢复运行,重新加入仿真系统,并且能够通过自身保存的交互数据迅速恢复到出错前状态,并重新恢复仿真系统的运行,使得仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。本发明适用于不同规模,不同精度的基于高效能仿真云平台的系统仿真,适用于国防科技领域各军工行业,同时也支持社会网络、地理、生物等仿真的民用领域。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (4)
1.一种基于高效能仿真云的容错方法,其特征在于,该方法的步骤包括
根据仿真采用计算机的特点,确定容错类型,所述容错类型包括仿真计算节点失效、CPU失效和Core失效;
各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;
利用心跳检测方法对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;
判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线推进后,与其他正常的仿真成员一同恢复仿真运行,所述恢复仿真运行的步骤包括:
判断异常情况的容错类型后,当前正常状态的仿真成员处于等待状态;
异常状态的仿真成员重新加入到仿真联邦中,并重新从共享数据区中读取与自己相关的仿真数据;
单独对异常状态的仿真成员从仿真开始执行仿真过程,直至出错前的上一个记录的检测点。
2.根据权利要求1所述的容错方法,其特征在于,采用以10秒为一个周期的被动心跳检测对个仿真成员进行检测。
3.根据权利要求2所述的容错方法,其特征在于,所述仿真记录的时间点大于心跳周期的时间间隔。
4.根据权利要求1所述的容错方法,其特征在于,所述共享数据区记录存储的内容包括仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510024122.9A CN104615502B (zh) | 2015-01-16 | 2015-01-16 | 一种基于高效能仿真云的容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510024122.9A CN104615502B (zh) | 2015-01-16 | 2015-01-16 | 一种基于高效能仿真云的容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615502A CN104615502A (zh) | 2015-05-13 |
CN104615502B true CN104615502B (zh) | 2018-01-02 |
Family
ID=53149958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510024122.9A Active CN104615502B (zh) | 2015-01-16 | 2015-01-16 | 一种基于高效能仿真云的容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615502B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612962B (zh) * | 2017-07-31 | 2020-07-14 | 北京航天长征飞行器研究所 | 一种分布式仿真评估试验管理系统 |
CN108459922A (zh) * | 2018-03-12 | 2018-08-28 | 北京理工大学 | 一种爆轰数值仿真并行程序中断续算方法 |
CN108388748A (zh) * | 2018-03-12 | 2018-08-10 | 北京理工大学 | 一种爆轰数值仿真串行程序中断续算方法 |
CN112818538B (zh) * | 2021-01-29 | 2023-07-07 | 北京仿真中心 | 一种想定参数层次设计方法 |
CN114567627B (zh) * | 2022-02-25 | 2024-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种仿真平台管理方法、系统、设备以及介质 |
CN115617703B (zh) * | 2022-12-20 | 2023-03-14 | 北京赛目科技股份有限公司 | 用于车辆仿真测试的方法、装置、系统、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365748A (zh) * | 2012-03-30 | 2013-10-23 | 国际商业机器公司 | 用于资源放置的计算和协调中的管理域集成的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464016B2 (en) * | 2001-11-09 | 2008-12-09 | Sun Microsystems, Inc. | Hot plug and hot pull system simulation |
-
2015
- 2015-01-16 CN CN201510024122.9A patent/CN104615502B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365748A (zh) * | 2012-03-30 | 2013-10-23 | 国际商业机器公司 | 用于资源放置的计算和协调中的管理域集成的系统和方法 |
Non-Patent Citations (3)
Title |
---|
HLA分布式仿真中容错机制研究;金士尧 等;《第十届全国容错计算学术会议论文集》;20030930;140,143 * |
基于Markov链的分布式仿真系统可用度研究;刘云生 等;《系统仿真学报》;20060630;第18卷(第6期);1544 * |
基于虚拟化技术的云仿真资源迁移技术研究;张雅彬 等;《系统仿真学报》;20110630;第23卷(第6期);1268-1272 * |
Also Published As
Publication number | Publication date |
---|---|
CN104615502A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104615502B (zh) | 一种基于高效能仿真云的容错方法 | |
Almeida et al. | ChainReaction: a causal+ consistent datastore based on chain replication | |
US10997063B1 (en) | System testing from production transactions | |
Pham et al. | Failure diagnosis for distributed systems using targeted fault injection | |
CN106796540A (zh) | 用于分布式计算的主动故障恢复模型 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN109359003B (zh) | 游戏服务器压力测试方法、装置及设备 | |
CN106357449A (zh) | 一种zedis分布式缓存方法 | |
AU2012203537A1 (en) | Method and system for automated system migration | |
Levy et al. | Using simulation to evaluate the performance of resilience strategies at scale | |
CN109672740B (zh) | 一种大规模集群环境中获取部署配置信息的方法 | |
Brooker et al. | Millions of tiny databases | |
Wang et al. | A fault-tolerant framework for asynchronous iterative computations in cloud environments | |
US20060112308A1 (en) | Selection of status data from synchronous redundant devices | |
Kończak et al. | Recovery algorithms for paxos-based state machine replication | |
Oppenheimer et al. | Roc-1: Hardware support for recovery-oriented computing | |
CN107168297B (zh) | 一种飞行控制计算机的可靠性验证方法及平台 | |
US11196624B2 (en) | Method and system for managing virtual datacenters | |
CN112516598B (zh) | 游戏服务故障的处理方法、装置、服务器及介质 | |
Jacques-Silva et al. | Fault injection-based assessment of partial fault tolerance in stream processing applications | |
Betz et al. | An investigation of the effects of hard and soft errors on graphics processing unit‐accelerated molecular dynamics simulations | |
CN107038095A (zh) | 用于冗余地处理数据的方法 | |
Hsu et al. | Using virtualization to validate fault-tolerant distributed systems | |
Tseitlin | The Antifragile Organization: Embracing Failure to Improve Resilience and Maximize Availability | |
Edmunds et al. | Technical Design Report for the Level 2 global processor |
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 |