[发明专利]一种用于分布式仿真的仿真推进顺序错误识别及修正方法在审
申请号: | 201410853714.7 | 申请日: | 2014-12-31 |
公开(公告)号: | CN104615478A | 公开(公告)日: | 2015-05-13 |
发明(设计)人: | 刘民岷;韩效 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/36 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 张杨 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 分布式 仿真 推进 顺序 错误 识别 修正 方法 | ||
技术领域
本发明是一种分布式仿真环境下的时间管理新方法,是基于向量时间技术提出的用于分布式仿真环境下进行乐观时间推进的方法和系统。
技术背景
在分布式仿真环境下,由于仿真主机的计算开销和通信网络传输延迟等原因,仿真中的时延往往会大于实际的时延,导致仿真运行结果偏离真实世界,出现类似于因果颠倒的问题,从而破坏仿真的正确性和可信度。仿真时间管理的任务就是确保仿真系统中各仿真结点的事件处理顺序同真实世界中的事件发生顺序的一致性,亦即保证仿真邦员的正确因果关系。分布式仿真时间管理领域流行的两种管理机制是保守时间推进机制和乐观时间推进机制。
保守时间推进机制严格禁止仿真过程中发生因果关系的错误,确保仿真推进过程中各类事件按照时间的先后顺序进行处理。最经典的保守策略是由Chandy和Misra于1978年提出来的(简称C-M算法)。C-M算法假设仿真进程发送的消息按照时间非递减的顺序排序,同时底层网络能保证消息按序接收。消息到达接收方后缓存在一个FIFO队列中,队列中的消息也按照消息携带的时戳排序,接收方进程每次从消息队列中取时戳最小的消息进行处理,如果队列空,则阻塞进程。保守策略存在的问题在于会降低仿真推进的效率,同时有可能会引起死锁。
保守策略保证了仿真运行过程中的正常因果关系,但引入了较强的限制,严重制约了仿真推进的效率。针对这一弱点,仿真界提出了乐观时间推进机制,乐观机制的指导思想是:最大程度地保证系统运行的并行性,提高系统的运行效率。最经典的乐观机制由Jefferson于1985年提出,称之为Time Warp机制。乐观机制对仿真成员的时间推进不加限制,一旦发生因果关系错误,则通过回滚机制将仿真回退到错误发生之前。乐观推进机制允许出现暂时性的因果顺序错误,但要求系统能够尽快检测到错误的发生,并通过回滚机制进行恢复。传统乐观机制需要在全局范围进行虚拟时钟的计算;通过发送反消息的方式出发回滚,并根据虚拟时钟进行回滚的识别和控制。基于反消息的回滚控制可能会引起逐级的反消息发送,并且无法预知回滚的深度,难以进行回滚优化,回滚的控制效率较低,严重的制约了分布式仿真执行的效率。
发明内容
为了克服分布式仿真环境下现有时间管理技术的不足,本发明提出了一个基于向量时间的分布式仿真时间管理方法(Vector Time based Time Management Method,VTTM)。其主要目的在于避免传统保守时间管理机制引起的仿真性能损失,同时又避免传统乐观时间推进机制在 出现因果错误之后带来的回滚开销及可能产生的回滚风暴,从而有效的提升分布式仿真执行的性能。
为了达到上述目的,本发明提出了基于向量时间的乐观时间推进机制。基于向量时间的乐观时间推进机制下,仿真执行过程中不严格限制仿真邦员之间的逻辑时间顺序关系,允许出现逻辑时间顺序错误,因而仿真可以全速推进;当出现逻辑错误之后,利用回滚机制进行恢复。仿真执行过程中,逻辑时间顺序的错误识别方式是:当仿真邦员收到的消息m所携带的时戳向量小于邦员本地的向量时间,则说明消息m迟到,即可判定出现了因果顺序错误。
为了达到上述目的,本发明提出了回滚向量的概念,回滚向量是仿真推进过程中出现因果顺序错误需要回滚的时候,邦员广播的向量时间。其格式与系统的向量时间相同,具有n个邦员的仿真系统的回滚向量表示为TRollback(t1,t2,…,ti,…tn),其中分量ti代表了邦员i对应的回滚位置。
为了达到上述目的,在回滚向量定义的基础上,设计了回滚算法,算法步骤如下:1)当仿真邦员i在推进过程中收到消息mi,提取其中的时戳ti之后,发现ti<T(此处T表示仿真邦员当前的向量时间),则确定出现了因果顺序错误;2)邦员i构造回滚向量TRollback=ti;3)邦员i向所有邦员广播携带该回滚向量TRollback的回滚消息;4)收到回滚消息的邦员提取其中的回滚消息,并将仿真回退到小于等于TRollback的位置,然后重新运行。由于向量时间携带了全局的逻辑时间信息,因此可以很容易的确定系统当中的逻辑时间顺序错误。当出现因果顺序错误的时候,回滚控制也非常的简单明确,不会出现不可预知的回滚风暴。算法简单,执行效率高。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410853714.7/2.html,转载请声明来源钻瓜专利网。