CN111625949B - 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
CN111625949B
CN111625949B CN202010431771.1A CN202010431771A CN111625949B CN 111625949 B CN111625949 B CN 111625949B CN 202010431771 A CN202010431771 A CN 202010431771A CN 111625949 B CN111625949 B CN 111625949B
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.)
Active
Application number
CN202010431771.1A
Other languages
Chinese (zh)
Other versions
CN111625949A (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

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the application discloses a simulation engine system, a simulation processing method, equipment and a medium, and relates to the automatic driving technology, wherein the system comprises: the clock control module is used for sequentially pushing the virtual clock value 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 performing 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 of the same scene, improves the overall utilization rate of resources and expands 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 simulation processing device and a simulation processing medium.
Background
The software development, automatic driving system and whole vehicle verification and integration related to the automatic driving technology are very dependent on the support of the 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 main implementation modes are provided: 1) And realizing parallel scheduling simulation of the computing module 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 two implementations described above have the following drawbacks: in the scheme 1), the physical clocks are used for unified control, so that clocks required by different calculation modules are not controlled differently, and consistency of simulation results of the same scene cannot be ensured. The scheme 2) has low overall utilization rate of resources in the running process and is limited in application range.
Disclosure of Invention
The embodiment of the application discloses a simulation engine system, a simulation processing method, equipment 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 and the plurality of calculation control modules are 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 value 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 performing 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:
according to the detected clock propulsion condition, a clock propulsion instruction is sent to the clock control module so as to instruct the clock control module to sequentially and downwards propel the virtual clock value according to a preset clock propulsion rule;
according to the detected simulation calculation conditions, a calculation instruction is sent to the matched calculation control modules so as to schedule the calculation control modules in parallel;
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 memory stores instructions executable by the at least one processor to enable the at least one processor to perform the simulation method according to any one of the embodiments of the present application.
In a fourth aspect, embodiments of the present application further disclose a non-transitory computer readable storage medium storing computer instructions for causing a computer to execute the simulation processing method according to any of the embodiments of the present application.
According to the technical scheme of the embodiment of the application, a clock control module is arranged in a simulation engine and is used for sequentially downwards propelling virtual clock values according to a clock propelling instruction sent by a multi-node scheduling module and a preset clock propelling rule; the multi-node scheduling module is used for sending clock propulsion instructions to the clock control module according to the detected clock propulsion conditions, sending calculation instructions to the matched calculation control modules according to the detected simulation calculation conditions, and scheduling the calculation control modules in parallel, so that the parallel scheduling simulation of the calculation control modules based on the virtual clock is realized, the consistency of simulation results of the same scene is ensured, the overall utilization rate of resources is improved, and the application range of simulation is enlarged.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are included to provide a better understanding of the present application and are not to be construed as limiting the application. Wherein:
FIG. 1A is a schematic diagram of a prior art simulation engine system in accordance with an embodiment of the present application;
FIG. 1B is a schematic diagram of a simulation engine system according to one embodiment of the present application;
FIG. 2 is a schematic diagram of another simulation engine system according to a second embodiment of the present application;
FIG. 3 is a flow chart of a simulation processing method according to a third disclosed embodiment of the application;
fig. 4 is a block diagram of an electronic device disclosed in accordance with an embodiment of the application.
Detailed Description
Exemplary embodiments of the present application will now be described with reference to the accompanying drawings, in which various details of the embodiments of the present application are included to facilitate understanding, and are to be considered merely exemplary. 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 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 virtual scene playback process, so that the drive test process can be reproduced as much as possible in the playback process, and the drive test effect is restored, which is also the value of the simulation playback process. The quality of the judging simulation playback process mainly has two standards: (1) degree of restoration of module scheduling: in the simulation environment, because of the limitation of machine resources, a certain attenuation of module computing efficiency compared with the vehicle-end machine environment can occur, and the performance of the attenuation is different for computing models with different time complexity and space complexity, so that the simulation engine needs to overcome the problem and keep the scheduling topological structure of each module as far as possible. (2) message consistency: scene playback requires a reproduction problem, so this reproduction effect is stable, and thus message consistency is an important indicator of scene reproduction reliability.
In the development process, the applicant finds that the existing simulation engine system is generally composed of a simulation engine module and a calculation module, as shown in fig. 1A, fig. 1A is a schematic structural diagram of the existing simulation engine system, where the existing simulation engine system includes a simulation engine and at least one calculation module connected to the simulation engine, and 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 calculation modules and ensure the credibility of the scene playback process as much as possible. The existing simulation method is to realize parallel scheduling simulation of a calculation module based on a physical clock, namely, starting a vehicle-end module to be tested and a simulation module according to a vehicle running mode, enabling the modules to run randomly under the physical clock, and matching the running of the vehicle-end module by adjusting the triggering time of the simulation module. The existing another simulation method is to realize serial scheduling simulation of computing modules based on a virtual clock, namely, the message topology of all the computing modules is required to form a monotone serial structure, so that a message closed-loop operation mechanism can be formed by triggering the computing opportunities of all the computing modules according to the sequence of the topology structure, and the virtual clock is set by using a clock control means at the same time.
As noted in the autopilot simulated blue book: "the tasks of each calculation module are different, the resources consumed by the simulation are different, and the speed of completing the simulation tasks is different. Synchronous constraint on simulation nodes using real time is difficult to ensure consistency of their simulation results. Computer simulations are different from reality and do not require strict adherence to the passage of natural time. The simulation frequency of each calculation module is agreed in advance, and the simulation task of each calculation module is completed according to the set frequency only by the lapse of time. As such, clock control is one of the key issues addressed in the present application.
Fig. 1B is a schematic structural diagram of a simulation engine system according to an embodiment of the present application, where the embodiment may be applicable to a situation where a vehicle end module to be tested is tested by a simulation driving environment. The simulation engine system can execute a simulation processing method provided by any embodiment of the 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.
As shown in fig. 1B, the simulation engine system disclosed in this embodiment may include:
The simulation engine 10 and the calculation control module 11, the calculation control module 12 and the 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 on the basis of the present application, those skilled in the art will easily think of setting different numbers of calculation control modules when facing different problems.
The clock control module 14 is configured to sequentially push down the virtual clock values according to a preset clock pushing rule according to the clock pushing instruction sent by the multi-node scheduling module 15.
The clock propulsion rule is preset according to the calculation speed of each calculation control module, the clock propulsion rule comprises a plurality of virtual clock values, each virtual clock value corresponds to at least one calculation control module, and when the clock propulsion rule indicates that the virtual clock value is propelled, the corresponding calculation control module needs to carry out simulation calculation. For example, the clock-advance rule includes virtual clock values 2, 5, 9 and 10, where the virtual clock value "2" corresponds to the computation control module a, the virtual clock value "5" corresponds to the computation control module B and the computation control module C, the virtual clock value "9" corresponds to the computation control module D, and the virtual clock value "10" corresponds to the computation control module E and the computation control module F, and when the virtual clock value advances to 2, the computation control module a performs the simulation computation; when the virtual clock value advances to 5, the calculation control module B and the calculation control module C perform simulation calculation; when the virtual clock value advances to 9, the calculation control module D performs simulation calculation; when the virtual clock value advances to 10, the calculation control module E and the calculation control module F perform simulation calculation.
Specifically, the clock control module 14 receives the clock pushing instruction of the multi-node scheduling module 15 in real time, and after receiving the clock pushing instruction, sequentially pushes the current virtual clock value to the next virtual clock value according to the virtual clock value in the preset clock pushing rule.
And the calculation control module is used for performing 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 to-be-tested vehicle end module 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 collected environment data, and further realizing virtual operation of the vehicle end module to be tested by matching the simulation virtual module with the vehicle end module to be tested, so that the effect of optimizing an algorithm related to the vehicle end module to be tested is supported, and the problem that the automatic driving vehicle is directly actually measured on the road, the efficiency is low and the safety risk exists is avoided due to the virtual operation.
Specifically, the calculation control module acquires the calculation instruction sent by the multi-node scheduling module 15 in real time, performs calculation after receiving the calculation instruction and loading data according to the respective corresponding functions, and outputs a calculation result.
The multi-node scheduling module 15 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.
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, so as to obtain the calculation result of each calculation control module in real time, and is connected to the clock control module 14, so as to obtain the current virtual clock value in real time. The multi-node scheduling module 15 determines, according to the output result of each calculation control module, whether the current output result meets the clock propulsion condition, if yes, sends a clock propulsion instruction to the clock control module, so as to control the clock control module 14 to sequentially propel the virtual clock values downwards according to a preset clock propulsion rule. Meanwhile, the multi-node scheduling module 15 also determines whether the simulation calculation condition of any calculation control module is met according to the output result of each calculation control module and/or the current virtual clock value, if yes, a calculation instruction is sent to the calculation control module to control the calculation control module to perform simulation calculation, and therefore the effect of parallel scheduling of each calculation control module is achieved.
According to the technical scheme of the embodiment, a clock control module is arranged in a simulation engine and is used for sequentially downwards propelling virtual clock values according to a preset clock propelling rule according to a clock propelling instruction sent by a multi-node scheduling module; the multi-node scheduling module is used for sending clock propulsion instructions to the clock control module according to the detected clock propulsion conditions, sending calculation instructions to the matched calculation control modules according to the detected simulation calculation conditions, and scheduling the calculation control modules in parallel, so that the parallel scheduling simulation of the calculation control modules based on the virtual clock is realized, the consistency of simulation results of the same scene is ensured, the overall utilization rate of resources is improved, and the application range of simulation is enlarged.
Fig. 2 is a schematic structural diagram of another simulation engine system according to the second embodiment of the present application, which is further optimized and expanded based on the above technical solution, and may be combined with the above alternative embodiments. As shown in fig. 2, the simulation engine system may include:
the simulation engine 10 and the calculation control module 11, the calculation control module 12 and the 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 on the basis of the present application, those skilled in the art will easily think of setting different numbers of calculation control modules when facing different problems.
On the basis of the above embodiment, the multi-node scheduling module 15 is specifically configured to:
monitoring the calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock propulsion condition, sending a clock propulsion instruction to a clock control module.
The clock propulsion is determined according to the calculation results output by each calculation control module, namely, if the calculation results output by each calculation control module at present meet the calculation results specified in the clock propulsion conditions, the clock control module needs to propel the clock.
For example, assuming that the calculation control module 11 and the calculation control module 12 are required to output the calculation results in the clock advance condition, when the multi-node scheduling module 15 monitors that the calculation control module 11 and the calculation control module 12 output the calculation results, a clock advance instruction is sent to the clock control module 14 to control the clock control module 14 to advance the current virtual clock value to the next virtual clock value according to the preset clock advance rule according to the clock advance instruction.
By setting the multi-node scheduling module to monitor the calculation result output by at least one calculation control module in real time, if the calculation result meets the clock propulsion condition, a clock propulsion instruction is sent to the clock control module, so that the orderly propulsion 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 propelled 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 statistics and monitoring module 26 is configured to monitor, in real time, a calculation result output by the at least one calculation control module and/or a current virtual clock value of the clock control module; outputting simulation process information according to the calculation result and/or the current virtual clock value; wherein the simulation process information includes: simulation progress information, and/or simulation fault information.
Specifically, the statistics and monitoring module 26 compares the current virtual clock value obtained from the clock control module 14 and the calculation result obtained from at least one calculation control module with a preset simulation plan to obtain current simulation progress information and/or simulation fault information. For example, according to the current virtual clock value and the total virtual clock value in the simulation plan, simulation progress information is obtained; 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, simulation fault information is generated.
By setting the statistics 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 the 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 stronger.
On the basis of the above embodiment, the calculation control module 11 includes: an adapter 20 and a computing unit 21 connected thereto; the calculation control module 12 includes: an adapter 22 and a computing unit 23 connected thereto; the calculation control module 13 includes: an adapter 24 and a computing unit 25 connected thereto; the simulation engine is respectively connected with the adapter in each calculation control module;
the adapter is used for monitoring the calculation result output by the at least one calculation unit and/or the current virtual clock value of the clock control module in real time; and generating a ready response to be sent to the multi-node scheduling module according to the calculation result and/or the current virtual clock value.
Specifically, in each computing control module, the adapter monitors the output computing results of at least one computing 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 obtained output computing result and/or the current virtual clock value, and sending the ready response to the multi-node scheduling module.
Taking the embodiment as an example, the adapters 20, 22 and 24 can monitor the calculation results output by the calculation units 21, 23 and 25 in real time, and the adapters 20, 22 and 24 can 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 calculation 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 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 24 generates a ready response matched with the calculation unit 25 according to the obtained 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, a ready response matched with the calculation unit is generated, which comprises three cases of A, B and C:
A. and if the output calculation result meets calculation data required by the calculation unit for simulation calculation, 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 for the computing unit 21 to perform the simulation computation is the computing results output by the computing unit 23 and the computing unit 25, when 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 propulsion rule, generating a ready response matched with the computing unit.
Taking the adapter 20 and the computing unit 21 connected with the adapter 20 as an example, assuming that the virtual clock value corresponding to the computing unit 21 in the clock propulsion rule is "10", if the adapter 20 monitors that the current virtual clock value of the clock control module 14 is "10", it means that the computing unit 21 needs to start the simulation calculation, and a ready response matched with the computing unit 21 is generated.
C. And if the output calculation result meets 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 propulsion 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 for the computing unit 21 to perform the simulation computation is the computing results output by the computing units 23 and 25; the calculation unit 21 sets the virtual clock value corresponding to the clock advance rule to "10". If the adapter 20 monitors the output calculation results of the calculation units 23 and 25 and monitors the current virtual clock value of the clock control module 14 as "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 prepared response according to the received prepared response.
Illustratively, assuming that the multi-node scheduling module 15 receives a ready response that matches the computing unit 21, a calculation instruction is sent to the computing unit 21 to control the computing unit 21 to perform the simulation calculation.
And the calculation unit is used for carrying out simulation calculation according to the received calculation instruction and outputting a calculation result.
Taking the embodiment as an example, the computing unit 21, the computing unit 23 and the computing unit 25 all receive the computing instructions sent by the multi-node scheduling module 15 in real time, load the respective required computing data after receiving the computing instructions, perform simulation computation, and output the computing results.
The adapter and the computing units are connected in the computing modules, and the simulation engine is connected with the adapter in each computing control module respectively, so that the adapter can generate a ready response matched with the connected computing units according to the computing result output by at least one computing unit obtained through monitoring and/or the current virtual clock value of the clock control module, and send the ready response to the multi-node adjusting module in the simulation engine, and the multi-node adjusting module sends a computing instruction according to the received ready response, finally the computing unit responds to the computing instruction to perform simulation computation and output the computing result, so that each computing unit can perform the simulation computation orderly, the consistency of the simulation result of the same scene is ensured, and the multi-node adjusting module invokes the computing unit to perform the simulation computation in a parallel mode, thereby improving the overall utilization rate of resources and expanding the application range of simulation.
On the basis of the embodiment, the simulation engine system is built in an automatic driving simulation system; the calculating unit is a calculating unit in a sensing component in the automatic driving vehicle or a calculating unit in a vehicle-machine decision module.
The sensing component comprises, but is not limited to, a high-definition camera or a high-precision radar.
By arranging the simulation engine system in the automatic driving simulation system, the simulation engine system in the embodiment can complete simulation calculation related to automatic driving; by setting the computing unit as the computing unit in the perception component in the automatic driving vehicle or the computing unit in the vehicle-machine decision module, the simulation engine system is ensured to acquire environment data required by simulation and driving data related to automatic driving.
Fig. 3 is a flowchart of a simulation processing method according to a third embodiment of the present application, where the present embodiment may be applicable to a case of testing a vehicle end module to be tested through a simulated driving environment. The method of the embodiment can be executed by any simulation engine system provided by the embodiment of the application, and the device 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. 3, the simulation processing method disclosed in this embodiment may include:
s301, according to the detected clock propulsion condition, a clock propulsion instruction is sent to the clock control module so as to instruct the clock control module to sequentially and downwards propel the virtual clock value according to a preset clock propulsion rule.
Specifically, the multi-node scheduling module in the simulation engine system sends a clock propulsion instruction to the clock control module in the simulation engine system according to the detected clock propulsion condition, and the clock control module sequentially propels the current virtual clock value to the next virtual clock value according to a preset clock propulsion rule after receiving the clock propulsion instruction.
Optionally, in S301, "send a clock advance command to the clock control module according to the detected clock advance condition", including:
monitoring the calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock propulsion condition, sending a clock propulsion instruction to a clock control module.
The clock propulsion is determined according to the calculation results output by each calculation control module, namely, if the calculation results output by each calculation control module at present meet the calculation results specified in the clock propulsion conditions, the clock control module needs to propel the clock.
For example, assuming that the calculation control module 11 and the calculation control module 12 are required to output the calculation results in the clock propulsion condition, when the multi-node scheduling module monitors that the calculation control module 11 and the calculation control module 12 output the calculation results, a clock propulsion instruction is sent to the clock control module to control the clock control module to push the current virtual clock value to the next virtual clock value according to the preset clock propulsion rule according to the clock propulsion instruction.
By monitoring the calculation result output by at least one calculation control module in real time, if the calculation result meets the clock propulsion condition, a clock propulsion instruction is sent to the clock control module, so that the ordered propulsion 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 propelled virtual clock value.
S302, according to the detected simulation calculation conditions, a calculation instruction is sent to the matched calculation control modules so as to schedule the calculation control modules in parallel; the calculation instruction is used for indicating the calculation control module to perform simulation calculation and outputting a calculation result.
The simulation calculation condition means that the 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, a calculation unit in the calculation control module matched with the simulation calculation condition sends a calculation instruction, and the calculation unit responds to the calculation instruction, loads required data and then carries out simulation calculation to obtain an output calculation result.
Optionally, in S302, "send a calculation instruction to the matched calculation control module according to the detected simulated calculation condition", including:
if a ready response sent by an adapter in a target computing control module is received, determining that the simulated computing condition is detected; and sending the calculation instruction to a calculation unit in the target calculation control module.
The adapter generates a ready response matched with the connected computing units according to the obtained computing result output by the at least one computing unit and/or the obtained current virtual clock value of the clock control module. The method specifically comprises the following three cases of A, B and C:
A. and if the output calculation result meets calculation data required by the calculation unit for simulation calculation, 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 propulsion rule, generating a ready response matched with the computing unit.
C. And if the output calculation result meets 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 propulsion rule, generating a ready response matched with the calculation unit.
When the multi-node scheduling module obtains a ready response sent by a certain adapter, a calculation instruction is sent to a calculation unit connected with the adapter in the calculation control module so as to control the calculation unit to load required data, then simulation calculation is carried out, and a calculation result is output.
By determining that the simulation calculation condition is detected and sending the calculation instruction to the calculation unit in the target calculation control module if the ready response sent by the adapter in the target calculation control module is received, the technical effect of parallel calling of the calculation unit for simulation is achieved, and consistency of simulation results of the same scene is ensured.
In this embodiment, a clock propulsion instruction is sent to the clock control module according to the detected clock propulsion condition, so as to instruct the clock control module to sequentially and downwardly propel the virtual clock value according to the preset clock propulsion rule, and a calculation instruction is sent to the matched calculation control module according to the detected simulation calculation condition, so that each calculation control module is scheduled in parallel, each calculation unit can sequentially perform simulation calculation, the consistency of simulation results of the same scene is ensured, and the multi-node adjustment module invokes the calculation units in a parallel manner to perform simulation calculation, thereby improving the overall utilization rate of resources and expanding the application range of simulation.
According to an embodiment of the present application, the present application also provides an electronic device and a readable storage medium.
As shown in fig. 4, a block diagram of an electronic device according to an embodiment of the present application is provided. 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 telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the applications described and/or claimed herein.
As shown in fig. 4, the electronic device includes: one or more processors 401, memory 402, and interfaces for connecting the components, including a high-speed interface and a low-speed interface. 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 executing within the electronic device, including instructions stored in or on memory to display graphical information of the GUI on an external input/output device, such as a display device coupled to the interface. In other embodiments, multiple processors and/or multiple buses may be used, if desired, along with multiple memories and multiple memories. Also, multiple electronic devices may be connected, each providing a portion of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system). One processor 401 is illustrated in fig. 4.
Memory 402 is a non-transitory computer readable storage medium provided by the present application. The memory stores instructions executable by at least one processor to cause the at least one processor to perform the simulation processing method provided by the present 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 is used as a non-transitory computer readable storage medium for storing 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 embodiment.
Memory 402 may include a storage program area that may store an operating system, at least one application program required for functionality, and a storage data area; the storage data area may store data created according to the use of the electronic device of the simulation processing method, and the like. In addition, 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, memory 402 may optionally include memory located remotely from processor 401, which may be connected to the electronics of the emulated processing method via 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, memory 402, input device 403, and output device 404 may be connected by a bus or otherwise, for example in fig. 4.
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 device emulating the processing method, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointer stick, one or more mouse buttons, a track ball, a joystick, etc. input devices. The output device 404 may include a display apparatus, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration 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 may be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASIC (application specific integrated circuit), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computing programs (also referred to as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. 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 pointing device (e.g., a mouse or 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 may 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 input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background 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 background, 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 a client and a server. The client and server are typically 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 propulsion instruction is sent to the clock control module according to the detected clock propulsion condition to instruct the clock control module to sequentially and downwards propel the virtual clock value according to the preset clock propulsion rule, and the 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 orderly perform simulation calculation, the consistency of simulation results of the same scene is ensured, and the multi-node adjustment module invokes the calculation units in a parallel mode to perform simulation calculation, thereby improving the overall utilization rate of resources and expanding the application range of simulation.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present application may be performed in parallel, sequentially, or in a different order, provided that the desired results of the disclosed embodiments are achieved, and are not limited herein.
The above embodiments do not limit the scope of the present application. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the scope of the present application.

Claims (10)

1. A simulation engine system, comprising: the simulation engine and the plurality of calculation control modules are 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 value downwards according to the clock pushing instruction sent by the multi-node scheduling module and a preset clock pushing rule;
The clock propulsion rule is preset according to the calculation speed of each calculation control module, the clock propulsion rule comprises a plurality of virtual clock values, each virtual clock value corresponds to at least one calculation control module, and when the clock propulsion rule indicates that the virtual clock value is propelled, the corresponding calculation control module needs to carry out simulation calculation;
the calculation control module is used for performing 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 computation control module comprises: the simulation engine is respectively connected with the adapters in each calculation control module;
the adapter is used for monitoring the calculation result output by the at least one calculation unit and/or the current virtual clock value of the clock control module in real time; generating a ready response to be sent to the multi-node scheduling module according to the calculation result and/or the current virtual clock value;
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 calculation unit is used for carrying out simulation calculation according to the received calculation instruction and outputting a calculation result.
3. The simulation engine system of claim 1 or 2, wherein the multi-node scheduling module is specifically configured to:
monitoring the calculation result output by at least one calculation control module in real time; and if the calculation result meets the clock propulsion condition, sending a clock propulsion instruction to a clock control module.
4. The simulation engine system of claim 1, wherein the simulation engine further comprises: the statistics and monitoring module is connected with the clock control module;
the statistics 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; outputting simulation process information according to the calculation result and/or the current virtual clock value;
wherein the simulation process information includes: 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 component in the automatic driving vehicle or a calculating unit in a vehicle-machine decision module.
6. A simulation processing method, characterized by comprising:
according to the detected clock propulsion condition, a clock propulsion instruction is sent to the clock control module so as to instruct the clock control module to sequentially and downwards propel the virtual clock value according to a preset clock propulsion rule;
according to the detected simulation calculation conditions, a calculation instruction is sent to the matched calculation control modules so as to schedule the calculation control modules in parallel;
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 the clock control module based on the detected clock advance condition comprises:
monitoring the calculation result output by at least one calculation control module in real time;
and if the calculation result meets the clock propulsion condition, sending a clock propulsion instruction to a clock control module.
8. The method of claim 6, wherein sending a calculation instruction to the matched calculation control module based on the detected simulated calculation condition comprises:
If a ready response sent by an adapter in a target computing control module is received, determining that the simulated computing condition is detected;
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 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 storing 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 CN111625949A (en) 2020-09-04
CN111625949B true 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)

Families Citing this family (3)

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

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 珠海格力电器股份有限公司 Clock application control method and device
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 珠海格力电器股份有限公司 Clock application control method and device
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
李婷珽.并行分布实时仿真的时间管理算法研究.《系统仿真学报》.2013,第25卷(第25期),正文第三节、附图10. *

Also Published As

Publication number Publication date
CN111625949A (en) 2020-09-04

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
JP7030177B2 (en) Test method and equipment
CN112925651B (en) Application resource deployment method, device, electronic equipment and medium
CN110706147B (en) Image processing environment determination method, device, electronic equipment and storage medium
KR102339747B1 (en) Simulator, simulation device, and simulation method
CN112235417B (en) Method and device for sending debugging instruction
CN112925652B (en) Application resource deployment method, device, electronic equipment and medium
CN111835592B (en) Method, apparatus, electronic device and readable storage medium for determining robustness
CN114089974B (en) Cloud code development system, method, device, equipment and storage medium
CN111783952A (en) Configuration method, device, system, electronic equipment and storage medium
CN112540914A (en) Execution method, execution device, server and storage medium for unit test
CN111522701A (en) Test method, test system, electronic device and storage medium
CN111399811A (en) Method, device and equipment for developing visual page and storage medium
CN113238943A (en) Method and device for continuous integration test
JP2021128779A (en) Method, device, apparatus, and storage medium for expanding data
CN109165261A (en) Method of data synchronization, device, server and computer storage medium
CN111740859A (en) Test environment deployment method and device, electronic equipment and storage medium
CN111859528A (en) Simulation test method, device and storage medium for automatic driving strategy control module
WO2022100033A1 (en) Method and apparatus for debugging applet, electronic device and storage medium
CN117556879A (en) Simulation method, device, equipment and medium for large model distributed training process
CN111475572B (en) Block generation method, device, equipment and medium
CN111258954B (en) Data migration method, device, equipment and storage medium
CN111767170A (en) Operation restoration method and device for equipment, equipment and storage medium
CN112559277A (en) Crash information processing method, system, vehicle-mounted device, server, electronic device 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