CN116562054A - 一种多实体协同实时仿真系统的构建方法及装置 - Google Patents
一种多实体协同实时仿真系统的构建方法及装置 Download PDFInfo
- Publication number
- CN116562054A CN116562054A CN202310819909.9A CN202310819909A CN116562054A CN 116562054 A CN116562054 A CN 116562054A CN 202310819909 A CN202310819909 A CN 202310819909A CN 116562054 A CN116562054 A CN 116562054A
- Authority
- CN
- China
- Prior art keywords
- simulation model
- simulation
- priority
- time
- entity
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 305
- 238000010276 construction Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 26
- 230000026676 system process Effects 0.000 claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims abstract description 13
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000013468 resource allocation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种多实体协同实时仿真系统的构建方法及装置,该方法包括:同步多实体系统中不同计算机上仿真模型的初始时间;统计多个设定时段内每个仿真模型的运行时间,并根据运行时间计算每个仿真模型的优先级;将所计算出的每个仿真模型的优先级从大到小进行排序;根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源并依次运行每个仿真模型,监控每个仿真模型的运行状态;当多实体系统中每个仿真模型均运行完毕,结束整个多实体系统进程,解决了目前在进行多实体协同实时仿真时,无法保证模型解算过程的高度实时性,可能会发生的资源冲突问题,以及模型加载不同步、各模型仿真步长不一致和系统数据不同步等问题。
Description
技术领域
本发明涉及计算机仿真技术领域,尤其涉及一种多实体协同实时仿真系统的构建方法及装置。
背景技术
在实时仿真场景下,模型解算环境通常部署在一台服务器或者高性能工作站上。实时仿真过程中,当仅解算一个目标对象模型时,对模型调度和数据交互的要求不高,解算任务会相对稳定。
但是,在进行多实体协同实时仿真时,通常需要多层级模型进行协同仿真,在这个过程中无法保证模型解算过程的高度实时性,且存在复杂多模型在进行分布式仿真节点之间的任务调度时可能发生的资源冲突问题,以及模型加载不同步、各模型仿真步长不一致和系统数据不同步等影响系统的稳定性和实时仿真效率的问题。
发明内容
在本申请实施例中,通过提供一种多实体协同实时仿真系统的构建方法,解决了目前在进行多实体协同实时仿真时,通常需要多层级模型进行协同仿真,在这个过程中无法保证模型解算过程的高度实时性,且存在复杂多模型在进行分布式仿真节点之间的任务调度时可能发生的资源冲突问题,以及模型加载不同步、各模型仿真步长不一致和系统数据不同步等影响系统的稳定性和实时仿真效率的问题。
第一方面,本申请实施例提供了一种多实体协同实时仿真系统的构建方法,该方法包括:同步多实体系统中不同计算机上仿真模型的初始时间;统计多个设定时段内每个所述仿真模型的运行时间,并根据所述运行时间计算每个所述仿真模型的优先级;将所计算出的每个所述仿真模型的优先级从大到小进行排序;根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源并依次运行每个所述仿真模型,监控每个所述仿真模型的运行状态;当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程。
结合第一方面,在一种可能的实现方式中,所述根据所述运行时间计算每个所述
仿真模型的优先级,计算公式如下:;其中,、为
每个所述仿真模型的所述运行时间,,n为统计的次数。
结合第一方面,在一种可能的实现方式中,所述同步多实体系统中不同计算机上仿真模型的初始时间的方式为采用网络时间协议或插入硬件时钟同步卡。
结合第一方面,在一种可能的实现方式中,所述采用网络时间协议,包括:选定系统中的一台计算机作为服务端,将所述系统中的其他计算机作为客户端;将所述服务端计算机与所述客户端计算机均配置在同一局域网内,进而实现所述同步多实体系统中不同计算机上仿真模型的初始时间。
结合第一方面,在一种可能的实现方式中,所述根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源,包括:将仿真模型调度程序输入到分布式集群资源调度框架中,进而根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源。
结合第一方面,在一种可能的实现方式中,所述当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程,包括:将根据所述仿真模型的优先级从大到小进行排序得到的仿真模型数组的下标设为k;其中,k的值为所述仿真模型的数量加一;令所述仿真模型数组的下标k初始值为0,根据循环程序判断k的值是否等于所述仿真模型的数量加一;若判断结果为否,继续按所述仿真模型的优先级从大到小的顺序依次运行每个所述仿真模型;若判断结果为是,结束整个所述多实体系统进程。
结合第一方面,在一种可能的实现方式中,所述方法还包括:若在当前所述仿真模型运行的过程中有其他所述仿真模型需要运行,判断其他所述仿真模型的优先级是否大于当前运行的所述仿真模型的优先级;若判断结果为否,继续运行当前所述仿真模型;若判断结果为是,立即停止当前所述仿真模型,运行其他所述仿真模型。
第二方面,本申请实施例提供了一种多实体协同实时仿真系统的构建装置,该装置包括:同步模块,用于同步多实体系统中不同计算机上仿真模型的初始时间;统计模块,用于统计多个设定时段内每个所述仿真模型的运行时间,并根据所述运行时间计算每个所述仿真模型的优先级;进行排序模块,用于将所计算出的每个所述仿真模型的优先级从大到小进行排序;分配资源模块,用于根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源并依次运行每个所述仿真模型,监控每个所述仿真模型的运行状态;结束进程模块,用于当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程。
结合第二方面,在一种可能的实现方式中,所述根据所述运行时间计算每个所述
仿真模型的优先级,计算公式如下:;其中,、为
每个所述仿真模型的所述运行时间,,n为统计的次数。
结合第二方面,在一种可能的实现方式中,所述同步多实体系统中不同计算机上仿真模型的初始时间的方式为采用网络时间协议或插入硬件时钟同步卡。
结合第二方面,在一种可能的实现方式中,所述采用网络时间协议,包括:选定系统中的一台计算机作为服务端,将所述系统中的其他计算机作为客户端;将所述服务端计算机与所述客户端计算机均配置在同一局域网内,进而实现所述同步多实体系统中不同计算机上仿真模型的初始时间。
结合第二方面,在一种可能的实现方式中,所述根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源,包括:将仿真模型调度程序输入到分布式集群资源调度框架中,进而根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源。
结合第二方面,在一种可能的实现方式中,所述当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程,包括:将根据所述仿真模型的优先级从大到小进行排序得到的仿真模型数组的下标设为k;其中,k的值为所述仿真模型的数量加一;令所述仿真模型数组的下标k初始值为0,根据循环程序判断k的值是否等于所述仿真模型的数量加一;若判断结果为否,继续按所述仿真模型的优先级从大到小的顺序依次运行每个所述仿真模型;若判断结果为是,结束整个所述多实体系统进程。
结合第二方面,在一种可能的实现方式中,所述方法还包括:若在当前所述仿真模型运行的过程中有其他所述仿真模型需要运行,判断其他所述仿真模型的优先级是否大于当前运行的所述仿真模型的优先级;若判断结果为否,继续运行当前所述仿真模型;若判断结果为是,立即停止当前所述仿真模型,运行其他所述仿真模型。
第三方面,本申请实施例提供了一种多实体协同实时仿真系统的构建服务器,包括存储器和处理器;所述存储器用于存储计算机可执行指令;所述处理器用于执行所述计算机可执行指令,以实现第一方面或第一方面任一种可能的实现方式所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现以实现第一方面或第一方面任一种可能的实现方式所述的方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果:
本申请实施例提供了一种多实体协同实时仿真系统的构建方法,该方法首先同步多实体系统中不同计算机上仿真模型的初始时间,使不同计算机上仿真模型的运行时间均同步,然后统计多个设定时段内每个仿真模型的运行时间,并根据运行时间计算每个仿真模型的优先级,能够通过计算的方式更加方便快捷获取每个仿真模型的优先级,将所计算出的每个仿真模型的优先级从大到小进行排序,根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源并依次运行每个仿真模型,能够解决每个仿真模型产生的资源冲突问题,对每个仿真模型的运行状态进行监控,最后当多实体系统中每个仿真模型均运行完毕,结束整个多实体系统进程,从而解决了目前在进行多实体协同实时仿真时,通常需要多层级模型进行协同仿真,在这个过程中无法保证模型解算过程的高度实时性,且存在复杂多模型在进行分布式仿真节点之间的任务调度时可能发生的资源冲突问题,以及模型加载不同步、各模型仿真步长不一致和系统数据不同步等影响系统的稳定性和实时仿真效率的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的多实体协同实时仿真系统的构建方法的流程图;
图2为本申请实施例提供的采用网络时间协议同步多实体系统中不同计算机上仿真模型的初始时间的具体流程图;
图3为本申请实施例提供的当多实体系统中每个仿真模型均运行完毕结束整个多实体系统进程的具体流程图;
图4为本申请实施例提供的在当前仿真模型运行的过程中有其他仿真模型需要运行的具体流程图;
图5为本申请实施例提供的多实体协同实时仿真系统的构建装置的示意图;
图6为本申请实施例提供的多实体协同实时仿真系统的构建服务器的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下对本申请实施例涉及的部分技术做出说明,以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了部分对公知功能和结构的描述。
本申请实施例提供了一种多实体协同实时仿真系统的构建方法,如图1所示,该方法包括步骤S101至步骤S105。其中,图1仅为本申请实施例示出的一种执行顺序,并不代表一种多实体协同实时仿真系统的构建方法的唯一执行顺序,在可实现最终结果的情况下,图1所示出的步骤可以被并列或颠倒执行。
S101:同步多实体系统中不同计算机上仿真模型的初始时间。
具体地,同步多实体系统中不同计算机上仿真模型的初始时间的方式为采用网络时间协议或插入硬件时钟同步卡。需要进行说明的是,多实体系统由多个计算机组成。
图2为本申请实施例提供的采用网络时间协议同步多实体系统中不同计算机上仿真模型的初始时间的具体流程图,如图2所示,包括步骤S201至步骤S202。
S201:选定系统中的一台计算机作为服务端,将系统中的其他计算机作为客户端。
S202:将服务端计算机与客户端计算机均配置在同一局域网内,进而实现同步多实体系统中不同计算机上仿真模型的初始时间。
具体地,网络时间协议(英文名称:Network Time Protocol,简称:NTP),是用来使计算机时间同步化的一种协议,能够使计算机对其服务器或时钟源做同步化以及提供高精准度的时间校正。
S102:统计多个设定时段内每个仿真模型的运行时间,并根据运行时间计算每个仿真模型的优先级。
S103:将所计算出的每个仿真模型的优先级从大到小进行排序。
具体地,根据运行时间计算每个仿真模型的优先级,计算公式如下:,其中,、为每个仿真模型的运行时间,,n为统计的次数。
下面列举一种实施方式对上述计算每个仿真模型的优先级的过程进行说明,当然,还可以为其他的实施方式,此处不作为对本申请保护范围的限制。
在每个仿真模型运行的过程中通过tic-toc语法统计多个设定时段内每个仿真模型的运行时间对每个仿真模型的优先级进行比较。具体地,可以统计在20秒内仿真模型运行时占用系统的时间即运行时间,可以将设定时段设定为5秒,即在20秒内每5秒对仿真模型运行时占用系统的时间进行统计。当然,还可以为其他时间,本申请不以上述时间为限制。
进一步地,tic-toc语法具体为tic sim(x);toc,其中sim(x)中的x代表需要运行
的模型名称。假设通过tic-toc语法,计算出仿真模型在1秒至5秒内运行时占用系统的时间
为5毫秒,在6秒至10秒内运行时占用系统的时间为7毫秒,在11秒至15秒内运行时占用系统
的时间为7毫秒,在16秒至20秒内运行时占用系统的时间为7毫秒,由于用tic-toc语法统计
的仿真模型运行时占用系统的时间本身存在误差,对所统计出的20秒内的仿真模型运行时
占用系统的时间直接求平均值也会存在误差,因此根据运行时间计算每个仿真模型的优先
级,计算公式如下:,其中,、为每个仿真模型的
运行时间,,n为统计的次数。这种计算方式采用设定时段内统计的仿真模
型运行时占用系统的时间的平均值做差值后求和再除以统计次数。在增加了少量的计算量
的情况下,更加准确的统计出了每个仿真模型运行时占用系统的时间。在此实施例中,通过
代入上述所统计的仿真模型运行时占用系统的时间得到,,从而根据计算结果得到该仿真模型的优先级为1,然后
根据计算数值的大小对每个仿真模型的优先级进行排序,其中,计算数值越大则相对应的
仿真模型的优先级越大。
进一步地,本申请还可以通过其他方法实现对每个仿真模型的优先级进行计算并对每个仿真模型的优先级进行排序,下面列举其中一个方法对计算每个仿真模型的优先级的过程进行说明,当然,还可以为其他的方法,本申请不以此方法为限制。
具体地,可以通过运行监控窗口获取每个仿真模型的当前频率,并计算出每个仿
真模型当前运行的即时速率和每个仿真模型过去一段时间运行的平均速率。进一步地,可
以通过公式计算每个仿真模型每运行一步所需要的时间,其中,f为通过运行监控窗
口所获取的每个仿真模型的当前频率,可以通过公式计算每个仿真模型
过去一段时间运行的平均速率,其中,指的是某一时刻,假设计算5秒内每个仿真模型运
行的平均速率,则为1,为5。然后通过监控窗口直接获取每个仿真模型运行的即时速
率,并将即时速率记为。
具体地,由于系统正在运行的仿真模型始终为当前所有仿真模型中优先级最高
的,将根据上述方法所计算出的即时速率和平均速率,代入公式中,其中,i指的是某一时刻,取值可以为整数,通过公式计算出除当前
运行的优先级最高的仿真模型之外其他的仿真模型的优先级,计算的数值越大则相对应的
仿真模型的优先级越大。然后将所计算出的每个仿真模型的优先级从大到小进行排序,当t
时刻对每个仿真模型进行资源分配结束后,由于时间变化,因此需要更新每个仿真模型的
平均速率,具体更新公式如下:,其中,为更新时间的窗口函数,L为t时刻运行的仿真模型,由于在t时刻仿真模型L不一定运行,
因此需要分为两种情况对各个模型的平均速率进行更新。其中一种的情况为t
时刻运行仿真模型L,另一种的情况为t时刻没有运行仿真模型L。由于没有按照设定
好的顺序在t时刻对仿真模型L进行运行,因此完成仿真模型运行所需要的时间会变化,相
对应的仿真模型的平均速率也会变化,需要根据上述公式对每个仿真模型的平均速率进行更新,然后重新代入公式中,对每个仿真模型的优先级重新
进行计算。
S104:根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源并依次运行每个仿真模型,监控每个仿真模型的运行状态。
进一步地,根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源具体方式为:将仿真模型调度程序输入到分布式集群资源调度框架中,进而根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源。
需要进行说明的是,将仿真模型调度程序输入到分布式集群资源调度框架后,会为该仿真模型调度程序分配一个资源容器,并与对应的节点管理器通信,节点管理器在所分配的资源容器中启动仿真模型调度程序。仿真模型调度程序首先向资源管理器进行注册,能够直接通过资源管理器查看仿真模型调度程序状态,然后资源管理器将为每个仿真模型任务申请资源进行资源分配,并监控每个仿真模型的运行状态,直至每个仿真模型均运行结束,并且在仿真模型调度程序运行过程中可随时通过远程过程调用(英文名称:Remote Procedure Call,简称:RPC)向仿真模型调度程序查询仿真模型调度的当前运行状态。
S105:当多实体系统中每个仿真模型均运行完毕,结束整个多实体系统进程。
图3为本申请实施例提供的实现步骤S105中当多实体系统中每个仿真模型均运行完毕结束整个多实体系统进程的具体流程图,如图3所示,包括步骤S301至步骤S304。
S301:将根据仿真模型的优先级从大到小进行排序得到的仿真模型数组的下标设为k。其中,k的值为仿真模型的数量加一。
S302:令仿真模型数组的下标k初始值为0,根据循环程序判断k的值是否等于仿真模型的数量加一。
若判断结果为否,执行步骤S303:继续按仿真模型的优先级从大到小的顺序依次运行每个仿真模型。
若判断结果为是,执行步骤S304:结束整个多实体系统进程。
图4为本申请实施例提供的在当前仿真模型运行的过程中有其他仿真模型需要运行的具体流程图,如图4所示,包括步骤S401至步骤S403。
S401:若在当前仿真模型运行的过程中有其他仿真模型需要运行,判断其他仿真模型的优先级是否大于当前运行的仿真模型的优先级。
若判断结果为否,执行步骤S402:继续运行当前仿真模型。
若判断结果为是,执行步骤S403:立即停止当前仿真模型,运行其他仿真模型。
具体地,上述其他仿真模型指的是之前排好优先级顺序之外的其他仿真模型,可以采用抢占式优先级调度算法实现上述在当前仿真模型运行的过程中有其他仿真模型需要运行的具体步骤。当然,还可以为其他方法,本申请不以上述方法为限制。抢占式优先级调度算法能够使系统把处理机分配给优先级最高的仿真模型,并使优先级最高的仿真模型运行。但是如果出现另一个优先级更高的仿真模型需要运行,仿真模型调度程序就立即停止当前的进程,重新将处理机分配给新的优先级更高的仿真模型使其开始运行。
本申请实施例还提供了一种多实体协同实时仿真系统的构建装置500,如图5所示,该装置包括:同步模块501、统计模块502、进行排序模块503、分配资源模块504和结束进程模块505。
同步模块501用于同步多实体系统中不同计算机上仿真模型的初始时间。同步模块501具体用于同步多实体系统中不同计算机上仿真模型的初始时间的方式为采用网络时间协议或插入硬件时钟同步卡。采用网络时间协议,包括:选定系统中的一台计算机作为服务端,将系统中的其他计算机作为客户端;将服务端计算机与客户端计算机均配置在同一局域网内,进而实现同步多实体系统中不同计算机上仿真模型的初始时间。
统计模块502用于统计多个设定时段内每个仿真模型的运行时间,并根据运行时
间计算每个仿真模型的优先级。统计模块502具体用于根据运行时间计算每个仿真模型的
优先级,计算公式如下:;其中,、为每个仿真模
型的运行时间,,n为统计的次数。
进行排序模块503用于将所计算出的每个仿真模型的优先级从大到小进行排序。
分配资源模块504用于根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源并依次运行每个仿真模型,监控每个仿真模型的运行状态。分配资源模块504具体用于将仿真模型调度程序输入到分布式集群资源调度框架中,进而根据每个仿真模型的优先级从大到小的顺序为每个仿真模型分配资源。
结束进程模块505用于当多实体系统中每个仿真模型均运行完毕,结束整个多实体系统进程。结束进程模块505具体用于将根据仿真模型的优先级从大到小进行排序得到的仿真模型数组的下标设为k;其中,k的值为仿真模型的数量加一;令仿真模型数组的下标k初始值为0,根据循环程序判断k的值是否等于仿真模型的数量加一;若判断结果为否,继续按仿真模型的优先级从大到小的顺序依次运行每个仿真模型;若判断结果为是,结束整个多实体系统进程。
进一步地,本申请实施例提供的多实体协同实时仿真系统的构建装置500还包括:判断模块,用于若在当前仿真模型运行的过程中有其他仿真模型需要运行,判断其他仿真模型的优先级是否大于当前运行的仿真模型的优先级;若判断结果为否,继续运行当前仿真模型;若判断结果为是,立即停止当前仿真模型,运行其他仿真模型。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述申请实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
如图6所示,本申请实施例还提供了一种多实体协同实时仿真系统的构建服务器,包括存储器601和处理器602;存储器601用于存储计算机可执行指令;处理器602用于执行计算机可执行指令,以实现本申请实施例以上所述的一种多实体协同实时仿真系统的构建方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现本申请实施例以上所述的一种多实体协同实时仿真系统的构建方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请实施例所述的方法。
本说明书中的各个实施方式采用递进的方式描述,各个实施方式之间相同或相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。
以上实施例仅用以说明本申请的技术方案,而非对本申请限制;尽管参照前述实施例对本申请进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请技术方案的范围。
Claims (10)
1.一种多实体协同实时仿真系统的构建方法,其特征在于,包括:
同步多实体系统中不同计算机上仿真模型的初始时间;
统计多个设定时段内每个所述仿真模型的运行时间,并根据所述运行时间计算每个所述仿真模型的优先级;
将所计算出的每个所述仿真模型的优先级从大到小进行排序;
根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源并依次运行每个所述仿真模型,监控每个所述仿真模型的运行状态;
当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程。
2.根据权利要求1所述的方法,其特征在于,所述根据所述运行时间计算每个所述仿真模型的优先级,计算公式如下:
;其中,/>、/>为每个所述仿真模型的所述运行时间,/>,n为统计的次数。
3.根据权利要求1所述的方法,其特征在于,所述同步多实体系统中不同计算机上仿真模型的初始时间的方式为采用网络时间协议或插入硬件时钟同步卡。
4.根据权利要求3所述的方法,其特征在于,所述采用网络时间协议,包括:
选定系统中的一台计算机作为服务端,将所述系统中的其他计算机作为客户端;
将所述服务端计算机与所述客户端计算机均配置在同一局域网内,进而实现所述同步多实体系统中不同计算机上仿真模型的初始时间。
5.根据权利要求1所述的方法,其特征在于,所述根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源,包括:
将仿真模型调度程序输入到分布式集群资源调度框架中,进而根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源。
6.根据权利要求1所述的方法,其特征在于,所述当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程,包括:
将根据所述仿真模型的优先级从大到小进行排序得到的仿真模型数组的下标设为k;其中,k的值为所述仿真模型的数量加一;
令所述仿真模型数组的下标k初始值为0,根据循环程序判断k的值是否等于所述仿真模型的数量加一;
若判断结果为否,继续按所述仿真模型的优先级从大到小的顺序依次运行每个所述仿真模型;
若判断结果为是,结束整个所述多实体系统进程。
7.根据权利要求1所述的方法,其特征在于,还包括:
若在当前所述仿真模型运行的过程中有其他所述仿真模型需要运行,判断其他所述仿真模型的优先级是否大于当前运行的所述仿真模型的优先级;
若判断结果为否,继续运行当前所述仿真模型;
若判断结果为是,立即停止当前所述仿真模型,运行其他所述仿真模型。
8.一种多实体协同实时仿真系统的构建装置,其特征在于,包括:
同步模块,用于同步多实体系统中不同计算机上仿真模型的初始时间;
统计模块,用于统计多个设定时段内每个所述仿真模型的运行时间,并根据所述运行时间计算每个所述仿真模型的优先级;
进行排序模块,用于将所计算出的每个所述仿真模型的优先级从大到小进行排序;
分配资源模块,用于根据每个所述仿真模型的优先级从大到小的顺序为每个所述仿真模型分配资源并依次运行每个所述仿真模型,监控每个所述仿真模型的运行状态;
结束进程模块,用于当所述多实体系统中每个所述仿真模型均运行完毕,结束整个所述多实体系统进程。
9.一种多实体协同实时仿真系统的构建服务器,其特征在于,包括存储器和处理器;
所述存储器用于存储计算机可执行指令;
所述处理器用于执行所述计算机可执行指令,以实现权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可执行指令,计算机执行所述可执行指令时能够实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819909.9A CN116562054B (zh) | 2023-07-06 | 2023-07-06 | 一种多实体协同实时仿真系统的构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819909.9A CN116562054B (zh) | 2023-07-06 | 2023-07-06 | 一种多实体协同实时仿真系统的构建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116562054A true CN116562054A (zh) | 2023-08-08 |
CN116562054B CN116562054B (zh) | 2023-10-13 |
Family
ID=87500389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310819909.9A Active CN116562054B (zh) | 2023-07-06 | 2023-07-06 | 一种多实体协同实时仿真系统的构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116562054B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117103281A (zh) * | 2023-10-20 | 2023-11-24 | 深圳墨影科技有限公司 | 一种机器人全融合仿真系统及方法 |
CN117667361A (zh) * | 2024-01-31 | 2024-03-08 | 西安羚控电子科技有限公司 | 一种分布式协同仿真架构实现方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN107193639A (zh) * | 2017-06-05 | 2017-09-22 | 北京航空航天大学 | 一种支持联合作战的多核并行仿真引擎系统 |
CN107608237A (zh) * | 2017-09-30 | 2018-01-19 | 国网青海省电力公司 | 一种基于光伏系统半实物仿真的硬件资源优化控制方法 |
CN110276153A (zh) * | 2019-06-27 | 2019-09-24 | 北京华如科技股份有限公司 | 并行离散时间仿真的非一致时间余度非严格时间管理方法 |
WO2019179250A1 (zh) * | 2018-03-23 | 2019-09-26 | 华为技术有限公司 | 调度方法、调度器、存储介质及系统 |
US20210019189A1 (en) * | 2018-04-18 | 2021-01-21 | Landmark Graphics Corporation | Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment |
CN112988362A (zh) * | 2021-05-14 | 2021-06-18 | 南京蓝洋智能科技有限公司 | 一种任务处理方法、装置、电子设备及存储介质 |
CN113361094A (zh) * | 2021-06-02 | 2021-09-07 | 西安中锐创联科技有限公司 | 一种分布式架构下的多学科联合仿真方法及系统 |
CN115186518A (zh) * | 2022-09-09 | 2022-10-14 | 中国电子科技集团公司第十五研究所 | 一种仿真并行推进方法、服务器以及存储介质 |
CN115344386A (zh) * | 2022-08-19 | 2022-11-15 | 中国人民解放军国防科技大学 | 基于排序学习的云仿真计算资源预测方法、装置和设备 |
-
2023
- 2023-07-06 CN CN202310819909.9A patent/CN116562054B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN107193639A (zh) * | 2017-06-05 | 2017-09-22 | 北京航空航天大学 | 一种支持联合作战的多核并行仿真引擎系统 |
CN107608237A (zh) * | 2017-09-30 | 2018-01-19 | 国网青海省电力公司 | 一种基于光伏系统半实物仿真的硬件资源优化控制方法 |
WO2019179250A1 (zh) * | 2018-03-23 | 2019-09-26 | 华为技术有限公司 | 调度方法、调度器、存储介质及系统 |
US20210019189A1 (en) * | 2018-04-18 | 2021-01-21 | Landmark Graphics Corporation | Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment |
CN110276153A (zh) * | 2019-06-27 | 2019-09-24 | 北京华如科技股份有限公司 | 并行离散时间仿真的非一致时间余度非严格时间管理方法 |
CN112988362A (zh) * | 2021-05-14 | 2021-06-18 | 南京蓝洋智能科技有限公司 | 一种任务处理方法、装置、电子设备及存储介质 |
CN113361094A (zh) * | 2021-06-02 | 2021-09-07 | 西安中锐创联科技有限公司 | 一种分布式架构下的多学科联合仿真方法及系统 |
CN115344386A (zh) * | 2022-08-19 | 2022-11-15 | 中国人民解放军国防科技大学 | 基于排序学习的云仿真计算资源预测方法、装置和设备 |
CN115186518A (zh) * | 2022-09-09 | 2022-10-14 | 中国电子科技集团公司第十五研究所 | 一种仿真并行推进方法、服务器以及存储介质 |
Non-Patent Citations (3)
Title |
---|
XUEYONG TANG ET AL: "Dynamic Scheduling Management Method for Multi-energy System Digital Twin Simulation Computing Tasks", 《2020 10TH INTERNATIONAL CONFERENCE ON POWER AND ENERGY SYSTEMS (ICPES)》 * |
何宇: "嵌入式视频服务器Internet接入技术研究", 《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》, vol. 2005, no. 4 * |
王琦琦: "超算环境下任务运行时间建模与任务调度方法研究", 《中国博士学位论文全文数据库电子期刊 信息科技辑》, vol. 2022, no. 10 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117103281A (zh) * | 2023-10-20 | 2023-11-24 | 深圳墨影科技有限公司 | 一种机器人全融合仿真系统及方法 |
CN117103281B (zh) * | 2023-10-20 | 2024-01-26 | 深圳墨影科技有限公司 | 一种机器人全融合仿真系统及方法 |
CN117667361A (zh) * | 2024-01-31 | 2024-03-08 | 西安羚控电子科技有限公司 | 一种分布式协同仿真架构实现方法及装置 |
CN117667361B (zh) * | 2024-01-31 | 2024-04-26 | 西安羚控电子科技有限公司 | 一种分布式协同仿真架构实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116562054B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116562054B (zh) | 一种多实体协同实时仿真系统的构建方法及装置 | |
Buttazzo | Rate monotonic vs. EDF: Judgment day | |
Bletsas et al. | Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound | |
CN107832143B (zh) | 一种物理机资源的处理方法和装置 | |
WO2024021489A1 (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
US10374970B2 (en) | Deploying a cloud service with capacity reservation followed by activation | |
Yip et al. | Relaxing the synchronous approach for mixed-criticality systems | |
WO2024120205A1 (zh) | 一种应用性能优化方法、装置、电子设备及存储介质 | |
Vanmechelen et al. | Conservative distributed discrete event simulation on Amazon EC2 | |
US20180210756A1 (en) | Priority based scheduling | |
CN109871273A (zh) | 一种自适应任务迁移方法及装置 | |
CN114840323A (zh) | 任务处理方法、装置、系统、电子设备以及存储介质 | |
CN111201513B (zh) | 用于执行确保实时任务之间低延迟通信的排序计划的方法 | |
Prenzel et al. | Real-time dynamic reconfiguration for IEC 61499 | |
Isovic et al. | Handling mixed sets of tasks in combined offline and online scheduled real-time systems | |
CN116157778A (zh) | 共享物理主机上混合集中分布式调度的系统和方法 | |
CN116107728B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
Benini et al. | Resource management policy handling multiple use-cases in mpsoc platforms using constraint programming | |
CN110109718A (zh) | 一种应用程序接口调用方法及装置 | |
Kang et al. | Real-time software pipelining for multidomain motion controllers | |
CN114265676B (zh) | 集群资源调度方法、装置、设备及介质 | |
Pacher et al. | Real-time distribution of time-dependant tasks in heterogeneous environments | |
US11562270B2 (en) | Straggler mitigation for iterative machine learning via task preemption | |
CN110737533B (zh) | 一种任务调度方法、装置及电子设备和存储介质 | |
CN114416322A (zh) | 基于双链表的任务调度方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |