首页> 中国专利> 一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法

一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法

摘要

本发明属于分布式系统仿真领域,具体涉及一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法。本发明包括:(1)根据联邦成员在时间区间产生事件的时间戳增量变化情况,确定前瞻量调整比例因子,并根据该比例因子确定是否需要对前瞻量进行调整;(2)若确定需调整前瞻量,根据本算法对前瞻量的定义,依据HLA规则如何合理调整前瞻量。该方法将仿真时间分段、分组管理,根据仿真状态更新,前瞻量调整比例因子,在利用比例因子判断是否需要调整前瞻量,最后依据HLA对调整前瞻量的约束条件,合理地更新前瞻量。该方法摒弃了对前瞻量的人为设定,使前瞻量能够更好地与仿真状态相结合,提供了仿真效率,降低了产生死锁的风险。

著录项

  • 公开/公告号CN104184816A

    专利类型发明专利

  • 公开/公告日2014-12-03

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201410431715.2

  • 发明设计人 徐悦竹;张万松;安家葆;印桂生;

    申请日2014-08-28

  • 分类号H04L29/08;

  • 代理机构

  • 代理人

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室

  • 入库时间 2023-12-17 03:36:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-24

    授权

    授权

  • 2014-12-31

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140828

    实质审查的生效

  • 2014-12-03

    公开

    公开

说明书

技术领域

本发明属于分布式系统仿真领域,具体涉及一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法。 

背景技术

前瞻量是在对并行离散事件仿真PDES保守算法的研究过程中产生的。该算法的基本思想是:仿真系统具有可实现性和可预见性,同时在满足本地因果约束条件下,系统能够完成正确的仿真过程。由于保守算法的约束性很强,需要时刻确保所处理事件的前后顺序,所以该算法很容易产生死锁。 

1978年,Chandy和Misra在提出的Chandy/Misra算法中首次使用了前瞻量。该算法是利用空消息解决死锁问题,逻辑进程通过发送只带时戳的空消息,通知其他进程其发送消息的最小时戳,其他进程通过该时戳判断并取消不必要的等待,从而解除因严格遵守本地约束条件而造成的死锁问题。空消息法通过预先告知其他进程本进程的消息时戳下限,来避免死锁问题的发生,其本质就是一种前瞻量的思想。 

在HLA规范中,没有给出前瞻量的具体定义和描述。规范中提到“仿真系统中各联邦成员的前瞻量,由各联邦成员程序根据自身特点而确定”。不过Fujimoto在文献中给出了针对前瞻量大小设置的五点建议: 

(1)可将联邦成员对外来事件的回应时间设置为前瞻量。 

(2)一个联邦成员发出一个可影响另一个联邦成员的事件,前瞻量可设置为该事件在网络中的传输时间。 

(3)当无法确定事件的发生时间时,前瞻量可设置为该事件可能发生的时间范围。 

(4)基于步长推进的联邦成员通常将前瞻量设置为时间步长。 

(5)事件的非抢占性。一个联邦成员按照自身的业务模型计算并推进,在接下来的L时间内不影响其他成员也不被其他成员影响,则此时可将前瞻量设置为L。 

前瞻量的作用主要有两点:(1)提高仿真系统的并行性;(2)避免死锁的发生。 

当前瞻量较小时,仿真系统的同步性较高;当前瞻量较大时,仿真系统的并行性较高。 

前瞻量的引入对于避免死锁有着重要的作用。在引入前瞻量之前,,联邦成员因为相互之间请求推进逻辑时间的限制,导致仿真系统常会出现死锁。前瞻量是分布式时间管理中的一个重要概念,联邦成员利用前瞻量将产生的事件消息时间戳提前告知其他成员,其他成员根据这一对未来的承诺,合理的安排自身的时间推进,这样加快了仿真系统的运行。 

保守时间推进机制,保证仿真系统处理联邦成员事件时采用TSO顺序,前瞻量是确保其 顺利运行的关键,每个时间调控类型联邦成员都向RTI发布自身的前瞻量,RTI根据成员的前瞻量和当前逻辑时间计算出所有事件的最小时间戳。 

发明内容

本发明的目的在于提供过一种降低产生死锁的风险的基于仿真成员事件时戳增量期望的前瞻量动态调整方法。 

本发明的目的是这样实现的: 

(1)根据联邦成员在时间区间产生事件的时间戳增量变化情况,确定前瞻量调整比例因子,并根据该比例因子确定是否需要对前瞻量进行调整; 

(2)若确定需调整前瞻量,根据本算法对前瞻量的定义,依据HLA规则如何合理调整前瞻量: 

(2.1)将仿真时间根据规定的间隔进行分段,分好后再从第二个时间段开始将时间段分组,每个时间分组中包含固定数目的时间分段; 

(2.2)设定前瞻量初始值,该值会在仿真初期使用; 

(2.3)在仿真过程开始后,记录下每个时间段中联邦成员的时间时戳增量,该增量记为前瞻量调整值,同时在每个时间分组的首个时间段过后计算出该分组的前瞻量调整比例因子; 

(2.4)每个时间分组根据该组中的比例因子及各时间段中成员事件时戳增量情况,判断是否需要调整时间段中的前瞻量大小; 

(2.5)若经判断,需调整前瞻量,则根据HLA中前瞻量调整策略,动态调整时间段中的前瞻量大小。 

本发明的有益效果在于:该方法将仿真时间分段、分组管理,根据仿真状态更新,前瞻量调整比例因子,在利用比例因子判断是否需要调整前瞻量,最后依据HLA对调整前瞻量的约束条件,合理地更新前瞻量。该方法摒弃了对前瞻量的人为设定,使前瞻量能够更好地与仿真状态相结合,提供了仿真效率,降低了产生死锁的风险。 

附图说明

图1本发明中整个流程图; 

图2本发明中前瞻量调整动态调整方法流程图; 

图3本发明中对前瞻量调整的过程实例。 

具体实施方式

下面结合附图对本发明做进一步描述。 

本发明提供一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法。通过分析仿真系统中联邦成员的相互关系以及时间推进机制,同时结合最大可用逻辑时间GALT的相关算 法,从联邦成员产生的事件时戳入手,提出了该种调整方法。该方法通过将仿真时间分段管理,并在每个时间段中分别计算前瞻量调整比例因子,根据该比例因子判断是否对前瞻量进行调整,同时计算时间段中成员事件的时戳增量期望,该期望即为前瞻量调整值。该方法随着仿真过程的推进,对前瞻量调整比例因子、前瞻量大小做了实时更新,使得前瞻量更加符合仿真过程的实时状态,缩短了GALT的计算时间,对仿真死锁的解除起到了重要的作用。 

本发明提供的前瞻量动态调整方法,其步骤包括: 

步骤1.将仿真时间根据规定的间隔分段,对仿真时间的分段管理,该方式有效的平衡时戳增量波动较大的情况。分好后再从第二个时间段开始将时间段分组,每个时间分组中包含固定数目的时间分段。利用对时间段的分组管理,可以根据仿真过程中的运行状态,动态的调整每个分组内的前瞻量调整比例因子,是比例因子随着仿真状态的变化而改变。 

步骤2.设定前瞻量初始值,该值会在仿真初期使用。 

步骤3.在仿真过程开始后,计算出下每个时间段中联邦成员的时间时戳增量。由分析可知,若事件时戳增量变化值远远大于前瞻量设定值,则联邦成员需要对GALT进行多次计算才能处理该事件;若事件时戳增量小于前瞻量设置值,则会出现逻辑错误,此时需要重新调整前瞻量,以保证联邦运行的逻辑正确性。故该增量记为前瞻量调整值,同时在每个时间分组的首个时间段过后计算出该分组的前瞻量调整比例因子。利用时间分组内的比例因子,判断组内每个时间段中是否需要调整前瞻量大小。 

步骤4.将时间分组内的每个时间段中的事件时戳增量期望与首个时间段中事件时戳增量期望相比,根据该比值与组内比例因子的关系,判断是否需要调整时间段中的前瞻量大小。 

步骤5.若经判断,需调整前瞻量,则根据HLA中前瞻量调整策略,动态调整时间段中的前瞻量大小。 

本发明中最关键的是对前瞻量大小的定义,根据前瞻量对最大可用逻辑时间的影响,将每个时间段中事件时戳增量的期望值作为时间段中的前瞻量大小,当需要对前瞻量进行调整时,将时间段中的前瞻量更新为事件时戳增量期望。 

本发明提供了一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法。本发明目的在于解决基于HLA的分布式仿真系统中可能存在的运行死锁问题。通过分析前瞻量在最大可用逻辑时间计算问题中的作用,并结合HLA时间管理对调整前瞻量的约束,提出了前瞻量动态调整方法。该方法将仿真时间分段、分组管理,根据仿真状态更新,前瞻量调整比例因子,在利用比例因子判断是否需要调整前瞻量,最后依据HLA对调整前瞻量的约束条件,合理地更新前瞻量。该方法摒弃了对前瞻量的人为设定,使前瞻量能够更好地与仿真状态相结合,提供了仿真效率,降低了产生死锁的风险。 

通过分析联邦成员最大可用逻辑时间GALT算法,发现合理的设置前瞻量可以有效地降低联邦成员计算GALT的次数与时间,提高了仿真效率,也同时降低了产生仿真死锁的风险。本发明提出了一种基于仿真成员事件时戳增量期望的前瞻量动态调整方法,图1给出了整个方法的实现流程图,包括从开始对仿真时间的分段到根据HLA规范对前瞻量进行合理调整,图2给出了前瞻量调整方法的实例。 

下面结合附图1和具体实施方式对本发明做进一步说明。 

步骤1.将仿真时间根据规定的间隔分段,分好后再从第二个时间段开始将时间段分组,每个时间分组中包含固定数目的时间分段。 

步骤2.设定前瞻量初始值,该值会在仿真初期使用。 

步骤3.在仿真过程开始后,记录下每个时间段中联邦成员的时间时戳增量,该增量记为前瞻量调整值,同时在每个时间分组的首个时间段过后计算出该分组的前瞻量调整比例因子。 

步骤4.每个时间分组根据该组中的比例因子及各时间段中成员事件时戳增量情况,判断是否需要调整时间段中的前瞻量大小。详细如图2所示,判断条件分为三种情况,每种情况对于前瞻量的处理均不同。 

步骤5.若经判断,需调整前瞻量,则根据HLA中前瞻量调整策略,动态调整时间段中的前瞻量大小。 

步骤6.判定仿真是否结束,前瞻量的调整直至仿真结束。 

(1)对于仿真时间的分段管理,该方式有效的平衡时戳增量波动较大的情况。同时利用对时间段的分组管理,可以根据仿真过程中的运行状态,动态的调整每个分组内的前瞻量调整比例因子,是比例因子随着仿真状态的变化而改变。 

(2)利用时间分组内的比例因子,判断组内每个时间段中是否需要调整前瞻量大小。 

(3)最重要的是,本发明根据前瞻量对最大可用逻辑时间的影响,将每个时间段中事件时戳增量的期望值作为时间段中的前瞻量大小,当需要对前瞻量进行调整时,将时间段中的前瞻量更新为事件时戳增量期望 

图3所示,当前瞻量变大时,RTI会立即同意该请求,当前瞻量需变小时,RTI并不会立即更新前瞻量,而是逐渐缩小前瞻量的值,已达到更新值,该种更新方式是为了保证联邦成员不会收到过时消息,而导致仿真逻辑错误。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号