A containerized communication networking simulation acceleration method and system

By dividing the causal relationships of the communication network simulation model and improving the scheduling and deployment, combined with optimistic parallel processing and asynchronous data writing, the problem of insufficient simulation real-time performance in containerized simulation schemes is solved, and a significant improvement in ultra-real-time simulation efficiency is achieved.

CN121357000BActive Publication Date: 2026-04-10HWA CREATE CORP +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HWA CREATE CORP
Filing Date
2025-12-22
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing containerized simulation solutions have bottlenecks in real-time simulation performance and cannot achieve ultra-real-time simulation, especially in large-scale, highly complex scenarios where simulation speed is insufficient.

Method used

By analyzing the communication network simulation model, it is divided into multiple simulation subgraphs based on the causal relationship partitioning rule. Container placement strategies are generated according to the communication relationships, and deployment is carried out using an improved Kubernetes scheduler. The simulation data recording process is optimized by combining optimistic parallel processing and asynchronous data writing.

Benefits of technology

It has improved simulation efficiency, broken through the performance ceiling of single-threaded simulation, reduced network transmission latency, supported long-term and large-scale simulation, and improved simulation speed by more than 5 times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121357000B_ABST
    Figure CN121357000B_ABST
Patent Text Reader

Abstract

The application discloses a containerized communication networking simulation acceleration method and system, which is used to solve the problem that the existing containerized simulation scheme has a bottleneck in simulation real-time and cannot realize super-real-time simulation. The method analyzes a communication networking simulation model, divides the communication networking simulation model into multiple simulation subgraphs based on preset causality division rules, generates a container placement strategy according to the communication relationship between simulation container nodes corresponding to the simulation subgraphs, deploys the simulation subgraphs into each computing node based on the container placement strategy, and performs optimistic parallel processing on the simulation container nodes in each computing node. The method centrally deploys simulation container nodes with intensive communication, greatly reduces network transmission delay, creates favorable topological conditions for parallel simulation, and improves simulation efficiency from the deployment level.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer simulation, and in particular to a containerized communication networking simulation acceleration method and system. BACKGROUND

[0002] Communication network simulation is a technology that simulates a real network environment through software, which is used for designing, optimizing and verifying the performance of communication systems. It is widely used in network planning, protocol research, product testing and teaching and scientific research fields. Main simulation tools include OPNET, NS-3 and other core engines.

[0003] Currently, communication network simulation is gradually evolving from traditional monolithic software or virtual machine deployment to containerized deployment. Containerized deployment has the advantages of lightweight, agility, high resource utilization, resource isolation and environment consistency, which can significantly improve simulation efficiency and reduce operation and maintenance complexity.

[0004] However, the existing containerized simulation scheme has a bottleneck in simulation real-time, and its essence is still "real-time simulation" of simulating real time flow, which cannot meet the urgent demand for simulation speed in large-scale and high-complexity scenarios, and realize "super real-time simulation" with internal simulation system time much faster than real time. SUMMARY

[0005] The embodiments of the present application provide a containerized communication networking simulation acceleration method and system to solve the problem that the existing containerized simulation scheme has a bottleneck in simulation real-time and cannot realize super real-time simulation.

[0006] The containerized communication networking simulation acceleration method provided by the embodiments of the present application comprises:

[0007] Analyzing a communication networking simulation model, and dividing the communication networking simulation model into a plurality of simulation subgraphs based on a preset causality division rule;

[0008] Generating a container placement strategy according to the communication relationship between the simulation container nodes corresponding to the simulation subgraphs;

[0009] Based on the container placement strategy, the simulation subgraphs are respectively scheduled and deployed into each computing node;

[0010] In each computing node, the simulation container nodes are processed in an optimistic parallel manner.

[0011] In one example, after the simulation container nodes are processed in an optimistic parallel manner, the method further comprises:

[0012] According to a preset time interval, obtaining the local simulation time of each parallel thread corresponding to the simulation container nodes;

[0013] According to the local simulation time, a global virtual time is calculated and broadcasted;

[0014] In each parallel thread, if the received broadcasted global virtual time is earlier than the local simulation time, a rollback is performed and the corresponding event is reprocessed.

[0015] In one example, after the simulation container nodes are processed in parallel in an optimistic manner, the method further comprises:

[0016] Confirming, in the host memory, a memory mapping file region corresponding to each simulation container node respectively;

[0017] Writing data related to each simulation container node into the memory mapping file region;

[0018] Through a preset background persistence process, after processing the data in the memory mapping file region, the data is written into a solid state disk asynchronously.

[0019] In one example, the simulation model of the communication network is parsed, and the simulation model of the communication network is divided into multiple simulation subgraphs based on a preset causality division rule, comprising:

[0020] Based on the preset causality division rule, it is determined whether the simulation container nodes are causally related;

[0021] The simulation container nodes that are causally related are divided into the same or similar simulation subgraphs, and the simulation container nodes that are causally unrelated are divided into different simulation subgraphs.

[0022] In one example, the preset causality division rule at least includes any one of the following:

[0023] According to the time correlation and / or space correlation, it is determined whether the simulation container nodes are causally related;

[0024] According to whether there is a shared resource conflict, it is determined whether the simulation container nodes are causally related;

[0025] According to whether they are within the interference range, it is determined whether the simulation container nodes are causally related;

[0026] According to the relationship between the control protocol and the data flow, it is determined whether the simulation container nodes are causally related;

[0027] According to the application layer logic dependency, it is determined whether the simulation container nodes are causally related.

[0028] In one example, before the container placement strategy is generated according to the communication relationship between the simulation container nodes corresponding to the simulation subgraph, the method further comprises:

[0029] A preset communication topology database;

[0030] In response to a query request for a specified simulation subgraph, information of the specified simulation subgraph is returned; the information of the simulation subgraph includes a communication relationship between simulation container nodes.

[0031] In one example, the generation of the container placement strategy according to the communication relationship between the simulation container nodes corresponding to the simulation subgraph includes:

[0032] A communication-aware scheduler is constructed in advance;

[0033] The simulation container nodes that do not meet the preset basic condition are filtered through a communication-aware filter corresponding to the communication-aware scheduler, and remaining nodes are determined;

[0034] The remaining nodes are evaluated based on a communication optimization target through a communication relationship evaluator corresponding to the communication-aware scheduler, and candidate nodes are determined;

[0035] An optimization model is constructed, and a container placement strategy is generated based on the candidate nodes.

[0036] In one example, the scheduling and deployment of the simulation subgraph into each computing node based on the container placement strategy includes:

[0037] A communication-aware constraint corresponding to the container placement strategy is determined;

[0038] Based on the communication-aware constraint, scheduling is performed through a Kubernetes scheduler, and simulation subgraphs that are causally irrelevant are deployed to different computing nodes, and simulation subgraphs that are causally relevant are deployed to the same or similar computing nodes.

[0039] The containerized communication networking simulation acceleration system provided by the embodiments of the present application includes:

[0040] A parsing and dividing module is configured to parse a communication networking simulation model, and divide the communication networking simulation model into multiple simulation subgraphs based on a preset causal relationship division rule;

[0041] A strategy generation module is configured to generate a container placement strategy according to a communication relationship between simulation container nodes corresponding to the simulation subgraph;

[0042] A scheduling and deployment module is configured to schedule and deploy the simulation subgraph into each computing node based on the container placement strategy;

[0043] A parallel processing module is configured to perform optimistic parallel processing on the simulation container nodes in each computing node.

[0044] In one example, the system further includes:

[0045] a global virtual time management module configured to obtain local simulation times of each parallel thread corresponding to the simulation container node according to a preset time interval, calculate a global virtual time according to the local simulation times, and broadcast the global virtual time, and if the received global virtual time is earlier than the local simulation time in each parallel thread, perform rollback and reprocess the corresponding event;

[0046] a data writing module configured to confirm memory mapping file regions corresponding to each simulation container node in the host memory, write data related to each simulation container node into the memory mapping file regions, and perform processing on the data in the memory mapping file regions through a preset background persistence process, and then write the data into a solid state disk asynchronously.

[0047] The containerized communication networking simulation acceleration method and system provided by the embodiments of the present application can achieve the following beneficial effects:

[0048] (1) The simulation container nodes with intensive communication are deployed centrally, which greatly reduces the network transmission delay, creates favorable topological conditions for parallel simulation, and improves the simulation efficiency from the deployment level;

[0049] Multiple simulation container threads are allowed to execute concurrently, which breaks through the performance ceiling of single-thread and realizes the super-real-time operation of the containerized communication network simulation;

[0050] The high-delay disk I / O operation is removed from the critical path, so that the simulation process is almost not affected by data recording, and the simulation throughput is greatly improved;

[0051] (4) By periodically confirming the global state, resources are released and recycled in time, which avoids the state explosion and memory overflow problems caused by the optimistic parallel algorithm, ensures the stability and scalability of the parallel simulation system, and can support long-time and large-scale simulation. BRIEF DESCRIPTION OF DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced here. The drawings explained here are used to provide further understanding of the present application, and form a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application, and do not constitute an improper limitation on the present application. In the drawings:

[0053] Figure 1 A containerized communication networking simulation acceleration method flowchart is provided for the embodiments of the present application;

[0054] Figure 2 A containerized communication networking simulation acceleration system structure schematic diagram is provided for the embodiments of the present application. DETAILED DESCRIPTION

[0055] In order to make the purposes, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be described below in connection with specific embodiments of the present application and corresponding drawings. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0056] Figure 1 The containerized communication networking simulation acceleration method flowchart provided for the embodiments of the present application specifically includes the following steps:

[0057] S101: Analyze the communication networking simulation model, and divide the communication networking simulation model into multiple simulation subgraphs based on preset causality division rules.

[0058] The communication networking simulation model is a tool for simulating real communication network behavior, verifying networking schemes and evaluating communication network performance, and its core lies in constructing a predictable and controllable virtual network environment through software. The communication networking simulation model defines the connection relationship between nodes through a network topology model, determines the signal transmission and control of the physical layer, the data link layer, the network layer and the transport layer in the manner of protocol stack simulation, and simulates real network traffic characteristics through a traffic model.

[0059] In the embodiments of the present application, when the communication networking simulation model is containerized deployed, the input communication networking simulation model is analyzed to determine the related information of the communication networking simulation model, including the topology structure of the model, the event flow, the connection relationship between nodes, etc. Then, the communication networking simulation model is divided based on preset causality division rules to obtain multiple simulation subgraphs.

[0060] The causality division rule is a standard for dividing simulation subgraphs based on the causality between simulation container nodes. The causality can be used to represent the degree of association between simulation container nodes. Simulation container nodes are associated with each other, which can represent their causal correlation. Simulation container nodes are not associated with each other, which can represent their causal independence. Therefore, the simulation subgraphs obtained based on the causality division rule can be used to represent the aggregation of simulation container nodes with different causal relationships, and the simulation subgraphs are usually causally independent or weakly associated.

[0061] A simulation subgraph can include multiple simulation container nodes. Through the causality division rule, it can be determined which simulation container nodes are placed in the same simulation subgraph and which simulation container nodes are placed in different simulation subgraphs.

[0062] Specifically, when performing the division, whether the simulation container nodes are causally related is determined based on a preset causal relationship division rule. If the simulation container nodes are causally related, they are divided into the same or similar simulation subgraphs. If the simulation container nodes are causally unrelated, they are divided into different simulation subgraphs.

[0063] It can be clearly seen that by placing the simulation container nodes that are causally related in one simulation subgraph, the internal event processing of the simulation subgraph can have high independence. The processing of various events can be implemented by communication within the simulation subgraph. This facilitates close communication between the simulation container nodes, saves communication costs, and improves communication efficiency.

[0064] In addition, the association between nodes is often complex. For some nodes that are causally related but have a small degree of association, they can be divided into different simulation subgraphs that are close to each other. In this way, the size of the simulation subgraph can be controlled to be not too large while ensuring convenient communication between the simulation container nodes.

[0065] In one embodiment, the preset causal relationship division rule includes at least any one of the following:

[0066] Space-time decoupling: determining whether the simulation container nodes are causally related according to time correlation and / or space correlation.

[0067] Specifically, in terms of time, if the communication traffic between the simulation container nodes is completely separated in time and there is no global state set in between, indicating no time correlation, it can be determined that the simulation container nodes are causally unrelated. For example, the traffic A of node 1 is from 0 to 10 seconds, the traffic B of node 2 is from 20 to 30 seconds, and there is no routing table update. It can be determined that node 1 and node 2 are causally unrelated.

[0068] In terms of space, if the simulation container nodes do not share underlying network resources and are not the source, destination or relay node of each other's traffic, indicating no space correlation, they are usually causally unrelated.

[0069] Determining whether the simulation container nodes are causally related according to whether there is a shared resource conflict.

[0070] Specifically, in some cases, even if two nodes are not completely isolated, if the network resources they use do not overlap at all, they are considered to be causally unrelated. The network resources can include link bandwidth, cache queue, port, etc.

[0071] In the specific judgment, according to the preset communication flow model, the end-to-end path of each flow can be drawn, and the flow set with completely intersected paths can be divided into different simulation subgraphs. The communication flow model can be used to determine the whole process of communication transmission, including when, where, where, and how the data packet is generated. Various types of flow models that can achieve this function can be used, such as deterministic model, random model, etc. The present application does not limit this.

[0072] According to whether they are in the interference range, it is determined whether the simulation container nodes are causally related.

[0073] Specifically, for a shared medium such as a wireless network, it is necessary to analyze the interference model, and the simulation container nodes in the interference range are divided into the same simulation subgraph, and the simulation container nodes beyond the interference range can be divided into different simulation subgraphs.

[0074] According to the relationship between the control protocol and the data flow, it is determined whether the simulation container nodes are causally related.

[0075] Specifically, the control plane is separated from the data plane, and the global control protocol (such as OSPF, BGP route convergence) is used as the "cause" to affect all data flows (i.e. "effect"), and the local control protocol affects the data flow in the corresponding area.

[0076] In this case, when dividing the simulation subgraph, one strategy is to simulate all control protocol events in a special "control plane simulation subgraph" first or synchronously, and the results (such as routing table) are provided as static input to multiple "data plane simulation subgraphs"; another strategy is that if the influence range of the control protocol can be localized (for example, the link state change of a certain area only affects the local route), the simulation subgraph can be divided according to the area.

[0077] (5) According to the application layer logic dependence, it is determined whether the simulation container nodes are causally related.

[0078] Specifically, the high-level dependence in the communication flow model is analyzed, and if there is a dependence relationship between the simulation container nodes, they are causally related. For example, the query request of the client is the "cause", and the response flow of the server is the "effect", so they must be located in the same simulation subgraph; while another completely independent client-server dialogue pair can be placed in another simulation subgraph.

[0079] S102: According to the communication relationship between the simulation container nodes corresponding to the simulation subgraph, a container placement strategy is generated.

[0080] In the embodiments of the present application, the improved Kubernetes scheduler is used for scheduling and deploying containers, specifically including two steps S102 and S103. The improved Kubernetes scheduler is a hierarchical scheduling system, and a communication-aware scheduler is added to the default Kubernetes scheduler. The communication-aware scheduler serves as a first-level scheduler, and is used to generate a suggestion of a container placement strategy according to the communication relationship between nodes; the Kubernetes scheduler serves as a second-level scheduler, and is used to perform final scheduling under the communication-aware constraint of the container placement strategy. The following will be described in detail.

[0081] In one embodiment, a centralized communication topology database can be preset, which is used to store and manage the division results of simulation subgraphs, historical communication modes, real-time communication intensities and the like, which can reflect the communication relationship between simulation container nodes.

[0082] Specifically, when the communication topology database is established, the division of the simulation subgraph needs to be described, the communication intensity between Pods is stored, the cluster network topology (including the delay and bandwidth between nodes) is recorded, the communication monitoring agent is implemented, the real-time communication data and statistical results are collected, and the topology query interface is provided externally for the scheduler to call.

[0083] Therefore, before the container placement strategy is generated, the communication relationship between the simulation container nodes needs to be determined as the generation standard of the container placement strategy. Therefore, the topology query interface needs to be queried from the communication topology database. The communication topology database responds to the query request of a specified simulation subgraph, and can return the related information of the specified simulation subgraph, including the communication relationship between the simulation container nodes.

[0084] In one embodiment, when the container placement strategy is generated, the following steps are included:

[0085] The communication-aware scheduler is constructed in advance, an independent communication-aware scheduler controller is developed, the Pod creation event is listened to, the Pod creation request is received, the communication demand annotation of the Pod is analyzed by the scheduler, the communication topology database is queried, the related simulation subgraph information is obtained, the current state of the cluster is obtained, including the node resources, the network topology and the like. The communication graph is constructed, the Pod is taken as a node, the communication intensity is taken as an edge weight, the weighted communication graph is constructed, the closely connected components are identified, the communication closeness score of each Pod pair is calculated, and the constraint conditions are extracted, including the resource constraints (such as CPU, memory, GPU and the like), the network constraints (such as bandwidth requirement, delay requirement).

[0086] Second, filter the simulation container nodes that do not meet the preset basic condition through the communication-aware filter corresponding to the communication-aware scheduler, to determine the remaining nodes. The preset basic condition represents a condition related to the communication demand. If the simulation container node cannot meet the communication demand, it is not included in the range of communication scheduling.

[0087] Third, evaluate the remaining nodes based on the communication optimization target through the communication relationship scorer corresponding to the communication-aware scheduler, and determine the candidate nodes by evaluating the communication capabilities of each node.

[0088] Fourth, construct an optimization model based on simulation subgraph division, set constraint conditions including resource capacity, communication demand, fault domain distribution, etc., and generate a container placement strategy based on the candidate nodes. Finally, the abstract container placement strategy is converted into a scheduling constraint executable by the Kubernetes scheduler, to generate node affinity rules, Pod affinity rules, set resource requests and limits, so that the Kubernetes scheduler can execute the strategy.

[0089] Among them, the communication-aware filter and the communication relationship scorer are communication-aware scheduling plugins, which can be developed through the plugin mechanism of the Kubernetes scheduling framework to be seamlessly integrated into the scheduling process. They can be loaded through the scheduler configuration file and are fully compatible with the Kubernetes ecosystem.

[0090] In addition, the communication-aware scheduling plugin also includes a binding postprocessor and a reservation plugin. The binding postprocessor is used to update the communication topology state after scheduling, and the reservation plugin is used to reserve node resources for high-coupling Pod groups.

[0091] S103: Based on the container placement strategy, the simulation subgraphs are respectively scheduled and deployed to each computing node.

[0092] In the embodiments of the present application, the communication-aware constraint corresponding to the container placement strategy is determined. Under the communication-aware constraint, the Kubernetes scheduler is executed to schedule and deploy the simulation subgraphs that are causally independent to different computing nodes and the simulation subgraphs that are causally related to the same or similar computing nodes.

[0093] Specifically, since the communication across computing nodes consumes more resources, it is necessary to minimize the communication across computing nodes. Therefore, the simulation subgraphs that are causally related should be deployed to one computing node as much as possible. However, considering the computing power, capacity and other factors of the computing nodes, it may not be possible to accommodate all simulation subgraphs that are causally related. Therefore, according to the degree of causal correlation between simulation subgraphs, the simulation subgraphs that are more causally correlated and have closer communication are preferentially deployed to the same computing node, while the simulation subgraphs that are causally related but have smaller correlation are deployed to similar computing nodes.

[0094] In an embodiment, the scheduler needs to balance multiple objectives, including communication locality, resource utilization, load balancing, fault tolerance, etc. A multi-objective optimization function can be defined, including minimization of communication cost, minimization of resource fragmentation, load balancing of nodes, etc., and solved using weighted sum method or Pareto front method, with dynamic adjustment of objective weights according to application type.

[0095] In an embodiment, different granularity of scheduling strategies can be used for simulation tasks of different importance. For example, a task importance label is defined, precise optimization algorithms (such as integer programming) are used for important tasks, heuristic algorithms (such as greedy algorithm) are used for ordinary tasks, and simple rule scheduling is used for low priority tasks.

[0096] In an embodiment, for large-scale deployment, a batch scheduling strategy can be used, in which core communication components are scheduled first, and edge components are scheduled later.

[0097] In an embodiment, the scheduler can not only use a preset communication flow model, but also learn the actual communication mode from running and dynamically adjust the scheduling strategy. Specifically, by deploying a distributed tracking system (such as Jaeger), the call relationship between microservices is collected, the communication mode analysis is implemented, the periodic and bursty communication modes are identified, the machine learning algorithm is used to predict future communication demand, and the scheduling weight and strategy are adjusted according to the learning result, the scheduling process is monitored, and the subsequent scheduling is dynamically adjusted.

[0098] S104: In each computing node, the simulation container node is processed in an optimistic parallel manner.

[0099] In an embodiment of the present application, the simulation container nodes between different computer nodes are generally causally independent, and the simulation subgraphs within the computing node are also generally causally independent. Therefore, in each computing node, an optimistic parallel algorithm (such as Time Warp) can be used, in which each simulation container thread independently processes its event queue without waiting for global synchronization.

[0100] In an embodiment, during parallel processing, through a global virtual time management service, the local simulation time of each parallel thread corresponding to the simulation container node is periodically obtained according to a preset time interval, and the global virtual time (GVT) is calculated and broadcasted according to the local simulation time. In each parallel thread, if the broadcasted global virtual time is earlier than the local simulation time, i.e., there is a causal violation phenomenon, the simulation state is restored to before the violation and the corresponding event is reprocessed. In this way, multiple container parallel threads can cross the global simulation time wall and proceed concurrently, thereby realizing super-real-time running.

[0101] And all simulation states and events earlier than the global virtual time are confirmed as committed, cannot be rolled back, and release the corresponding rollback log resources, thereby controlling system resource overhead and maintaining the stability and efficiency of parallel simulation.

[0102] In one embodiment, a memory mapping file area corresponding to each simulation container node in the host memory is confirmed for real-time recording of simulation process data. Data related to each simulation container node is directly written into the memory mapping file area, avoiding data copying between the kernel mode and the user mode. Moreover, through a preset background persistence process, data in the memory mapping file area is batched and compressed, and then is written into a solid state disk asynchronously. In this way, I / O delay of simulation calculation is separated from the critical path, and calculation and I / O are separated.

[0103] Defects of the prior art include: (1) Container resource scheduling is decoupled from simulation logic: when resource scheduling is performed, the causal relationship and communication relationship inside the simulation model are not perceived, resulting in that simulation nodes that interact closely are scheduled to servers that are far apart in physical distance, introducing huge cross-node communication overhead, causing high cross-node communication delay, and slowing down the overall simulation speed; (2) Bottleneck of serial event processing: a conservative serial event advancing mechanism (such as a global event queue) is adopted, which cannot fully utilize multi-core resources to process simulation events in parallel, the simulation speed is limited by single-core performance, and the simulation time to real time ratio is 1:1 or even lower; (3) Low I / O performance of simulation: a large amount of intermediate states and data records generated during simulation are directly written into local storage of the container or stored through a network, which will become a bottleneck of the entire simulation process due to I / O delay, seriously restricting the simulation efficiency and slowing down the simulation progress.

[0104] And the improvements made by the present application to the above defects are: (1) Communication-intensive simulation container nodes are centrally deployed, which greatly reduces network transmission delay, creates favorable topological conditions for parallel simulation, and improves simulation efficiency from the deployment level. (2) Multiple simulation container threads are allowed to execute concurrently, breaking through the performance ceiling of single-thread, and being the core algorithm guarantee for realizing super-real-time simulation. (3) High-delay disk I / O operations are removed from the critical path, so that the simulation process is almost not affected by data recording, and the simulation throughput is greatly improved.

[0105] Meanwhile, to solve the state explosion and memory overflow problems caused by the optimistic parallel algorithm, the present application periodically confirms the global state, timely releases and recycles resources, and ensures the stability and scalability of the parallel simulation system, which can support long-time and large-scale simulation.

[0106] In general, the containerized communication networking simulation acceleration method can improve the traditional containerized simulation from the "real-time" running mode to the "super real-time" running mode. Through intelligent division and scheduling of simulation tasks, introduction of the optimistic parallel processing method, and optimization of the simulation data recording process, the simulation speed is improved by more than 5 times compared with the traditional containerized scheme, which enables multiple simulation iterations in a very short time in the verification of new communication network protocols and large-scale network tactics, significantly improving the research and decision-making efficiency.

[0107] The containerized communication networking simulation acceleration method provided by the embodiments of the present application is based on the same inventive concept, and the embodiments of the present application also provide a corresponding containerized communication networking simulation acceleration system, as shown in Figure 2

[0108] Figure 2 The containerized communication networking simulation acceleration system structure provided by the embodiments of the present application specifically includes:

[0109] The parsing and dividing module 201 is configured to parse a communication networking simulation model, and divide the communication networking simulation model into a plurality of simulation subgraphs based on a preset causal relationship division rule;

[0110] The strategy generation module 202 is configured to generate a container placement strategy according to a communication relationship between simulation container nodes corresponding to the simulation subgraphs;

[0111] The scheduling and deployment module 203 is configured to schedule and deploy the simulation subgraphs into respective computing nodes based on the container placement strategy;

[0112] The parallel processing module 204 is configured to perform optimistic parallel processing on the simulation container nodes in the respective computing nodes.

[0113] In one embodiment, the containerized communication networking simulation acceleration system further includes:

[0114] The global virtual time management module 205 is configured to obtain local simulation times of respective parallel threads corresponding to the simulation container nodes according to a preset time interval, calculate a global virtual time based on the local simulation times, and broadcast the global virtual time, and if the received global virtual time is earlier than the local simulation time in the respective parallel threads, perform rollback and reprocess the corresponding event;

[0115] The data writing module 206 is configured to confirm memory mapping file regions corresponding to respective simulation container nodes in the host memory, write data related to the respective simulation container nodes into the memory mapping file regions, and asynchronously write the data in the memory mapping file regions into a solid state disk through a preset background persistence process. ​

[0116] It should be understood that various parts of the present application can be realized in hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0117] Each of the embodiments in the present application is described in a progressive manner, and the same or similar parts between each of the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments. In particular, for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the related parts can be referred to the part of the method embodiments.

[0118] The system and method provided by the embodiments of the present application are one-to-one correspondence, therefore, the system also has the similar beneficial technical effects as the method corresponding to it. Since the beneficial technical effects of the method have been described in detail above, the beneficial technical effects of the system will not be described here.

[0119] The flowcharts and block diagrams in the drawings illustrate the possible implementation architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each block in the flowcharts or block diagrams can represent a module, a program segment or a part of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different order than that noted in the drawings. For example, two blocks that are shown in succession can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the function involved. It should also be noted that each block in the block diagrams and / or flowcharts, and the combination of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0120] The modules involved in the embodiments of the present application can be implemented in software or hardware. Among them, the name of the module does not constitute a limitation to the unit itself in some cases.

[0121] It should also be noted that the terms "comprising," "including," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a... " does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0122] The above description is merely illustrative of the application, and not restrictive. Various modifications and changes can become apparent to those skilled in the art. Incorporating any modification, equivalent substitution, improvement, etc. within the spirit and principle of the application, shall be included in the scope of the claims of the application.

Claims

1. A method for accelerating containerized communication networking simulation, characterized in that, include: The communication network simulation model is analyzed, and based on the preset causal relationship partitioning rules, the communication network simulation model is divided into multiple simulation sub-graphs; Based on the communication relationships between the simulation container nodes corresponding to the simulation subgraph, a container placement strategy is generated. Based on the container placement strategy, the simulation subgraphs are scheduled and deployed to each computing node respectively; Within each computing node, the simulation container node is processed in an optimistic parallel manner; The analytical communication network simulation model, based on a preset causal relationship partitioning rule, divides the communication network simulation model into multiple simulation sub-graphs, including: Based on the preset causal relationship classification rules, determine whether there is a causal relationship between the nodes of the simulation container; Simulation container nodes that are causally related are grouped into the same or similar simulation subgraphs, while simulation container nodes that are causally unrelated are grouped into different simulation subgraphs. The preset causal relationship division rules include at least one of the following: Determine whether there is a causal relationship between the nodes of the simulation container based on temporal and / or spatial correlation. Determine whether there is a causal relationship between simulation container nodes based on whether there are shared resource conflicts; Determine whether there is a causal relationship between the simulation container nodes based on whether they are within each other's interference range; Determine whether there is a causal relationship between the simulation container nodes based on the relationship between the control protocol and the data flow; Determine whether there is a causal relationship between simulation container nodes based on application layer logical dependencies; The step of scheduling and deploying the simulation subgraph to each computing node based on the container placement strategy includes: Determine the communication awareness constraints corresponding to the container placement strategy; Based on the aforementioned communication-aware constraints, scheduling is performed through the Kubernetes scheduler to deploy causally unrelated simulation subgraphs to different computing nodes, and causally related simulation subgraphs to the same or nearby computing nodes.

2. The containerized communication networking simulation acceleration method according to claim 1, characterized in that, After performing optimistic parallel processing on the simulation container node, the method further includes: According to a preset time interval, the local simulation time of each parallel thread corresponding to the simulation container node is obtained; The global virtual time is calculated based on the local simulation time and then broadcast. Within each of the parallel threads, if the received global virtual time is earlier than the local simulation time, a rollback is performed and the corresponding event is reprocessed.

3. The containerized communication networking simulation acceleration method according to claim 1, characterized in that, After performing optimistic parallel processing on the simulation container node, the method further includes: Identify the memory-mapped file regions corresponding to each simulation container node in the host memory; Write the data related to each simulation container node into the memory-mapped file area; The data within the memory-mapped file area is processed by a preset background persistent process and then asynchronously written to the solid-state drive.

4. The containerized communication networking simulation acceleration method according to claim 1, characterized in that, Before generating the container placement strategy based on the communication relationship between the simulation container nodes corresponding to the simulation subgraph, the method further includes: Preset communication topology database; In response to a query request for a specified simulation subgraph, information about the specified simulation subgraph is returned; the information about the simulation subgraph includes the communication relationships between simulation container nodes.

5. The containerized communication networking simulation acceleration method according to claim 1, characterized in that, The step of generating a container placement strategy based on the communication relationships between the simulation container nodes corresponding to the simulation subgraph includes: Pre-build a communication-aware scheduler; The communication sensing filter corresponding to the communication sensing scheduler filters out simulation container nodes that do not meet the preset basic conditions, and determines the remaining nodes. The remaining nodes are evaluated based on the communication optimization objective by the communication relationship scorer corresponding to the communication-aware scheduler to determine candidate nodes; An optimization model is constructed, and a container placement strategy is generated based on the candidate nodes.

6. A containerized communication networking simulation acceleration system, characterized in that, include: The parsing and partitioning module is used to parse the communication network simulation model and divide the communication network simulation model into multiple simulation subgraphs based on preset causal relationship partitioning rules. And based on the preset causal relationship classification rules, determine whether there is a causal relationship between the nodes of the simulation container; Simulation container nodes that are causally related are grouped into the same or similar simulation subgraphs, while simulation container nodes that are causally unrelated are grouped into different simulation subgraphs. The preset causal relationship division rule includes at least one of the following: determining whether there is a causal relationship between simulation container nodes based on temporal correlation and / or spatial correlation; Determine whether there is a causal relationship between simulation container nodes based on whether there is a shared resource conflict; determine whether there is a causal relationship between simulation container nodes based on whether they are within each other's interference range. Determine whether there is a causal relationship between the simulation container nodes based on the relationship between the control protocol and the data flow; Determine whether there is a causal relationship between simulation container nodes based on application layer logical dependencies; The strategy generation module is used to generate a container placement strategy based on the communication relationship between the simulation container nodes corresponding to the simulation subgraph. The scheduling and deployment module is used to schedule and deploy the simulation subgraphs to various compute nodes based on the container placement strategy; and to determine the communication-aware constraints corresponding to the container placement strategy; based on the communication-aware constraints, to execute scheduling through the Kubernetes scheduler, deploying causally unrelated simulation subgraphs to different compute nodes, and deploying causally related simulation subgraphs to the same or nearby compute nodes. The parallel processing module is used to perform optimistic parallel processing on the simulation container node within each computing node.

7. The containerized communication networking simulation acceleration system according to claim 6, characterized in that, The system also includes: The global virtual time management module is used to obtain the local simulation time of each parallel thread corresponding to the simulation container node according to a preset time interval, calculate the global virtual time based on the local simulation time and broadcast it. If the global virtual time received by each parallel thread is earlier than the local simulation time, a rollback is performed and the corresponding event is reprocessed. The data writing module is used to identify the memory-mapped file area corresponding to each simulation container node in the host memory, write the data related to each simulation container node into the memory-mapped file area, process the data in the memory-mapped file area through a preset background persistence process, and then asynchronously write it to the solid-state drive.

Citation Information

Patent Citations

  • Distributed simulation method and system based on model splitting and electronic equipment

    CN120469802A

  • Distributed simulation method and system based on containerized deployment and elastic expansion

    CN120849103A