Multi-model synchronous parallel simulation scheduling method and device and computer program product
By synchronizing time and deploying multiple simulation models on the computing nodes of multi-node servers, the timestamps of simulation results are obtained and displayed in real time, and the inconsistency caused by large time differences in simulation results of multiple models is solved, and synchronous presentation and performance analysis are realized.
Patent Information
- Application Number
- CN202510008359.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-02
- Publication Date
- 2025-05-06
AI Technical Summary
In the prior art, the time difference of the multi-model simulation results is large, which makes it impossible to display to the user at the same time, which leads to inconsistent simulation results.
By synchronizing the multiple computing nodes of the multi-node server in time, the simulation tasks of multiple satellite communications are acquired, and multiple simulation models are deployed in at least one computing node, so that they perform simulation tasks one by one. Get the simulation results and corresponding timestamps of each simulation model in real time, and push the simulation results with the timestamp in the current display cycle to the front-end page for display.
The synchronous display of multi-model simulation results is realized, the inconsistency problem caused by time differences is solved, and the performance of satellite communications can be analyzed within the same time period.
Smart Images

Figure CN119938223A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of simulation technology, and in particular to a multi-model synchronous parallel simulation scheduling method, device, computer-readable storage medium and computer program product. Background Art
[0002] Satellite communications, especially low-orbit satellite communications for large-scale nodes, are developing rapidly. The demands for satellite communication simulation tasks are becoming increasingly complex, which poses challenges to the simulation platform. A satellite communication simulation task usually involves multiple models. Multiple models are implemented in different languages and by different manufacturers, and the model-dependent environments are complex and diverse, which poses challenges to the deployment environment. It is difficult to unify the time advancement mechanism between models, and the model operating environment may not be on the same server, which increases the difficulty of synchronous simulation. At the same time, when the result data generated by the model calculation is displayed to the user, it is difficult to display them to the user at the same time due to the influence of network transmission, resulting in inconsistent simulation results. Summary of the invention
[0003] The main purpose of the present application is to provide a multi-model synchronous parallel simulation scheduling method, device, computer-readable storage medium and computer program product, so as to at least solve the problem in the prior art that the multi-model simulation results have large time differences and cannot be analyzed.
[0004] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a multi-model synchronous parallel simulation scheduling method is provided, including: time synchronization of multiple computing nodes of a multi-node server; obtaining multiple satellite communication simulation tasks, and deploying multiple simulation models on at least one computing node according to the multiple simulation tasks, so that the multiple simulation models execute the multiple simulation tasks one by one; an acquisition step, obtaining the simulation results and corresponding timestamps of each simulation model in real time; a push step, pushing all the simulation results whose timestamps are in the current display period to the front-end page for display; and an analysis step, analyzing the performance of the satellite communication according to the displayed simulation results.
[0005] Optionally, multiple simulation models are deployed on at least one of the computing nodes according to the multiple simulation tasks, so that the multiple simulation models execute the multiple simulation tasks in a one-to-one correspondence, including: deploying one simulation model on at least one first computing node respectively, and / or deploying multiple simulation models on at least one second computing node respectively, the computing nodes including the first computing node and the second computing node; using cloud native technology to physically isolate the multiple simulation models of each of the second computing nodes; controlling the simulation model of the first computing node and the simulation model of the second computing node to respectively execute the simulation tasks.
[0006] Optionally, controlling the simulation model of the first computing node and the simulation model of the second computing node to respectively perform the simulation tasks includes: obtaining a service address of each of the simulation models; sending a simulation start instruction and a buffer time to each of the simulation models according to the service address, so that each of the simulation models starts the simulation calculation at a predetermined start time, and the predetermined start time is from the moment when the simulation start instruction is issued to the moment when the buffer time ends.
[0007] Optionally, the simulation results and corresponding timestamps of each simulation model are obtained in real time, including: when each simulation model is simulated according to a corresponding beat, receiving the simulation results and corresponding timestamps of each beat of each simulation model, wherein the timestamp is the moment when a beat ends; storing each simulation result and the corresponding timestamp in a cache queue, and deleting the simulation results and corresponding timestamps whose timestamps are not in the current display cycle.
[0008] Optionally, all the simulation results whose timestamps are in the current display cycle are pushed to the front-end page for display, including: when the front-end page subscribes to the cache queue, all the simulation results of the cache queue are pushed to the front-end page at the end of the current display cycle.
[0009] Optionally, time synchronization is performed on multiple computing nodes of the multi-node server, including: using an ntp time synchronization mechanism to achieve time synchronization of the multiple computing nodes of the multi-node server.
[0010] Optionally, after analyzing the performance of satellite communications according to the displayed simulation results, the method further includes: repeating the acquisition step, the push step and the analysis step in sequence at least once until all the simulation tasks are completed and the simulation ends.
[0011] According to another aspect of the present application, a multi-model synchronous parallel simulation scheduling device is provided, including: a synchronization unit, used to synchronize the time of multiple computing nodes of a multi-node server; a deployment unit, used to obtain multiple satellite communication simulation tasks, and deploy multiple simulation models on at least one computing node according to the multiple simulation tasks, so that the multiple simulation models execute the multiple simulation tasks one by one; an acquisition unit, used to execute an acquisition step, and acquire the simulation results and corresponding timestamps of each simulation model in real time; a push unit, used to execute a push step, and push all the simulation results whose timestamps are in the current display period to a front-end page for display; and an analysis unit, used to execute an analysis step, and analyze the performance of satellite communications according to the displayed simulation results.
[0012] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute any one of the methods described.
[0013] According to another aspect of the present application, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, any one of the methods described above is implemented.
[0014] By applying the technical solution of the present application, the above-mentioned multi-model synchronous parallel simulation scheduling method realizes time synchronization through multiple computing nodes of a multi-node server, so that the simulation models deployed on different computing nodes are simulated synchronously, and the simulation results of the simulation models are timestamped. Then, all the simulation results of the current display period can be pushed to the front-end page for display according to the timestamp, and the performance of satellite communication can be analyzed according to the simulation results of the same time period, which solves the problem that the multi-model simulation results displayed in the prior art cannot be analyzed due to large time differences. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 A hardware structure block diagram of a mobile terminal for executing a multi-model synchronous parallel simulation scheduling method provided in an embodiment of the present application is shown;
[0016] Figure 2 A schematic diagram of a multi-model synchronous parallel simulation scheduling method provided according to an embodiment of the present application is shown;
[0017] Figure 3 A schematic diagram of a flow chart of another multi-model synchronous parallel simulation scheduling method provided according to an embodiment of the present application is shown;
[0018] Figure 4 A structural block diagram of a multi-model synchronous parallel simulation scheduling device provided according to an embodiment of the present application is shown.
[0019] The above drawings include the following reference numerals:
[0020] 102, processor; 104, memory; 106, transmission device; 108, input and output devices. DETAILED DESCRIPTION
[0021] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0022] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0024] As introduced in the background technology, the multi-model simulation results shown in the prior art have large time differences, which makes them impossible to analyze. To solve this technical problem, the embodiments of the present application provide a multi-model synchronous parallel simulation scheduling method, device, computer-readable storage medium and computer program product.
[0025] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.
[0026] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 1 is a hardware structure block diagram of a mobile terminal of a multi-model synchronous parallel simulation scheduling method according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0027] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the multi-model synchronous parallel simulation scheduling method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific network example may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0028] In this embodiment, a multi-model synchronous parallel simulation scheduling method running on a mobile terminal, a computer terminal or a similar computing device is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0029] Figure 2 1 is a flowchart of a multi-model synchronous parallel simulation scheduling method according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:
[0030] Step S201, performing time synchronization on multiple computing nodes of a multi-node server;
[0031] Step S202, obtaining a plurality of satellite communication simulation tasks, and deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0032] Step S203, an acquisition step, obtaining the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0033] Step S204, a push step, pushes all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0034] Step S205, an analysis step, analyzes the performance of satellite communications based on the above simulation results displayed.
[0035] In the above-mentioned multi-model synchronous parallel simulation scheduling method, time synchronization is achieved through multiple computing nodes of a multi-node server, so that simulation models deployed on different computing nodes are simulated synchronously, and the simulation results of the simulation models are timestamped. Then, all simulation results of the current display period can be pushed to the front-end page for display according to the timestamp, and the performance of satellite communication can be analyzed according to the simulation results of the same time period, which solves the problem that the multi-model simulation results displayed in the prior art cannot be analyzed due to large time differences.
[0036] In order to realize parallel processing simulation calculation, in an optional implementation, the above step S202 includes:
[0037] Step S2021, deploying one of the above simulation models on at least one first computing node, and / or deploying a plurality of the above simulation models on at least one second computing node, the computing nodes including the above first computing node and the above second computing node;
[0038] Step S2022, using cloud native technology to physically isolate the multiple simulation models of each of the second computing nodes;
[0039] Step S2023: Control the simulation model of the first computing node and the simulation model of the second computing node to respectively perform the simulation tasks.
[0040] In the above implementation, the simulation start time and end time of the simulation task are set. After the simulation task is initiated, based on cloud native technology, the simulation engine obtains multiple simulation model resources according to the needs of the simulation task, and dynamically deploys multiple simulation model instances on multiple computing nodes. Among them, one computing node can deploy one of the above simulation models, and one computing node can also deploy multiple of the above simulation models. When a computing node can deploy multiple of the above simulation models, it is necessary to physically isolate the multiple simulation models. In this way, multiple simulation models have different implementation languages, different implementation manufacturers, and complex and diverse simulation model dependency environments, and simulation calculations can also be processed in parallel.
[0041] In order to implement synchronous simulation, in an optional implementation, the above step S2023 includes:
[0042] Step S20231, obtaining the service address of each of the above simulation models;
[0043] Step S20232, sending a simulation start instruction and a buffer time to each of the above-mentioned simulation models according to the above-mentioned service address, so that each of the above-mentioned simulation models starts the simulation calculation at a predetermined start time, and the above-mentioned predetermined start time is the time from when the above-mentioned simulation start instruction is issued to when the above-mentioned buffer time ends.
[0044] In the above implementation, after the simulation model is initialized, the service address of the model is reported to the simulation engine, and the simulation engine uniformly sends a simulation start instruction and a simulation start buffer time to the simulation model to offset the inconsistency of network transmission time and realize synchronous simulation.
[0045] In order to align the timestamps of the simulation results, in an optional implementation, the above step S203 includes:
[0046] Step S2031, when each of the simulation models performs simulation according to the corresponding beat, receiving the simulation result of each of the beats of each of the simulation models and the corresponding timestamp, where the timestamp is the moment when one of the beats ends;
[0047] Step S2032: store each of the above simulation results and the corresponding timestamp in a cache queue, and delete the above simulation results and the corresponding timestamp whose timestamp is not in the current display period.
[0048] In the above implementation, after the simulation starts, each simulation model starts the simulation calculation according to its own beat, and the simulation calculation results are sent to the simulation engine in real time according to the beat requirements. The simulation engine stores the simulation result data with timestamps in a cache queue. The cache queue only stores data for a period of time, that is, the simulation results with timestamps within the current display period, to prevent memory overflow when the data volume is large, and to achieve timestamp alignment of the simulation results.
[0049] In order to display the simulation results, in an optional implementation, the above step S204 includes:
[0050] Step S2041: In the case where the front-end page subscribes to the cache queue, all the simulation results of the cache queue are pushed to the front-end page at the end of the current display cycle.
[0051] In the above implementation, since the simulation results in the above cache queue are all simulation results with timestamps within the current display cycle, all the above simulation results in the above cache queue are pushed to the above front-end page at the end of the above current display cycle. After the front-end page receives the simulation result data, it drives the display component to display the result data, thereby completing the simulation result display of the data-driven mechanism.
[0052] In order to achieve time synchronization, in an optional implementation manner, the above step S201 includes:
[0053] Step S2011, using the ntp time synchronization mechanism to achieve time synchronization of the multiple computing nodes of the multi-node server.
[0054] In the above implementation, the ntp time synchronization mechanism is adopted to make the time difference of the multiple computing nodes within 1ms, thereby realizing the time synchronization of the multiple computing nodes of the multi-node server.
[0055] In order to complete all simulation tasks, in an optional implementation manner, after analyzing the performance of satellite communication according to the simulation results presented above, the method further includes:
[0056] Step S301, repeat the above acquisition step, the above push step and the above analysis step in sequence at least once, until all the above simulation tasks are completed and the simulation ends.
[0057] In the above implementation, the above acquisition step, the above push step and the above analysis step are repeated once in each display cycle until all the above simulation tasks are completed and the simulation ends.
[0058] In order to enable those skilled in the art to more clearly understand the technical solution of the present application, the implementation process of the multi-model synchronous parallel simulation scheduling method of the present application will be described in detail below in combination with specific embodiments.
[0059] This embodiment relates to a specific multi-model synchronous parallel simulation scheduling method, such as Figure 3 As shown, the following steps are included:
[0060] Step 1: Use the ntp time synchronization mechanism to achieve time synchronization of multi-node servers;
[0061] Step 2: Set the simulation start time and end time of the simulation task. After the task is initiated, based on cloud native technology, the simulation engine obtains multiple simulation model resources according to the needs of the simulation task and dynamically deploys multiple simulation model instances on multiple computing nodes.
[0062] Step 3: When the simulation task is initiated, the front-end page subscribes to the simulation engine simulation result data topic;
[0063] Step 4: After the simulation model is initialized, the service address of the model is reported to the simulation engine. The simulation engine uniformly sends the simulation start instruction and the simulation start buffer time to the simulation model to offset the inconsistency of network transmission time.
[0064] Step 5: After the simulation starts, each simulation model starts simulation calculation according to its own beat, and the simulation calculation results are sent to the simulation engine in real time according to the beat requirements;
[0065] Step 6: The simulation engine stores the simulation result data with timestamps in a cache queue. The cache queue only stores data for a period of time to prevent memory overflow when the amount of data is large.
[0066] Step 7: After the simulation engine determines that all model data corresponding to the most recent timestamp have been stored in the cache queue, the data of the timestamp is uniformly pushed to the front-end page;
[0067] Step 8: After the front-end page receives the simulation result data, it drives the display component to display the result data, completing the simulation result display of the data-driven mechanism;
[0068] Step 9: The simulation engine advances the simulation time according to the above steps until the simulation end time is reached, thus ending the simulation task.
[0069] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0070] The embodiment of the present application also provides a multi-model synchronous parallel simulation scheduling device. It should be noted that the multi-model synchronous parallel simulation scheduling device of the embodiment of the present application can be used to execute the multi-model synchronous parallel simulation scheduling method provided by the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions have been omitted. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0071] The following is an introduction to the multi-model synchronous parallel simulation scheduling device provided in an embodiment of the present application.
[0072] Figure 4 is a structural block diagram of a multi-model synchronous parallel simulation scheduling device according to an embodiment of the present application. Figure 4 As shown, the device comprises:
[0073] A synchronization unit 10, used for performing time synchronization on multiple computing nodes of a multi-node server;
[0074] A deployment unit 20 is used to obtain a plurality of satellite communication simulation tasks, and deploy a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0075] An acquisition unit 30, used to execute the acquisition step to acquire the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0076] The pushing unit 40 is used to execute the pushing step, and push all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0077] The analysis unit 50 is used to perform the analysis step and analyze the performance of the satellite communication according to the simulation results presented above.
[0078] In the above-mentioned multi-model synchronous parallel simulation scheduling device, time synchronization is achieved through multiple computing nodes of the multi-node server, so that the simulation models deployed on different computing nodes are simulated synchronously, and the simulation results of the simulation models are timestamped. All simulation results of the current display period can be pushed to the front-end page for display according to the timestamp, and the performance of satellite communication can be analyzed according to the simulation results of the same time period, which solves the problem that the multi-model simulation results displayed in the prior art cannot be analyzed due to large time differences.
[0079] In order to realize parallel processing simulation calculation, in an optional implementation manner, the deployment unit includes:
[0080] A deployment module, used to deploy one of the above-mentioned simulation models on at least one first computing node, and / or to deploy a plurality of the above-mentioned simulation models on at least one second computing node, wherein the above-mentioned computing nodes include the above-mentioned first computing node and the above-mentioned second computing node;
[0081] An isolation module, used to physically isolate the multiple simulation models of each of the second computing nodes using cloud native technology;
[0082] The control module is used to control the simulation model of the first computing node and the simulation model of the second computing node to respectively perform the simulation tasks.
[0083] In the above implementation, the simulation start time and end time of the simulation task are set. After the simulation task is initiated, based on cloud native technology, the simulation engine obtains multiple simulation model resources according to the needs of the simulation task, and dynamically deploys multiple simulation model instances on multiple computing nodes. Among them, one computing node can deploy one of the above simulation models, and one computing node can also deploy multiple of the above simulation models. When a computing node can deploy multiple of the above simulation models, it is necessary to physically isolate the multiple simulation models. In this way, multiple simulation models have different implementation languages, different implementation manufacturers, and complex and diverse simulation model dependency environments, and simulation calculations can also be processed in parallel.
[0084] In order to realize synchronous simulation, in an optional implementation manner, the control module includes:
[0085] An acquisition submodule is used to obtain the service address of each of the above simulation models;
[0086] The sending submodule is used to send the simulation start instruction and buffer time to each of the above-mentioned simulation models according to the above-mentioned service address, so that each of the above-mentioned simulation models starts the simulation calculation at the predetermined start time. The above-mentioned predetermined start time is the time from the issuance of the above-mentioned simulation start instruction to the end of the above-mentioned buffer time.
[0087] In the above implementation, after the simulation model is initialized, the service address of the model is reported to the simulation engine, and the simulation engine uniformly sends a simulation start instruction and a simulation start buffer time to the simulation model to offset the inconsistency of network transmission time and realize synchronous simulation.
[0088] In order to align the timestamps of the simulation results, in an optional implementation, the acquisition unit includes:
[0089] A receiving module, used for receiving the simulation result and the corresponding timestamp of each of the above-mentioned beats of each of the above-mentioned simulation models when each of the above-mentioned simulation models is simulated according to the corresponding beats, wherein the above-mentioned timestamp is the moment when one of the above-mentioned beats ends;
[0090] The storage module is used to store each of the above simulation results and the corresponding timestamps in a cache queue, and delete the above simulation results and the corresponding timestamps whose timestamps are not in the current display period.
[0091] In the above implementation, after the simulation starts, each simulation model starts the simulation calculation according to its own beat, and the simulation calculation results are sent to the simulation engine in real time according to the beat requirements. The simulation engine stores the simulation result data with timestamps in a cache queue. The cache queue only stores data for a period of time, that is, the simulation results with timestamps within the current display period, to prevent memory overflow when the data volume is large, and to achieve timestamp alignment of the simulation results.
[0092] In order to display the simulation results, in an optional implementation, the push unit includes:
[0093] The push module is used to push all the simulation results of the cache queue to the front-end page at the end of the current display cycle when the front-end page subscribes to the cache queue.
[0094] In the above implementation, since the simulation results in the above cache queue are all simulation results with timestamps within the current display cycle, all the above simulation results in the above cache queue are pushed to the above front-end page at the end of the above current display cycle. After the front-end page receives the simulation result data, it drives the display component to display the result data, thereby completing the simulation result display of the data-driven mechanism.
[0095] In order to achieve time synchronization, in an optional implementation manner, the synchronization unit includes:
[0096] The synchronization module is used to realize time synchronization of the multiple computing nodes of the multi-node server by using the ntp time synchronization mechanism.
[0097] In the above implementation, the ntp time synchronization mechanism is adopted to make the time difference of the multiple computing nodes within 1ms, thereby realizing the time synchronization of the multiple computing nodes of the multi-node server.
[0098] In order to complete all simulation tasks, in an optional implementation manner, the above-mentioned device further includes:
[0099] The repetition unit is used to analyze the performance of the satellite communication according to the simulation results displayed above, and then repeat the acquisition step, the push step and the analysis step at least once in sequence until all the simulation tasks are completed and the simulation ends.
[0100] In the above implementation, the above acquisition step, the above push step and the above analysis step are repeated once in each display cycle until all the above simulation tasks are completed and the simulation ends.
[0101] The multi-model synchronous parallel simulation scheduling device includes a processor and a memory. The synchronization unit, deployment unit, acquisition unit, push unit and analysis unit are all stored in the memory as program units, and the processor executes the program units stored in the memory to implement corresponding functions. The modules are all located in the same processor; or, the modules are located in different processors in any combination.
[0102] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the problem of large time differences in multi-model simulation results and inability to analyze shown in the prior art can be solved by adjusting kernel parameters.
[0103] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0104] An embodiment of the present invention provides a computer-readable storage medium, which includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to execute the multi-model synchronous parallel simulation scheduling method.
[0105] Specifically, the multi-model synchronous parallel simulation scheduling method includes:
[0106] Step S201, performing time synchronization on multiple computing nodes of a multi-node server;
[0107] Step S202, obtaining a plurality of satellite communication simulation tasks, and deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0108] Step S203, an acquisition step, obtaining the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0109] Step S204, a push step, pushes all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0110] Step S205, an analysis step, analyzes the performance of satellite communications based on the above simulation results displayed.
[0111] An embodiment of the present invention provides a processor, which is used to run a program, wherein the multi-model synchronous parallel simulation scheduling method is executed when the program is running.
[0112] Specifically, the multi-model synchronous parallel simulation scheduling method includes:
[0113] Step S201, performing time synchronization on multiple computing nodes of a multi-node server;
[0114] Step S202, obtaining a plurality of satellite communication simulation tasks, and deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0115] Step S203, an acquisition step, obtaining the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0116] Step S204, a push step, pushes all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0117] Step S205, an analysis step, analyzes the performance of satellite communications based on the above simulation results displayed.
[0118] An embodiment of the present invention provides a device, the device including a processor, a memory, and a program stored in the memory and executable on the processor, and when the processor executes the program, at least the following steps are implemented:
[0119] Step S201, performing time synchronization on multiple computing nodes of a multi-node server;
[0120] Step S202, obtaining a plurality of satellite communication simulation tasks, and deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0121] Step S203, an acquisition step, obtaining the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0122] Step S204, a push step, pushes all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0123] Step S205, an analysis step, analyzes the performance of satellite communications based on the above simulation results displayed.
[0124] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program for initializing at least the following method steps:
[0125] Step S201, performing time synchronization on multiple computing nodes of a multi-node server;
[0126] Step S202, obtaining a plurality of satellite communication simulation tasks, and deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence;
[0127] Step S203, an acquisition step, obtaining the simulation results and corresponding timestamps of each of the above simulation models in real time;
[0128] Step S204, a push step, pushes all the above simulation results whose timestamps are in the current display period to the front-end page for display;
[0129] Step S205, an analysis step, analyzes the performance of satellite communications based on the above simulation results displayed.
[0130] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.
[0131] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0132] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0133] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0134] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0135] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0136] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0137] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0138] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0139] From the above description, it can be seen that the above embodiments of the present application achieve the following technical effects:
[0140] 1) In the multi-model synchronous parallel simulation scheduling method of the present application, time synchronization is achieved through multiple computing nodes of a multi-node server, so that simulation models deployed on different computing nodes are simulated synchronously, and the simulation results of the simulation models are timestamped. All simulation results of the current display period can be pushed to the front-end page for display according to the timestamp, and the performance of satellite communication can be analyzed according to the simulation results of the same time period, which solves the problem that the multi-model simulation results displayed in the prior art cannot be analyzed due to large time differences.
[0141] 2) In the above-mentioned multi-model synchronous parallel simulation scheduling device of the present application, time synchronization is achieved through multiple computing nodes of the multi-node server, so that the simulation models deployed by different computing nodes are simulated synchronously, and the simulation results of the simulation models are timestamped. Then, all simulation results of the current display period can be pushed to the front-end page for display according to the timestamp, and the performance of satellite communication can be analyzed according to the simulation results of the same time period, which solves the problem that the multi-model simulation results displayed in the prior art cannot be analyzed due to large time differences.
[0142] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A multi-model synchronous parallel simulation scheduling method, characterized in that: include: Synchronize the time of multiple computing nodes of a multi-node server; Acquire multiple satellite communication simulation tasks, and deploy multiple simulation models on at least one of the computing nodes according to the multiple simulation tasks, so that the multiple simulation models execute the multiple simulation tasks in a one-to-one correspondence; Acquisition step, acquiring the simulation results and corresponding timestamps of each simulation model in real time; A pushing step, pushing all the simulation results whose timestamps are in the current display period to the front-end page for display; The analysis step is to analyze the performance of satellite communication according to the displayed simulation results.
2. The method according to claim 1, characterized in that Deploying a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence includes: Deploy one of the simulation models on at least one first computing node, and / or deploy a plurality of the simulation models on at least one second computing node, wherein the computing nodes include the first computing node and the second computing node; Using cloud native technology to physically isolate the multiple simulation models of each of the second computing nodes; The simulation model of the first computing node and the simulation model of the second computing node are controlled to respectively execute the simulation tasks.
3. The method according to claim 2, characterized in that Controlling the simulation model of the first computing node and the simulation model of the second computing node to respectively perform the simulation task includes: Obtaining the service address of each simulation model; A simulation start instruction and a buffer time are sent to each simulation model according to the service address, so that each simulation model starts simulation calculation at a predetermined start time, and the predetermined start time is from the time when the simulation start instruction is issued to the time when the buffer time ends.
4. The method according to claim 1, characterized in that: Acquiring the simulation results and corresponding timestamps of each simulation model in real time, including: When each simulation model performs simulation according to a corresponding beat, receiving the simulation result of each beat of each simulation model and the corresponding timestamp, wherein the timestamp is the moment when a beat ends; Each of the simulation results and the corresponding timestamp is stored in a cache queue, and the simulation results and the corresponding timestamps whose timestamps are not in the current display period are deleted.
5. The method according to claim 4, characterized in that Pushing all the simulation results whose timestamps are in the current display period to the front-end page for display includes: In the case where the front-end page subscribes to the cache queue, all the simulation results of the cache queue are pushed to the front-end page at the end of the current display cycle.
6. The method according to claim 1, characterized in that Synchronize the time of multiple computing nodes of a multi-node server, including: The ntp time synchronization mechanism is used to achieve time synchronization of the multiple computing nodes of the multi-node server.
7. The method according to any one of claims 1 to 6, characterized in that After analyzing the performance of satellite communication according to the displayed simulation results, the method further includes: The obtaining step, the pushing step and the analyzing step are repeated at least once in sequence until all the simulation tasks are completed and the simulation ends.
8. A multi-model synchronous parallel simulation scheduling device, characterized in that: include: A synchronization unit, used for synchronizing the time of multiple computing nodes of a multi-node server; A deployment unit, configured to acquire a plurality of satellite communication simulation tasks, and deploy a plurality of simulation models on at least one of the computing nodes according to the plurality of simulation tasks, so that the plurality of simulation models execute the plurality of simulation tasks in a one-to-one correspondence; An acquisition unit, used to execute the acquisition step to acquire the simulation results and corresponding timestamps of each simulation model in real time; A pushing unit, used to execute the pushing step, and push all the simulation results whose timestamps are in the current display period to the front-end page for display; The analysis unit is used to execute the analysis step to analyze the performance of satellite communication according to the displayed simulation results.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the method according to any one of claims 1 to 7.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.