CN103716397A - 一种面向服务仿真时钟推进方法 - Google Patents

一种面向服务仿真时钟推进方法 Download PDF

Info

Publication number
CN103716397A
CN103716397A CN201310745049.5A CN201310745049A CN103716397A CN 103716397 A CN103716397 A CN 103716397A CN 201310745049 A CN201310745049 A CN 201310745049A CN 103716397 A CN103716397 A CN 103716397A
Authority
CN
China
Prior art keywords
clock
simulation
advances
simulation node
advance
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.)
Granted
Application number
CN201310745049.5A
Other languages
English (en)
Other versions
CN103716397B (zh
Inventor
林剑柠
俞杰
李玉萍
徐慧
崔鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201310745049.5A priority Critical patent/CN103716397B/zh
Publication of CN103716397A publication Critical patent/CN103716397A/zh
Application granted granted Critical
Publication of CN103716397B publication Critical patent/CN103716397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向服务仿真时钟推进方法,包括设置在每个仿真节点上的时钟推进代理、时钟推进服务器,所述时钟推进代理为用户提供仿真时钟推进接口,自动为用户生成仿真时钟推进消息,并接收时钟推进计算结果反馈给用户;所述时钟推进服务器负责接收时钟推进代理发送的时钟推进请求,加载时钟推进服务实例,计算时钟推进步长,并返回时钟推进结果给时钟推进代理。本发明在计算最大安全时间的步骤中,考虑了网络延迟对时钟推进的影响,使得每个仿真节点在时钟推进过程中尽可能接收完整的时钟推进消息,避免由于网络性能不佳带来的时钟事件和消息延迟,从而影响整个仿真系统的运行状态。

Description

一种面向服务仿真时钟推进方法
技术领域
本发明涉及一种属于计算机仿真应用技术领域,特别是一种面向服务仿真时钟推进方法。
背景技术
随着计算机仿真技术的广泛应用,特别是现代军事需求的推动,分布式仿真技术不断朝着高度分布性、良好的互操作性和可扩展性方向发展。一方面,大规模、细粒度、长时间的分布仿真对系统计算能力、可靠性、容错性的要求越来越高;另一方面,针对灵活多变的仿真任务需求,仿真系统的构建方式转变为“以模型为中心”,更加强调分布在网络上的仿真模型的共享、重用和集成。但是,现有的基于HLA构建的仿真系统存在资源利用率低下、缺乏动态负载平衡能力、容错能力不足、仿真应用部署繁琐、仿真应用间协作和互操作机制缺乏等问题;而且,传统的HLA仿真是以RTI为中心,将不同仿真节点进行互联来构建仿真,故HLA也不能满足新的仿真系统构建模式。目前的时钟推进系统和时钟推进计算方法都是以局域网应用为背景,难以满足广域网环境下网络延迟带来的计算影响。
目前,国内外针对仿真时钟推进计算方法的改进已经开展了大量的相关研究。有人给出了一种层次式联邦体系结构,该结构关键在于能够兼容HLA相关服务,除此之外研究了其时钟推进时各层次间关系并介绍了系统开发。中国台湾学者设计了一种称为Smart Time Management(STM)的代理接口,用其来统一满足HLA规则的各种推进方式下的所有时间管理服务。STM是一种基于HLA的统一时间管理机制,是一种统一可扩展的中间层,当处理同步问题时,允许用户用统一的时间管理接口构造HLA仿真节点。新加坡专家创造性的设计了一种面向服务结构的网格分布仿真时间管理,其将时间管理服务进行组件化开发,使用了仿真拓扑信息来减少仿真组件间的时钟推进限制。以上研究均非常有意义,对于时间管理的探讨均取得了重大的突破。这些研究虽然对时间管理服务在大规模广域网环境下应用的局限性并做了相关研究,但是并没有更紧密的联系网络化思想及面向服务技术,更多的是偏向组件开发结构以及拓扑信息传输,并未对推进时钟步长进行全面研究。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术中网络环境下仿真系统运行过程中逻辑时钟推进的问题,提供一种面向服务仿真时钟推进方法。
为了解决上述技术问题,本发明公开了一种面向服务仿真时钟推进方法,包括设置在每个仿真节点上的时钟推进代理、时钟推进服务器,所述时钟推进代理为用户提供仿真时钟推进接口,自动为用户生成仿真时钟推进消息,并接收时钟推进计算结果反馈给用户;所述时钟推进服务器负责接收时钟推进代理发送的时钟推进请求,加载时钟推进服务实例,计算时钟推进步长,并返回时钟推进结果给时钟推进代理。由此解决网络化仿真系统运行过程中实时性要求,满足仿真系统中各仿真节点逻辑时间同步的需求,通过服务端灵活创建多个时钟推进计算服务实例,满足多个仿真节点并发进行时钟推进计算服务的需求。
本发明为仿真应用提供了三类接口:时间注册接口、时间设置接口、时钟推进接口。用户通过所述三类接口与所述时钟推进服务器进行交互,完成仿真时钟推进过程。所述时间注册接口,在用户仿真节点初始化时被调用,向时钟推进服务器发送本仿真节点基本消息,包括仿真节点IP、仿真节点ID,表明本仿真节点将使用时统服务;所述时钟设置接口,在用户仿真节点初始化或者状态发生变化时被调用,向时钟推进服务器发送消息,向时钟推进服务器设置本仿真节点需要使用的仿真时钟推进的时间特性和参数要求;所述时钟推进接口,在用户仿真节点需要与其它仿真节点进行时钟同步时调用,向时钟推进服务器发起时钟推进请求,请求时钟推进服务器计算本仿真节点能推进的最大时钟步长。
本发明所述时钟推进服务器包括时钟服务部署模块、时钟推进请求接收模块、时钟推进请求处理模块。
所述时钟服务部署模块是针对DLL格式的文件一系列操作过程,它提供本地文件夹监视功能、时钟计算服务部署功能。本地文件夹监视功能用于接收本地或远程已经开发好的时钟推进计算服务的DLL文件,并将接收到的文件传拷贝到指定的文件路径下;部署功能是在接收到服务执行文件后,将DLL文件拷贝到服务器指定的路径下,并完成该时钟推进计算服务的参数配置信息。
本发明所述时钟推进请求接收模块管理和维护一个请求消息缓冲区,将接收到的时钟推进请求放入缓冲区队列,等待处理;缓冲区内的请求消息将按照先来先服务的原则依次处理。
本发明所述时钟服务请求处理模块将接收的用户时钟推进服务请求分配给时钟推进计算服务,并将时钟推进计算服务的处理结果返回给用户,它包括时钟推进请求预处理子模块、时钟推进计算服务调度模块、时钟推进请求作业管理模块。
本发明所述时钟推进请求预处理子模块监控缓冲区是否有新的请求消息到达,当有新的消息到达时,按照请求消息到达的先后顺序,遵循先来先服务的原则,读取新到达的请求消息;对读取的请求消息进行解析,提炼出时钟计算服务调用的参数信息,包括当前时钟值、时钟推进步长需求、请求时钟推进的仿真节点ID等参数信息,并发送给所述时钟推进请求作乐管理模块。
本发明所述时钟推进请求作业管理模块接收新到达的时钟推进请求,将该请求放入计算任务队列中,通知时钟推进计算服务调度模块选择时钟计算服务开始计算推进时间;同时,对当前所有的计算任务进行监控,当计算任务结束后,移出任务队列。所述时钟推进请求作业管理模块,管理一个就绪任务队列,该任务队列中缓冲所有仿真节点发送的时钟推进请求计算任务信息,该就绪任务队列满足先来先服务的原则。对于每个计算任务,分为四种状态:等待、处理、异常和结束。对于每个处于处理状态的计算任务,如果该计算任务的计算时间大于设置的阈值,则所述时钟推进请求作业管理模块将表示该计算任务为异常,并通知所述时钟推进计算服务调度模块终止该计算任务对应的实例线程。
本发明所述时钟推进计算服务调度模块解析时钟推进请求,遍历当前已经加载运行的时钟推进计算服务是否空闲;如果有空闲的时钟推进计算服务,将该请求分配该空闲的时钟推进计算服务;如果没有空闲的时钟推进计算服务,则动态加载一个新的时钟推进计算服务实例,并将时钟推进请求分配给该实例。
本发明中,时钟推进计算服务在计算时钟推进最大步长过程中屏蔽了网络传输延迟产生的瞬时消息影响,采用了基于延迟偏移量的时钟推进步长计算方法,其步骤如下:
步骤1:仿真节点向时钟推进服务器申请时钟推进,服务器收到相应推进请求;
步骤2:仿真时钟推进服务器对所有仿真节点进行遍历,若申请推进的仿真节点存在,则继续计算,否则返回;
步骤3:将申请推进的仿真节点状态改为推进(Time_Advanced),并开始计算仿真节点推进时间,将申请推进仿真节点加入推进列表;
步骤4:开始计算仿真节点安全推进距离,将所有推进仿真节点分为两类:控制仿真节点(Regulated)和受限仿真节点(Constrained),只有控制仿真节点才会对其它仿真节点的时钟推进产生影响,遍历所有仿真节点,找到所有控制仿真节点,根据不同的仿真节点推进方式,开始计算申请时钟推进的仿真节点i的最大安全推进时间GATi
步骤5:在计算得出所有仿真节点的最大安全推进时间GAT(i)后,遍历推进列表所有仿真节点,若列表中仿真节点为受限仿真节点,推进仿真节点,见步骤9,若推进列表中仿真节点为非受限仿真节点,见步骤10;
步骤6:若推进仿真节点为受限仿真节点,将其申请的推进时间与其推进状态下之前记录的最小GAT(i)进行比较,若申请推进时间小于或等于最小GAT(i),则转步骤11,若申请时间大于最小GAT(i),仿真节点时间不可推进,仿真节点进入等待状态;
步骤7:若推进仿真节点为非受限仿真节点,则其推进不受其它仿真节点约束,若推进仿真节点状态为推进,直接进行时钟推进,若仿真节点状态为不可推进,则该仿真节点时间不可推进,进入等待状态;
步骤8:当申请时间小于等于最小GAT(i)时,进行时钟推进,更新仿真节点时间,置仿真节点状态为空闲(Time_Idle)并从推进列表中删除该推进仿真节点;
步骤9:遍历所有仿真节点,将所有仿真节点推进状态更改为不可推进,将更新后的消息以报文格式发送。
本发明中最大安全推进时间GAT(i)采用如下方法计算:
首先判断仿真节点推进方式:分为:若为基于时钟推进的方式和基于事件的推进方式;如果申请时钟推进的仿真节点序列为n={ni,i∈[1,m]};对于任意的仿真节点i的最大时钟推进步长设为GATi,且满足GAT(i)=min{OUTPUT(j)},i≠j;m为仿真节点的数量,i和j分别表示仿真节点编号;
其中,OUTPUT(i)定义为:
Figure BDA0000450117960000051
OUTPUT(i):仿真节点i的输出时间;OUTPUT(i)与OUTPUT(j)相同。
当仿真节点处于推进后空闲状态时,T(i)为仿真节点i的当前物理时间;当仿真节点处于请求推进状态时,T(i)为仿真节点i请求推进的物理时间;
L(i)为仿真节点i的前瞻值,L(i)在仿真节点初始化时调用所述时钟注册接口时设置,设置范围为[0,0.5];
LETS'(i)为仿真节点i修正后的时戳消息队列中的最小消息的时间戳;
D(i)为仿真节点i订购其它仿真节点信息到仿真节点i的到达时间预测值,表示为:
D(i)=Current_Time+latency_ub;
latency_ub在仿真节点初始化时调用注册接口设置,设置范围为[0,1],Current_Time为当前时间;
LETS'(i)计算公式如下:
LETS'(i)=TimeStamp+latency_ub,TimeStamp为该仿真节点发出的时钟推进请求消息中附带的时间戳对应的时间。
有益效果:本发明提供了一种面向服务仿真时钟推进方法,针对广域网环境下,仿真节点运行过程中使用时钟推进服务时,采用基于网络延迟的时钟偏移计算方法,计算仿真节点上的时钟推进步长。在计算最大安全时间的步骤中,考虑了网络延迟对时钟推进的影响,使得每个仿真节点在时钟推进过程中尽可能接收完整的时钟推进消息,避免由于网络性能不佳带来的时钟事件和消息延迟,从而影响整个仿真系统的运行状态。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明应用系统示意图。
图2为本发明时钟推进代理接口示意图。
图3为本发明时钟服务请求处理流程图。
图4为本发明时钟推进方法流程图。
具体实施方式
下面结合附图及实例对本发明作进一步描述:
参见图1,图1所示为本发明的时钟推进系统的分级示意图,由图1可知,一个时钟推进系统由两部分组成:时钟推进服务器和时钟推进代理;分别部署在服务端仿真节点和客户端仿真节点。所述时钟推进服务器负责接收时钟推进请求,选择时钟推进计算服务,计算发起请求的仿真节点的最大时钟推进步长,并返回给客户端代理。所述时钟推进代理为仿真应用提供三类接口:时钟初始化接口、时钟注册接口和时钟推进请求接口。对于一个时钟推进服务器可以同时为多个仿真节点提供时钟推进计算服务。所述时钟服务部署模块是针对DLL格式的文件一系列操作过程,可将已经开发好的时钟推进计算服务装载入时钟服务器中,使其可被用户调用;它提供本地文件夹监视功能、时钟计算服务部署功能。本地文件夹监视功能用于接收本地或远程已经开发好的时钟推进计算服务的DLL文件,并将接收到的文件传拷贝到指定的文件路径下;部署功能是在接收到服务执行文件后,将DLL文件拷贝到服务器指定的路径下,并完成该时钟推进计算服务的参数配置信息;
参见图2,图2所示为时钟推进代理提供的三个接口示意图:时钟初始化接口、时钟注册接口和时钟推进请求接口。时钟推进代理以DLL的形式提供。在仿真应用运行过程中动态加载和调用,仿真应用通过所述三类接口与所述时钟推进服务器进行交互,完成仿真时钟推进过程。所述时间注册接口,在用户仿真节点初始化时被调用,向时钟推进服务器发送本仿真节点基本消息,包括仿真节点IP、仿真节点ID,表明本仿真节点将使用时统服务;所述时钟设置接口,在用户仿真节点初始化或者状态发生变化时被调用,向时钟推进服务器发送消息,向时钟推进服务器设置本仿真节点需要使用的仿真时钟推进的时间特性和参数要求;所述时钟推进接口,在用户仿真节点需要与其它仿真节点进行时钟同步时调用,向时钟推进服务器发起时钟推进请求,请求时钟推进服务器计算本仿真节点能推进的最大时钟步长;
参见图3,图3所示为时钟推进服务器功能模块示意图,该时钟推进服务器由时钟推进请求预处理模块、时钟推进请求作业管理模块和时钟推进计算服务调度模块构成。时钟推进服务器接收到时钟推进代理发送的时钟推进请求后,由时钟推进接收模块将请求信息放入请求消息队列中,并触发请求消息到达事件,通知时钟推进请求预处理模块读取,该队列中的请求消息按照先来先服务的原则等待处理。时钟推进请求预处理模块从请求队列中读取最新的时钟推进请求,对消息进行解析,提炼出时钟推进计算服务的调用参数,包括推进请求的时间戳、步长、请求仿真节点ID等。时钟推进请求预处理模块解析请求消息后,为该请求信息生成就绪任务,放入就绪任务队列中。,并通知时钟推进请求作业管理模块;时钟推进请求作业管理模块接收到有新的就绪任务的消息后,时钟推进请求作业管理模块从就绪任务队列中取出第一个就绪任务送入时钟推进计算服务调度模块。时钟推进计算服务调度模块管理一个时钟推进计算服务实例理线程池,线程池中维护多个时钟推进计算服务执行线程实例,每个线程的输入为时钟推进请求消息,输出为时钟推进最大步长信息。对于同一个时钟推进计算服务,允许有多个实例线程,这样可以支持并发调度。时钟推进计算服务调度模块获取调度就绪任务可以通过P-V操作实现互斥。当某一个调度执行线程空闲时,将查询调度任务就绪队列,判断是否有使用该调度模型的调度任务就绪,如果有,则取出该任务执行调度过程;反之,调度执行线程将进行空闲等待状态,等待新的调度任务到来。当调度执行线程完成一次调度过程后,将通知时钟推进请求作业管理模块调度过程结束,返回调度结果;同时,时钟推进请求作业管理模块将从就绪任务队列中删除该时钟推进计算任务相关任务信息。所述时钟推进请求作业管理模块对就绪任务队列中的所有计算任务进行监控,将计算任务的状态分为等待中、处理中和处理结束三种状态,对就绪任务队列中的时钟推进计算任务将采取先来先服务的原则。时钟推进请求作业管理模块将定时扫描就绪任务队列,对于处于等待中状态的计算任务,每次扫描过程中取出一个就绪的时钟推进计算任务,送入时钟推进计算服务调度模块进行计算,并记录下开始计算的时间;对于处于处理中状态的计算任务,时钟推进请求作业管理模块将计算该任务已经花费的计算时间;如果该计算时间大于阈值,则通知时钟推进计算服务调度模块结束该使计算任务的服务实例,并表示该计算任务失败,返回客户端代理;反之,继续扫描。
参见图4,图4所示为所述时钟推进计算方法流程图。所述时钟计算服务接收仿真节点申请的时钟推进请求消息后,首先对所有仿真节点进行遍历,如果消息申请者为仿真节点,则更改该仿真节点状态为推进状态,并开始计算时钟推进步长;反之,将该推进请求消息废弃;然后,时钟计算服务重新偏离所有仿真节点,判断消息申请者为控制仿真节点还是受限仿真节点;如果为控制仿真节点,开始计算该仿真节点的时钟推进步长;计算过程将根据该仿真节点的选择的推进方式选择不同的时钟推进步长计算方法,将所有推进仿真节点分为两类:控制仿真节点(Regulated)和受限仿真节点(Constrained),只有控制仿真节点才会对其它仿真节点的时钟推进产生影响,遍历所有仿真节点,找到所有控制仿真节点,开始计算申请时钟推进的仿真节点i的最大安全推进时间GATi;判断仿真节点推进方式,根据仿真节点的不同推进方式,选择不同的计算公式。在计算得出所有仿真节点GAT(i)后,遍历推进列表所有仿真节点,若列表中仿真节点为受限仿真节点,推进仿真节点,将其申请的推进时间与其推进状态下之前记录的最小GAT(i)进行比较,若申请推进时间小于或等于最小GAT(i),则转步骤11,若申请时间大于最小GAT(i),仿真节点时间不可推进,仿真节点进入等待状态;若推进列表中仿真节点为非受限仿真节点,其推进不受其它仿真节点约束,若推进仿真节点状态为推进,直接进行时钟推进,若仿真节点状态为不可推进,则该仿真节点时间不可推进,进入等待状态;当申请时间小于等于最小GAT(i)时,进行时钟推进,更新仿真节点时间,置仿真节点状态为空闲(Time_Idle)并从推进列表中删除该推进仿真节点;遍历所有仿真节点,将所有仿真节点推进状态更改为不可推进,将更新后的消息以报文格式发送。本发明提供了一种面向服务仿真时钟推进方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (8)

1.一种面向服务仿真时钟推进方法,包括设置在每个仿真节点上的时钟推进代理、时钟推进服务器,其特征在于:
所述时钟推进代理为用户提供仿真时钟推进接口,自动为用户生成仿真时钟推进消息,并接收时钟推进计算结果反馈给用户;
所述时钟推进服务器负责接收时钟推进代理发送的时钟推进请求,加载时钟推进服务实例,计算时钟推进步长,并返回时钟推进结果给时钟推进代理。
2.根据权利要求1所述的一种面向服务仿真时钟推进方法,其特征在于:
所述时钟推进代理,为用户提供三类调用接口:时间注册接口、时间设置接口、时钟推进接口;用户通过所述三类接口与所述时钟推进服务器进行交互,完成仿真时钟推进过程;
所述时间注册接口,在用户仿真节点初始化时被调用,向时钟推进服务器发送本仿真节点基本消息,包括仿真节点IP、仿真节点ID,表明本仿真节点将使用时统服务;
所述时钟设置接口,在用户仿真节点初始化或者状态发生变化时被调用,向时钟推进服务器发送消息,向时钟推进服务器设置本仿真节点需要使用的仿真时钟推进的时间特性和参数要求;
所述时钟推进接口,在用户仿真节点需要与其它仿真节点进行时钟同步时调用,向时钟推进服务器发起时钟推进请求,请求时钟推进服务器计算本仿真节点能推进的最大时钟步长。
3.根据权利要求1所述的一种面向服务仿真时钟推进方法,其特征在于:
所述时钟推进服务器,包括:时钟服务部署模块、时钟推进请求接收模块、时钟推进请求处理模块;
所述时钟服务部署模块将已经开发好的时钟推进计算服务装载入时钟服务器中,使其可被用户调用;
所述时钟推进请求接收模块将接收到的时钟推进请求放入缓冲区队列,等待处理;
所述时钟服务请求处理模块自动将接收的用户时钟推进服务请求分配给时钟推进计算服务,并将时钟推进计算服务的处理结果返回给用户。
4.根据权利要求3所述的一种面向服务仿真时钟推进方法,其特征在于:
所述时钟服务部署模块为针对DLL格式文件的操作,它提供本地文件夹监视功能、时钟计算服务部署功能;
本地文件夹监视功能用于接收本地或远程已经开发好的时钟推进计算服务的DLL文件,并将接收到的文件传拷贝到指定的文件路径下;
时钟计算服务部署功能为用于在接收到服务执行文件后,将DLL文件拷贝到服务器指定的路径下,并完成该时钟推进计算服务的参数配置信息。
5.根据权利要求3所述的一种面向服务仿真时钟推进方法,其特征在于:
所述时钟推进请求处理模块包括时钟推进请求预处理子模块、时钟推进计算服务调度模块、时钟推进请求作业管理模块;
所述时钟推进请求预处理子模块管理请求消息缓冲区,监控请求消息缓冲区是否有新的请求消息到达;当有新的消息到达时,触发时钟推进请求预处理子模块,读取新到达的请求消息,并发送给所述时钟推进请求作业管理模块;
所述时钟推进计算服务调度模块解析时钟推进请求,遍历当前已经加载运行的时钟推进计算服务是否空闲,如果有空闲的时钟推进计算服务,将该时钟推进请求分配给该空闲的时钟推进计算服务,如果没有空闲的时钟推进计算服务,则动态加载一个新的时钟推进计算服务实例,并将时钟推进请求分配给该时钟推进计算服务实例;
所述时钟推进请求作业管理模块接收新到达的时钟推进请求,将该时钟推进请求放入计算任务队列中,通知时钟推进计算服务调度模块选择时钟计算服务开始计算推进时间;同时,对当前所有的计算任务进行监控,当计算任务结束后,移出任务队列。
6.根据权利要求3所述的一种面向服务仿真时钟推进方法,其特征在于:
所述时钟推进请求作业管理模块,管理一个就绪任务队列,该任务队列中缓冲所有仿真节点发送的时钟推进请求计算任务信息,该就绪任务队列满足先来先服务的原则;
对于每个计算任务,分为四种状态:等待、处理、异常和结束;
对于每个处于处理状态的计算任务,如果该计算任务的计算时间大于设置的阈值,则所述时钟推进请求作业管理模块将表示该计算任务为异常,并通知所述时钟推进计算服务调度模块终止该计算任务对应的实例线程。
7.根据权利要求3所述的一种面向服务仿真时钟推进方法,其特征在于:
时钟推进计算服务在计算时钟推进最大步长过程中屏蔽了网络传输延迟产生的瞬时消息影响,采用了基于延迟偏移量的时钟推进步长计算方法,其具体步骤为:
步骤1:仿真节点向时钟推进服务器申请时钟推进请求,时钟推进服务器接收相应时钟推进请求;
步骤2:仿真时钟推进服务器对所有仿真节点进行遍历,若申请推进的仿真节点存在,则继续计算,否则返回;
步骤3:将申请推进的仿真节点状态改为推进,并开始计算仿真节点推进时间,将申请推进的仿真节点加入推进列表;
步骤4:开始计算仿真节点安全推进距离,将所有推进仿真节点分为两类:控制仿真节点和受限仿真节点,遍历所有仿真节点,找到所有控制仿真节点,计算申请时钟推进的仿真节点i的最大安全推进时间GAT(i);
步骤5:在计算得出所有仿真节点最大安全推进时间GAT(i)后,遍历推进列表所有仿真节点;
步骤6:若推进仿真节点为受限仿真节点,将其申请的推进时间与其推进状态下之前记录的最大安全推进时间GAT(i)的最小值进行比较,若申请推进时间小于或等于最大安全推进时间GAT(i)的最小值,则转步骤8,若申请时间大于最大安全推进时间GAT(i)的最小值,仿真节点时间不可推进,仿真节点进入等待状态;
步骤7:若推进仿真节点为非受限仿真节点,则其推进不受其它仿真节点约束,若推进仿真节点状态为推进,直接进行时钟推进,若仿真节点状态为不可推进,则该仿真节点时间不可推进,进入等待状态;
步骤8:进行时钟推进,更新仿真节点时间,置仿真节点状态为空闲,并从推进列表中删除该推进仿真节点;
步骤9:遍历所有仿真节点,将所有仿真节点推进状态更改为不可推进,将更新后的消息以报文格式发送。
8.根据权利要求3所述的一种面向服务仿真时钟推进方法,其特征在于:
最大安全推进时间GAT(i)采用如下方法计算:
首先判断仿真节点推进方式:分为:若为基于时钟推进的方式和基于事件的推进方式;如果申请时钟推进的仿真节点序列为n={ni,i∈[1,m]};对于任意的仿真节点i的最大时钟推进步长设为GAT(i)且满足GAT(i)=min{OUTPUT(j)},i≠j;m为仿真节点的数量,i和j分别表示仿真节点编号;
其中,仿真节点i的输出时间OUTPUT(i)的计算公式为:
当仿真节点处于推进后空闲状态时,T(i)为仿真节点i的当前物理时间;当仿真节点处于请求推进状态时,T(i)为仿真节点i请求推进的物理时间;
L(i)为仿真节点i的前瞻值,L(i)在仿真节点初始化时调用所述时钟注册接口时设置,设置范围为[0,0.5];
LETS'(i)为仿真节点i修正后的时戳消息队列中的最小消息的时间戳;
D(i)为仿真节点i订购其它仿真节点信息到仿真节点i的到达时间预测值,表示为:
D(i)=Current_Time+latency_ub;
latency_ub在仿真节点初始化时调用注册接口设置,设置范围为[0,1],Current_Time为当前时间;
LETS'(i)计算公式如下:
LETS'(i)=TimeStamp+latency_ub,TimeStamp为该仿真节点发出的时钟推进请求消息中附带的时间戳对应的时间。
CN201310745049.5A 2013-12-30 2013-12-30 一种面向服务仿真时钟推进方法 Active CN103716397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310745049.5A CN103716397B (zh) 2013-12-30 2013-12-30 一种面向服务仿真时钟推进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310745049.5A CN103716397B (zh) 2013-12-30 2013-12-30 一种面向服务仿真时钟推进方法

Publications (2)

Publication Number Publication Date
CN103716397A true CN103716397A (zh) 2014-04-09
CN103716397B CN103716397B (zh) 2016-09-21

Family

ID=50408967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310745049.5A Active CN103716397B (zh) 2013-12-30 2013-12-30 一种面向服务仿真时钟推进方法

Country Status (1)

Country Link
CN (1) CN103716397B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888478A (zh) * 2014-04-18 2014-06-25 中国人民解放军91655部队 一种兼容多体制的分布式仿真运行控制方法
CN107153567A (zh) * 2016-12-12 2017-09-12 北京航天长征飞行器研究所 一种基于数据驱动的仿真模块
CN107508884A (zh) * 2017-08-24 2017-12-22 北京仿真中心 一种基于soa的仿真模型的共享方法
CN109327900A (zh) * 2018-11-23 2019-02-12 中国电子科技集团公司第五十四研究所 一种基于非扩频无线通信系统的定位授时方法
CN110232195A (zh) * 2018-03-06 2019-09-13 北京三快在线科技有限公司 一种模拟配送过程的方法及装置
WO2021223464A1 (zh) * 2020-05-08 2021-11-11 哈尔滨工程大学 一种分布式仿真的时间一致性同步方法
US20220342731A1 (en) * 2021-04-26 2022-10-27 Visa International Service Association System and method for timed data transmission

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055530A (zh) * 2006-12-31 2007-10-17 中国人民解放军63791部队 面向航天测控的基于hla的嵌入式分布仿真平台及其实现方法
CN101442555A (zh) * 2008-12-19 2009-05-27 中国运载火箭技术研究院 面向hla的仿真资源代理服务系统
CN101901150A (zh) * 2010-07-08 2010-12-01 北京航空航天大学 通用分布式机载设备健康管理仿真平台及其实现方法
CN102523104A (zh) * 2011-11-30 2012-06-27 中国电子科技集团公司第二十八研究所 一种网络化仿真运行支撑系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055530A (zh) * 2006-12-31 2007-10-17 中国人民解放军63791部队 面向航天测控的基于hla的嵌入式分布仿真平台及其实现方法
CN101442555A (zh) * 2008-12-19 2009-05-27 中国运载火箭技术研究院 面向hla的仿真资源代理服务系统
CN101901150A (zh) * 2010-07-08 2010-12-01 北京航空航天大学 通用分布式机载设备健康管理仿真平台及其实现方法
CN102523104A (zh) * 2011-11-30 2012-06-27 中国电子科技集团公司第二十八研究所 一种网络化仿真运行支撑系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙黎阳: "面向服务的网络化仿真机运行支撑平台研究", 《计算机科学》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888478A (zh) * 2014-04-18 2014-06-25 中国人民解放军91655部队 一种兼容多体制的分布式仿真运行控制方法
CN107153567A (zh) * 2016-12-12 2017-09-12 北京航天长征飞行器研究所 一种基于数据驱动的仿真模块
CN107153567B (zh) * 2016-12-12 2020-03-17 北京航天长征飞行器研究所 一种基于数据驱动的仿真模块
CN107508884A (zh) * 2017-08-24 2017-12-22 北京仿真中心 一种基于soa的仿真模型的共享方法
CN110232195A (zh) * 2018-03-06 2019-09-13 北京三快在线科技有限公司 一种模拟配送过程的方法及装置
CN109327900A (zh) * 2018-11-23 2019-02-12 中国电子科技集团公司第五十四研究所 一种基于非扩频无线通信系统的定位授时方法
CN109327900B (zh) * 2018-11-23 2021-04-20 中国电子科技集团公司第五十四研究所 一种基于非扩频无线通信系统的定位授时方法
WO2021223464A1 (zh) * 2020-05-08 2021-11-11 哈尔滨工程大学 一种分布式仿真的时间一致性同步方法
US20220342731A1 (en) * 2021-04-26 2022-10-27 Visa International Service Association System and method for timed data transmission
US11500702B1 (en) * 2021-04-26 2022-11-15 Visa International Service Association System and method for timed data transmission
US20230016188A1 (en) * 2021-04-26 2023-01-19 Visa International Service Association System and method for timed data transmission
US11755391B2 (en) * 2021-04-26 2023-09-12 Visa International Service Association System and method for timed data transmission

Also Published As

Publication number Publication date
CN103716397B (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN103716397A (zh) 一种面向服务仿真时钟推进方法
Sotiriadis et al. SimIC: Designing a new inter-cloud simulation platform for integrating large-scale resource management
CN109034396B (zh) 用于处理分布式集群中的深度学习作业的方法和装置
US8566804B1 (en) Scheduling generated code based on target characteristics
US8990783B1 (en) Scheduling generated code based on target characteristics
US20190065246A1 (en) Large-scale asynchronous event processor
CN103716372A (zh) 一种数字图书馆即服务的云计算平台构建方法
CN114138434B (zh) 一种大数据任务调度系统
Kailasam et al. Extending mapreduce across clouds with bstream
CN110958311A (zh) 一种基于yarn的共享集群弹性伸缩系统及方法
Li et al. Task scheduling algorithm for heterogeneous real-time systems based on deadline constraints
Wang et al. FLOWPROPHET: Generic and accurate traffic prediction for data-parallel cluster computing
Malik et al. Optimistic synchronization of parallel simulations in cloud computing environments
CN112948088B (zh) 一种云计算平台中的云工作流智能管理与调度系统
CN111506407B (zh) Pull模式与Push模式相结合的资源管理与作业调度方法、系统
Basanta-Val et al. A synchronous scheduling service for distributed real-time Java
CN116954944A (zh) 基于内存网格的分布式数据流处理方法、装置及设备
Li et al. Predictable communication and migration in the Quest-V separation kernel
Dong et al. Flexible mixed-criticality scheduling with dynamic slack management
CN115237547B (zh) 一种非侵入式hpc计算集群的统一容器集群托管系统和方法
CN113515356B (zh) 一种轻量级分布式资源管理与任务调度器及方法
CN113254143B (zh) 虚拟化网络功能网元编排调度方法、装置和系统
CN113672579A (zh) 一种基于webservice的档案同步方法
Goubier et al. Real-time model of computation over HPC/cloud orchestration-the LEXIS approach
Shan et al. Adaptive resource allocation for workflow containerization on Kubernetes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant