CN111625949A - Simulation engine system, simulation processing method, device and medium - Google Patents

Simulation engine system, simulation processing method, device and medium Download PDF

Info

Publication number
CN111625949A
CN111625949A CN202010431771.1A CN202010431771A CN111625949A CN 111625949 A CN111625949 A CN 111625949A CN 202010431771 A CN202010431771 A CN 202010431771A CN 111625949 A CN111625949 A CN 111625949A
Authority
CN
China
Prior art keywords
calculation
clock
simulation
control module
module
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
CN202010431771.1A
Other languages
Chinese (zh)
Other versions
CN111625949B (en
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010431771.1A priority Critical patent/CN111625949B/en
Publication of CN111625949A publication Critical patent/CN111625949A/en
Application granted granted Critical
Publication of CN111625949B publication Critical patent/CN111625949B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Abstract

The embodiment of the application discloses a simulation engine system, a simulation processing method, a device and a medium, which relate to the automatic driving technology, wherein the system comprises the following components: the clock control module is used for sequentially pushing the virtual clock values downwards according to the clock pushing instruction sent by the multi-node scheduling module and a preset clock pushing rule; the calculation control module is used for carrying out simulation calculation according to the calculation instruction sent by the multi-node scheduling module and outputting a calculation result; the multi-node scheduling module is used for sending a clock propulsion instruction to the clock control module according to the detected clock propulsion condition; and sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule the calculation control modules in parallel. The embodiment of the application ensures the consistency of simulation results in the same scene, improves the overall utilization rate of resources and enlarges the application range of simulation.

Description

Simulation engine system, simulation processing method, device and medium
Technical Field
The embodiment of the application relates to a computer technology, in particular to an automatic driving technology, and particularly relates to a simulation engine system, a simulation processing method, a device and a medium.
Background
Software development, an automatic driving system and finished vehicle verification and integration related in the automatic driving technology are supported by a simulation technology, and the simulation technology provides the automatic driving technology with the capabilities of safety detection and intelligent degree measurement.
In the prior art, when automatic driving simulation is performed, two implementation modes are mainly adopted: 1) and realizing the parallel scheduling simulation of the computing modules in the simulation system based on the physical clock. 2) And realizing serial scheduling simulation of the computing module in the simulation system based on the virtual clock.
The drawbacks of the above two implementations are: in the scheme 1), because the physical clock is used for unified control, the clocks required by different computing modules are not differentially controlled, and the consistency of simulation results of the same scene cannot be ensured. Scheme 2) the whole utilization ratio of the resource in the operation process is low, and the application range is limited.
Disclosure of Invention
The embodiment of the application discloses a simulation engine system, a simulation processing method, a device and a medium, which are used for solving the problems that the consistency of simulation results of the same scene cannot be ensured and the overall utilization rate of resources is low in the prior simulation technology.
In a first aspect, an embodiment of the present application discloses a simulation engine system, including:
the simulation engine is respectively connected with each calculation control module; the simulation engine comprises a clock control module and a multi-node scheduling module which are connected;
the clock control module is used for sequentially pushing the virtual clock values downwards according to the clock pushing instruction sent by the multi-node scheduling module and a preset clock pushing rule;
the calculation control module is used for carrying out simulation calculation according to the calculation instruction sent by the multi-node scheduling module and outputting a calculation result;
the multi-node scheduling module is used for sending a clock propulsion instruction to the clock control module according to the detected clock propulsion condition; and sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule the calculation control modules in parallel.
In a second aspect, an embodiment of the present application discloses a simulation processing method, including:
sending a clock advancing instruction to a clock control module according to the detected clock advancing condition so as to instruct the clock control module to sequentially advance the virtual clock values downwards according to a preset clock advancing rule;
sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule all the calculation control modules in parallel;
and the calculation instruction is used for indicating the calculation control module to perform simulation calculation and outputting a calculation result.
In a third aspect, an embodiment of the present application further discloses an electronic device, including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform a simulation processing method according to any of the embodiments of the present application.
In a fourth aspect, this application further discloses a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the simulation processing method according to any one of the embodiments of the application.
According to the technical scheme of the embodiment of the application, the clock control module is arranged in the simulation engine and used for sequentially pushing the virtual clock values downwards according to the clock pushing instruction sent by the multi-node scheduling module and the preset clock pushing rule; and the multi-node scheduling module is used for sending a clock propulsion instruction to the clock control module according to the detected clock propulsion condition and sending a calculation instruction to the matched calculation control module according to the detected simulation calculation condition so as to schedule all the calculation control modules in parallel, thereby realizing the parallel scheduling simulation of the calculation control modules based on the virtual clock, ensuring the consistency of simulation results of the same scene, improving the overall utilization rate of resources and expanding the application range of the simulation.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
FIG. 1A is a schematic diagram of a prior art simulation engine system according to an embodiment of the present application;
FIG. 1B is a schematic diagram of a simulation engine system according to an embodiment of the present disclosure;
FIG. 2 is a schematic structural diagram of another simulation engine system according to the second disclosure of the present application;
FIG. 3 is a flowchart of a simulation processing method according to the third embodiment of the present application;
fig. 4 is a block diagram of an electronic device disclosed according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
The simulation engine has the function of reasonably scheduling each vehicle end module to be detected in the playback process of the virtual scene, so that the playback process can reproduce the drive test process as much as possible, and the drive test effect is restored, which is the value of the simulation playback process. There are two main criteria for judging the quality of the simulated playback process: (1) the restoration degree of module scheduling: in a simulation environment, due to the limitation of machine resources, module calculation efficiency has a certain attenuation compared with a vehicle-end machine environment, and for calculation models with different time complexity and space complexity, the attenuation performance is different, so that a simulation engine needs to overcome the problem and reserve a scheduling topological structure of each module as much as possible. (2) Message consistency: scene playback requires recurring problems, so the recurring effect is stable, and therefore, message consistency is an important index of scene recurrence reliability.
The applicant finds in the development process that an existing simulation engine system generally comprises a simulation engine module and a calculation module, as shown in fig. 1A, fig. 1A is a schematic structural diagram of an existing simulation engine system, which includes a simulation engine and at least one calculation module connected to the simulation engine, wherein the calculation module is divided into a vehicle-end module and a simulation module. The simulation engine needs to reasonably control the scheduling sequence of the computing modules and ensure the reliability of the scene playback process as much as possible. The existing simulation method is to realize the parallel scheduling simulation of a calculation module based on a physical clock, namely, a vehicle-end module to be tested and a simulation module are started according to a vehicle running mode, so that the modules run randomly under the physical clock, and the running of the vehicle-end module is matched by adjusting the triggering time of the simulation module. Another existing simulation method is to implement serial scheduling simulation of computing modules based on a virtual clock, that is, it is required that message topologies of all computing modules form a monotonous serial structure, so that computing opportunities of each computing module can be triggered according to a sequence of the topology structure to form a message closed-loop operation mechanism, and meanwhile, a clock control means is used to set the virtual clock.
If the automatic driving simulation blue book indicates that: "the task of each calculation module is different, the simulation consumed resource is different, and the speed of completing the simulation task is different. The synchronization constraint of the simulation nodes by using the real time is difficult to ensure the consistency of the simulation results. The simulation of the computer differs from the real-world situation in that it does not strictly follow the passage of natural time. The simulation frequency of each calculation module is predetermined in advance, and the self simulation task is completed according to the set frequency only according to the time passing. ", and thus, clocking is one of the key issues addressed in this application.
Fig. 1B is a schematic structural diagram of a simulation engine system according to an embodiment of the present application, where the embodiment is applicable to a situation where a test vehicle end module to be tested is tested through a simulation driving environment. The simulation engine system can execute a simulation processing method provided by any embodiment of the present application, and the simulation engine system can be implemented by software and/or hardware and can be integrated on any electronic device with computing capability, such as a server and the like.
As shown in fig. 1B, the simulation engine system disclosed in this embodiment may include:
the simulation system comprises a simulation engine 10, a calculation control module 11, a calculation control module 12 and a calculation control module 13, wherein the simulation engine 10 is respectively connected with the calculation control module 11, the calculation control module 12 and the calculation control module 13; the simulation engine 10 comprises a clock control module 14 and a multi-node scheduling module 15 which are connected; in the present embodiment, only three calculation control modules are taken as an example to explain the simulation engine system disclosed in the present embodiment, but not to limit the specific number of calculation control modules.
And the clock control module 14 is configured to sequentially push the virtual clock values downward according to a preset clock push rule according to the clock push instruction sent by the multi-node scheduling module 15.
The clock advancing rule is preset according to the calculating speed of each calculating control module, the clock advancing rule comprises a plurality of virtual clock values, each virtual clock value corresponds to at least one calculating control module, and the corresponding calculating control module needs to perform simulation calculation when the virtual clock value is advanced. For example, the clock advancing rule includes virtual clock values 2, 5, 9 and 10, the virtual clock value "2" corresponds to the calculation control module a, the virtual clock value "5" corresponds to the calculation control module B and the calculation control module C, the virtual clock value "9" corresponds to the calculation control module D, and the virtual clock value "10" corresponds to the calculation control module E and the calculation control module F, so that when the virtual clock value advances to 2, the calculation control module a performs simulation calculation; when the virtual clock value is advanced to 5, the calculation control module B and the calculation control module C perform simulation calculation; when the virtual clock value is advanced to 9, the calculation control module D carries out simulation calculation; and when the virtual clock value is advanced to 10, the calculation control module E and the calculation control module F perform simulation calculation.
Specifically, the clock control module 14 receives a clock advance instruction of the multi-node scheduling module 15 in real time, and when the clock advance instruction is received, sequentially advances the current virtual clock value to the next virtual clock value according to the virtual clock value in the preset clock advance rule.
And the calculation control module is used for carrying out simulation calculation according to the calculation instruction sent by the multi-node scheduling module 15 and outputting a calculation result.
The calculation control module comprises a vehicle end module to be tested and a simulation virtual module. The vehicle end module to be tested can automatically control the unmanned vehicle. The simulation virtual module is used for simulating the environment scene of the vehicle according to the acquired environment data, and then the simulation virtual module is matched with the vehicle end module to be tested, so that the vehicle end module to be tested can be virtually operated, the effect of optimizing the algorithm related to the vehicle end module to be tested is supported, and due to the virtual operation, the problems that the automatic driving vehicle is directly actually measured on the road, the efficiency is low, and the safety risk exists are solved.
Specifically, the calculation control module obtains a calculation instruction sent by the multi-node scheduling module 15 in real time, and after receiving the calculation instruction, loads data according to respective corresponding functions, performs calculation, and outputs a calculation result.
The multi-node scheduling module 15 is configured to send a clock advance instruction to the clock control module according to the detected clock advance condition; and sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule the calculation control modules in parallel.
Specifically, the multi-node scheduling module 15 is connected to the calculation control module 11, the calculation control module 12, and the calculation control module 13, and can obtain the calculation results of each calculation control module in real time, and is connected to the clock control module 14, and can obtain the current virtual clock value in real time. The multi-node scheduling module 15 determines whether the current output result meets the clock advance condition according to the output result of each calculation control module, and if so, sends a clock advance instruction to the clock control module to control the clock control module 14 to advance the virtual clock value downwards in sequence according to a preset clock advance rule. Meanwhile, the multi-node scheduling module 15 determines whether the simulation calculation condition of any one of the calculation control modules is satisfied according to the output result of each calculation control module and/or the current virtual clock value, and if so, sends a calculation instruction to the calculation control module to control the calculation control module to perform simulation calculation, thereby achieving the effect of scheduling each calculation control module in parallel.
According to the technical scheme of the embodiment, the clock control module is arranged in the simulation engine and used for sequentially pushing the virtual clock values downwards according to the clock pushing instruction sent by the multi-node scheduling module and the preset clock pushing rule; and the multi-node scheduling module is used for sending a clock propulsion instruction to the clock control module according to the detected clock propulsion condition and sending a calculation instruction to the matched calculation control module according to the detected simulation calculation condition so as to schedule all the calculation control modules in parallel, thereby realizing the parallel scheduling simulation of the calculation control modules based on the virtual clock, ensuring the consistency of simulation results of the same scene, improving the overall utilization rate of resources and expanding the application range of the simulation.
Fig. 2 is a schematic structural diagram of another simulation engine system disclosed in the second embodiment of the present application, which is further optimized and expanded based on the above technical solution, and can be combined with the above optional embodiments. As shown in fig. 2, the simulation engine system may include:
the simulation system comprises a simulation engine 10, a calculation control module 11, a calculation control module 12 and a calculation control module 13, wherein the simulation engine 10 is respectively connected with the calculation control module 11, the calculation control module 12 and the calculation control module 13; the simulation engine 10 comprises a clock control module 14 and a multi-node scheduling module 15 which are connected; in the present embodiment, only three calculation control modules are taken as an example to explain the simulation engine system disclosed in the present embodiment, but not to limit the specific number of calculation control modules.
On the basis of the foregoing embodiment, the multi-node scheduling module 15 is specifically configured to:
monitoring a calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock advancing condition, sending a clock advancing instruction to a clock control module.
The clock advance is determined according to the calculation results output by the calculation control modules, that is, if the calculation results output by the calculation control modules meet the calculation results specified in the clock advance conditions, the clock control modules need to advance the clock.
For example, assuming that the calculation control module 11 and the calculation control module 12 are required to output the calculation result according to the clock advance condition, when the multi-node scheduling module 15 monitors that the calculation control module 11 and the calculation control module 12 both output the calculation result, the clock advance instruction is sent to the clock control module 14, so as to control the clock control module 14 to advance the current virtual clock value to the next virtual clock value according to the clock advance instruction and according to the preset clock advance rule.
The multi-node scheduling module is arranged to monitor the calculation result output by the at least one calculation control module in real time, and if the calculation result meets the clock advancing condition, a clock advancing instruction is sent to the clock control module, so that the sequential advancing of the virtual clock value of the clock control module in the example is ensured, and further, each calculation control module is ensured to perform simulation calculation according to the advanced virtual clock value.
On the basis of the above embodiment, the simulation engine further includes: a statistics and monitoring module 26 connected to the clock control module 14;
the counting and monitoring module 26 is configured to monitor, in real time, a calculation result output by at least one calculation control module and/or a current virtual clock value of a clock control module; according to the calculation result and/or the current virtual clock value, simulation process information is output; wherein, the simulation process information comprises: simulation progress information, and/or simulation fault information.
Specifically, the statistics and monitoring module 26 compares the calculation result obtained from the at least one calculation control module and/or the current virtual clock value obtained from the clock control module 14 with a preset simulation plan to obtain current simulation progress information and/or simulation fault information. For example, obtaining simulation progress information according to the current virtual clock value and the total virtual clock value in the simulation plan; for another example, if the calculation result corresponding to the current virtual clock value lags behind the expected calculation result corresponding to the current virtual clock value in the simulation plan, the simulation fault information is generated.
By arranging the counting and monitoring module, the calculation result output by at least one calculation control module and/or the current virtual clock value of the clock control module are monitored in real time, and simulation process information is output according to the calculation result and/or the current virtual clock value, so that the controllability of the whole simulation engine system is higher.
On the basis of the above embodiment, the calculation control module 11 includes: the connected adapter 20 and the computing unit 21; the calculation control module 12 includes: the connected adapter 22 and the computing unit 23; the calculation control module 13 includes: the connected adapter 24 and the computing unit 25; the simulation engine is respectively connected with the adapters in the calculation control modules;
the adapter is used for monitoring the calculation result output by the at least one calculation unit in real time and/or the current virtual clock value of the clock control module; and generating a ready response according to the calculation result and/or the current virtual clock value, and sending the ready response to the multi-node scheduling module.
Specifically, in each calculation control module, the adapter monitors the output calculation result of at least one calculation unit in real time, and monitors the current virtual clock value of the clock control module 14 in the simulation engine 10 in real time. And generating a ready response matched with the computing unit connected with the adapter according to the acquired output computing result and/or the current virtual clock value, and sending the ready response to the multi-node scheduling module.
Taking this embodiment as an example, the adapter 20, the adapter 22, and the adapter 24 may all monitor the calculation results output by the calculation unit 21, the calculation unit 23, and the calculation unit 25 in real time, and the adapter 20, the adapter 22, and the adapter 24 may all monitor the current virtual clock value of the clock control module 14 in real time. The adapter 20 generates a ready response matched with the calculating unit 21 according to the obtained output calculation result and/or the current virtual clock value, and sends the ready response to the multi-node scheduling module 15; the adapter 22 generates a ready response matched with the calculation unit 23 according to the acquired output calculation result and/or the current virtual clock value, and sends the ready response to the multi-node scheduling module 15; the adaptor 24 generates a ready response matching the calculation unit 25 based on the acquired output calculation result and/or the current virtual clock value, and transmits the ready response to the multi-node scheduling module 15.
Wherein, according to the obtained output calculation result and/or the current virtual clock value, generating a ready response matched with the calculation unit, including A, B and C:
A. and if the output calculation result meets the calculation data required by the simulation calculation of the calculation unit, generating a ready response matched with the calculation unit.
Taking the adapter 20 and the computing unit 21 connected thereto as an example, assuming that the computing data required by the computing unit 21 to perform the simulation computation is the computing results output by the computing unit 23 and the computing unit 25, after the adapter 20 monitors the output computing results of the computing unit 23 and the computing unit 25, a ready response matched with the computing unit 21 is generated and sent to the multi-node scheduling module.
B. And if the current virtual clock value is the virtual clock value corresponding to the computing unit in the clock advancing rule, generating a ready response matched with the computing unit.
Taking the adapter 20 and the computing unit 21 connected thereto as an example, assuming that the virtual clock value corresponding to the computing unit 21 in the clock advancing rule is "10", if the adapter 20 monitors that the current virtual clock value of the clock control module 14 is "10", it indicates that the computing unit 21 needs to start the simulation computation, and then a ready response matched with the computing unit 21 is generated.
C. And if the output calculation result meets the calculation data required by the calculation unit for simulation calculation and the current virtual clock value is the virtual clock value corresponding to the calculation unit in the clock advancing rule, generating a ready response matched with the calculation unit.
Taking the adapter 20 and the computing unit 21 connected thereto as an example, it is assumed that the computing data required by the computing unit 21 for performing the simulation computation are the computing results output by the computing unit 23 and the computing unit 25; the virtual clock value corresponding to the clock advance rule by the calculation unit 21 is "10". If the adapter 20 monitors the output calculation results of the calculation units 23 and 25 and monitors that the current virtual clock value of the clock control module 14 is "10", a ready response matching the calculation unit 21 is generated.
The multi-node scheduling module 15 is specifically configured to: and sending a calculation instruction to a calculation unit matched with the ready response according to the received ready response.
For example, assuming that the multi-node scheduling module 15 receives a ready response matching the computing unit 21, it sends a computing instruction to the computing unit 21 to control the computing unit 21 to perform simulation computation.
And the computing unit is used for carrying out simulation computation according to the received computation instruction and outputting a computation result.
Taking this embodiment as an example, the calculating unit 21, the calculating unit 23, and the calculating unit 25 all receive the calculating instruction sent by the multi-node scheduling module 15 in real time, and after receiving the calculating instruction, load the required calculating data, perform simulation calculation, and output the calculating result.
By arranging the connected adapters and the computing units in the computing modules and respectively connecting the simulation engine with the adapters in each computing control module, the adapters can generate ready responses matched with the connected computing units according to the monitored computing results output by at least one computing unit and/or the current virtual clock value of the clock control module and send the ready responses to the multi-node adjusting module in the simulation engine, the multi-node adjusting module sends computing instructions according to the received ready responses, and finally the computing units respond to the computing instructions to perform simulation computation and output computing results, so that each computing unit can perform simulation computation in order, the consistency of simulation results in the same scene is ensured, and the multi-node adjusting module calls the computing units to perform simulation computation in a parallel mode, the overall utilization rate of resources is improved, and the application range of simulation is expanded.
On the basis of the embodiment, the simulation engine system is arranged in the automatic driving simulation system; the calculating unit is a calculating unit in a sensing assembly in the automatic driving vehicle or a calculating unit in a vehicle machine decision module.
The sensing component includes, but is not limited to, a high-definition camera or a high-precision radar.
The simulation engine system in the embodiment can complete simulation calculation related to automatic driving by arranging the simulation engine system in the automatic driving simulation system; by setting the computing unit as a computing unit in a sensing component in the automatic driving vehicle or a computing unit in a vehicle machine decision module, the simulation engine system is ensured to be capable of acquiring environmental data required by simulation and driving data related to automatic driving.
Fig. 3 is a flowchart of a simulation processing method according to the third embodiment of the present application, which may be applied to a case where a test vehicle end module to be tested is tested through a simulation driving environment. The method of the present embodiment may be executed by any simulation engine system provided by the embodiment of the present invention, and the apparatus may be implemented by software and/or hardware, and may be integrated on any electronic device with computing capability, such as a server.
As shown in fig. 3, the simulation processing method disclosed in this embodiment may include:
s301, according to the detected clock advancing conditions, sending a clock advancing instruction to the clock control module to instruct the clock control module to advance the virtual clock values downwards in sequence according to a preset clock advancing rule.
Specifically, a multi-node scheduling module in the simulation engine system sends a clock advance instruction to a clock control module in the simulation engine system according to the detected clock advance condition, and after receiving the clock advance instruction, the clock control module sequentially advances the current virtual clock value to the next virtual clock value according to a preset clock advance rule.
Optionally, the step S301 of "sending a clock advance instruction to the clock control module according to the detected clock advance condition" includes:
monitoring a calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock advancing condition, sending a clock advancing instruction to a clock control module.
The clock advance is determined according to the calculation results output by the calculation control modules, that is, if the calculation results output by the calculation control modules meet the calculation results specified in the clock advance conditions, the clock control modules need to advance the clock.
For example, assuming that the calculation control module 11 and the calculation control module 12 are required to output the calculation result according to the clock advance condition, when the multi-node scheduling module monitors that the calculation control module 11 and the calculation control module 12 both output the calculation result, the multi-node scheduling module sends a clock advance instruction to the clock control module to control the clock control module to advance the current virtual clock value to the next virtual clock value according to the clock advance instruction and the preset clock advance rule.
By monitoring the calculation result output by at least one calculation control module in real time, if the calculation result is determined to meet the clock advancing condition, a clock advancing instruction is sent to the clock control module, so that the ordered advancing of the virtual clock value of the clock control module in the example is ensured, and further, each calculation control module is ensured to carry out simulation calculation according to the advanced virtual clock value.
S302, sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule the calculation control modules in parallel; and the calculation instruction is used for indicating the calculation control module to perform simulation calculation and outputting a calculation result.
The simulation calculation condition indicates that a calculation unit in the calculation control module has a condition for performing simulation calculation.
Specifically, if the multi-node scheduling module determines that the simulation calculation condition is detected, the calculation unit in the calculation control module matched with the simulation calculation condition sends a calculation instruction, responds to the calculation instruction, and carries out simulation calculation after loading required data to obtain an output calculation result.
Optionally, the step S302 of "sending a calculation instruction to the matched calculation control module according to the detected simulation calculation condition" includes:
determining that the simulated computation condition is detected if a ready response sent by an adapter in a target computation control module is received; and sending the calculation instruction to a calculation unit in the target calculation control module.
And the adapter generates a ready response matched with the connected computing unit according to the acquired computing result output by the at least one computing unit and/or the acquired current virtual clock value of the clock control module. Specifically, the following A, B and C are included:
A. and if the output calculation result meets the calculation data required by the simulation calculation of the calculation unit, generating a ready response matched with the calculation unit.
B. And if the current virtual clock value is the virtual clock value corresponding to the computing unit in the clock advancing rule, generating a ready response matched with the computing unit.
C. And if the output calculation result meets the calculation data required by the calculation unit for simulation calculation and the current virtual clock value is the virtual clock value corresponding to the calculation unit in the clock advancing rule, generating a ready response matched with the calculation unit.
When the multi-node scheduling module obtains a ready response sent by an adapter, a calculation instruction is sent to a calculation unit connected with the adapter in the calculation control module to control the calculation unit to load required data and then carry out simulation calculation, and a calculation result is output.
If the ready response sent by the adapter in the target calculation control module is received, the simulation calculation condition is determined to be detected, and the calculation instruction is sent to the calculation unit in the target calculation control module, so that the technical effect of parallel calling of the calculation unit for simulation is realized, and the consistency of simulation results in the same scene is ensured.
In the embodiment, a clock advance instruction is sent to the clock control module according to the detected clock advance condition to instruct the clock control module to sequentially advance the virtual clock value downwards according to the preset clock advance rule, and a calculation instruction is sent to the matched calculation control module according to the detected simulation calculation condition to schedule each calculation control module in parallel, so that each calculation unit can perform simulation calculation in order, the consistency of simulation results in the same scene is ensured, and the multi-node adjusting module calls the calculation units in a parallel mode to perform simulation calculation, so that the overall utilization rate of resources is improved, and the application range of simulation is expanded.
According to an embodiment of the present application, an electronic device and a readable storage medium are also provided.
Fig. 4 is a block diagram of an electronic device according to an embodiment of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 4, the electronic apparatus includes: one or more processors 401, memory 402, and interfaces for connecting the various components, including high-speed interfaces and low-speed interfaces. The various components are interconnected using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions for execution within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input/output apparatus (such as a display device coupled to the interface). In other embodiments, multiple processors and/or multiple buses may be used, along with multiple memories and multiple memories, as desired. Also, multiple electronic devices may be connected, with each device providing portions of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). In fig. 4, one processor 401 is taken as an example.
Memory 402 is a non-transitory computer readable storage medium as provided herein. The memory stores instructions executable by at least one processor to cause the at least one processor to execute the simulation processing method provided by the application. The non-transitory computer-readable storage medium of the present application stores computer instructions for causing a computer to execute the simulation processing method provided by the present application.
The memory 402, as a non-transitory computer readable storage medium, may be used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules (e.g., the multi-node scheduling module 15 shown in fig. 1A) corresponding to the simulation processing method in the embodiment of the present application. The processor 401 executes various functional applications of the server and data processing by running non-transitory software programs, instructions, and modules stored in the memory 402, that is, implements the simulation processing method in the above-described method embodiments.
The memory 402 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the electronic device of the simulation processing method, and the like. Further, the memory 402 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory 402 may optionally include a memory remotely located from the processor 401, and these remote memories may be connected to the electronics of the simulation process method over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device of the simulation processing method may further include: an input device 403 and an output device 404. The processor 401, the memory 402, the input device 403 and the output device 404 may be connected by a bus or other means, and fig. 4 illustrates an example of a connection by a bus.
The input device 403 may receive input numeric or character information and generate key signal inputs related to user settings and function control of the electronic apparatus of the simulation processing method, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointing stick, one or more mouse buttons, a track ball, a joystick, or the like. The output devices 404 may include a display device, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibrating motors), among others. The display device may include, but is not limited to, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and a plasma display. In some implementations, the display device can be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
According to the technical scheme of the embodiment of the application, the clock advancing instruction is sent to the clock control module according to the detected clock advancing condition to indicate the clock control module to sequentially advance the virtual clock value downwards according to the preset clock advancing rule, the calculation instruction is sent to the matched calculation control module according to the detected simulation calculation condition, and the calculation control modules are dispatched in parallel, so that the calculation units can orderly perform simulation calculation, the consistency of simulation results in the same scene is ensured, and the multi-node adjusting module calls the calculation units in a parallel mode to perform simulation calculation, so that the overall utilization rate of resources is improved, and the application range of simulation is expanded.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, and the present invention is not limited thereto as long as the desired results of the technical solutions disclosed in the present application can be achieved.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (10)

1. A simulation engine system, comprising: the simulation engine is respectively connected with each calculation control module; the simulation engine comprises a clock control module and a multi-node scheduling module which are connected;
the clock control module is used for sequentially pushing the virtual clock values downwards according to the clock pushing instruction sent by the multi-node scheduling module and a preset clock pushing rule;
the calculation control module is used for carrying out simulation calculation according to the calculation instruction sent by the multi-node scheduling module and outputting a calculation result;
the multi-node scheduling module is used for sending a clock propulsion instruction to the clock control module according to the detected clock propulsion condition; and sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule the calculation control modules in parallel.
2. The simulation engine system of claim 1, wherein the calculation control module comprises: the simulation engine is respectively connected with the adapters in the calculation control modules;
the adapter is used for monitoring the calculation result output by the at least one calculation unit in real time and/or the current virtual clock value of the clock control module; generating a ready response according to the calculation result and/or the current virtual clock value, and sending the ready response to a multi-node scheduling module;
the multi-node scheduling module is specifically configured to: according to the received ready response, sending a calculation instruction to a calculation unit matched with the ready response;
and the computing unit is used for carrying out simulation computation according to the received computation instruction and outputting a computation result.
3. The simulation engine system of claim 1 or 2, wherein the multi-node scheduling module is specifically configured to:
monitoring a calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock advancing condition, sending a clock advancing instruction to a clock control module.
4. The simulation engine system of claim 1, further comprising in the simulation engine: the statistic and monitoring module is connected with the clock control module;
the counting and monitoring module is used for monitoring the calculation result output by the at least one calculation control module and/or the current virtual clock value of the clock control module in real time; according to the calculation result and/or the current virtual clock value, simulation process information is output;
wherein, the simulation process information comprises: simulation progress information, and/or simulation fault information.
5. The simulation engine system of claim 2, wherein the simulation engine system is built into an autopilot simulation system;
the calculating unit is a calculating unit in a sensing assembly in the automatic driving vehicle or a calculating unit in a vehicle machine decision module.
6. A simulation processing method is characterized by comprising the following steps:
sending a clock advancing instruction to a clock control module according to the detected clock advancing condition so as to instruct the clock control module to sequentially advance the virtual clock values downwards according to a preset clock advancing rule;
sending a calculation instruction to the matched calculation control modules according to the detected simulation calculation conditions so as to schedule all the calculation control modules in parallel;
and the calculation instruction is used for indicating the calculation control module to perform simulation calculation and outputting a calculation result.
7. The method of claim 6, wherein sending a clock advance command to a clock control module based on the detected clock advance condition comprises:
monitoring a calculation result output by at least one calculation control module in real time;
and if the calculation result meets the clock advancing condition, sending a clock advancing instruction to a clock control module.
8. The method of claim 6, wherein sending a computation instruction to a matching computation control module based on the detected simulation computation conditions comprises:
determining that the simulated computation condition is detected if a ready response sent by an adapter in a target computation control module is received;
and sending the calculation instruction to a calculation unit in the target calculation control module.
9. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 6-8.
10. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 6-8.
CN202010431771.1A 2020-05-20 2020-05-20 Simulation engine system, simulation processing method, device and medium Active CN111625949B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010431771.1A CN111625949B (en) 2020-05-20 2020-05-20 Simulation engine system, simulation processing method, device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010431771.1A CN111625949B (en) 2020-05-20 2020-05-20 Simulation engine system, simulation processing method, device and medium

Publications (2)

Publication Number Publication Date
CN111625949A true CN111625949A (en) 2020-09-04
CN111625949B CN111625949B (en) 2023-09-29

Family

ID=72259968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010431771.1A Active CN111625949B (en) 2020-05-20 2020-05-20 Simulation engine system, simulation processing method, device and medium

Country Status (1)

Country Link
CN (1) CN111625949B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256243A (en) * 2020-11-05 2021-01-22 苏州同元软控信息技术有限公司 Behavior customization method, behavior customization device, behavior customization equipment and storage medium
CN114036645A (en) * 2021-11-16 2022-02-11 中智行科技有限公司 ROS-based simulation method and device and electronic equipment
WO2022120717A1 (en) * 2020-12-10 2022-06-16 华为技术有限公司 Simulation task scheduling method, execution method, simulation implementation method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081575A (en) * 1987-11-06 1992-01-14 Oryx Corporation Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
JP2000011016A (en) * 1998-06-17 2000-01-14 Hitachi Ltd Parallel logical simulation system
CN101937232A (en) * 2010-09-07 2011-01-05 北京航空航天大学 Embedded real-time emulation and fault simulation system based on multiple data buses
CN106168993A (en) * 2016-06-30 2016-11-30 上海科梁信息工程股份有限公司 Electrical network real-time simulation analysis platform
CN108074563A (en) * 2016-11-09 2018-05-25 珠海格力电器股份有限公司 The control method and device of clock application
CN109800054A (en) * 2018-12-24 2019-05-24 四川知周科技有限责任公司 A kind of distributed parallel real-time simulation scheduling implementation method
CN111123883A (en) * 2018-10-30 2020-05-08 百度在线网络技术(北京)有限公司 Dual-drive unmanned vehicle simulation method, device, equipment and computer readable medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081575A (en) * 1987-11-06 1992-01-14 Oryx Corporation Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
JP2000011016A (en) * 1998-06-17 2000-01-14 Hitachi Ltd Parallel logical simulation system
CN101937232A (en) * 2010-09-07 2011-01-05 北京航空航天大学 Embedded real-time emulation and fault simulation system based on multiple data buses
CN106168993A (en) * 2016-06-30 2016-11-30 上海科梁信息工程股份有限公司 Electrical network real-time simulation analysis platform
CN108074563A (en) * 2016-11-09 2018-05-25 珠海格力电器股份有限公司 The control method and device of clock application
CN111123883A (en) * 2018-10-30 2020-05-08 百度在线网络技术(北京)有限公司 Dual-drive unmanned vehicle simulation method, device, equipment and computer readable medium
CN109800054A (en) * 2018-12-24 2019-05-24 四川知周科技有限责任公司 A kind of distributed parallel real-time simulation scheduling implementation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李婷珽: "并行分布实时仿真的时间管理算法研究", vol. 25, no. 25, pages 10 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256243A (en) * 2020-11-05 2021-01-22 苏州同元软控信息技术有限公司 Behavior customization method, behavior customization device, behavior customization equipment and storage medium
CN112256243B (en) * 2020-11-05 2024-04-02 苏州同元软控信息技术有限公司 Behavior customization method, apparatus, device and storage medium
WO2022120717A1 (en) * 2020-12-10 2022-06-16 华为技术有限公司 Simulation task scheduling method, execution method, simulation implementation method and device
CN114036645A (en) * 2021-11-16 2022-02-11 中智行科技有限公司 ROS-based simulation method and device and electronic equipment

Also Published As

Publication number Publication date
CN111625949B (en) 2023-09-29

Similar Documents

Publication Publication Date Title
CN111625949B (en) Simulation engine system, simulation processing method, device and medium
CN111459816B (en) Fault injection testing method, device, system and storage medium
CN112925651B (en) Application resource deployment method, device, electronic equipment and medium
CN111835592B (en) Method, apparatus, electronic device and readable storage medium for determining robustness
CN112235417B (en) Method and device for sending debugging instruction
KR102339747B1 (en) Simulator, simulation device, and simulation method
CN110706147B (en) Image processing environment determination method, device, electronic equipment and storage medium
CN112925652B (en) Application resource deployment method, device, electronic equipment and medium
CN111880914A (en) Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium
CN112540914A (en) Execution method, execution device, server and storage medium for unit test
KR102488582B1 (en) Method and apparatus for verifying operation state of application
CN113238943A (en) Method and device for continuous integration test
WO2022100033A1 (en) Method and apparatus for debugging applet, electronic device and storage medium
CN111782341B (en) Method and device for managing clusters
JP2021128779A (en) Method, device, apparatus, and storage medium for expanding data
CN111125451B (en) Data production processing method and device, electronic equipment and storage medium
CN111399811A (en) Method, device and equipment for developing visual page and storage medium
CN113656268B (en) Performance test method and device for business service, electronic equipment and storage medium
CN112380065B (en) Data restoration method and device, electronic equipment and storage medium
CN112527368B (en) Cluster kernel version updating method and device, electronic equipment and storage medium
CN112148563B (en) Information generation method, device, equipment and storage medium
US20170134238A1 (en) Physical machine management device and physical machine management method
JP2023007411A (en) Data processing method, device, electronic apparatus, and readable storage medium
CN114859898A (en) Unmanned vehicle control method and device
CN117608584A (en) Multi-program compiling method, device, equipment and storage medium

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