A network system simulation method and related apparatus

This network simulation method, which combines deep neural networks and iterative reordering algorithms with multigraph decomposition algorithms, solves the problems of insufficient simulation speed and accuracy in existing technologies, and achieves efficient simulation of different topologies and traffic patterns.

CN115618532BActive Publication Date: 2026-03-17HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-14
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing neural network performance simulation systems cannot reflect packet processing flow and scheduling strategies, resulting in poor simulation speed and accuracy, and lack of generalization ability for different arrival traffic patterns.

Method used

Local modeling is performed using a single-device model based on deep neural networks. Combined with iterative reordering and multigraph decomposition algorithms, parallel computing is achieved through a tensor server, thereby improving the generalization ability and speed of the simulation system.

Benefits of technology

It improves the generalization ability and simulation speed of network system simulation, enhances the interpretability and accuracy of simulation results, and can effectively handle different topologies and traffic patterns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115618532B_ABST
    Figure CN115618532B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a network system simulation method and related device, which are used for improving the generalization ability of network system simulation. The method comprises the following steps: a server receives a configuration file sent by a controller, the configuration file comprising a network topology, configuration parameters of network nodes and configuration parameters of a traffic generator, the configuration file being used for configuring a simulation network by the server, the simulation network being composed of the network nodes according to the network topology, the network nodes being deep neural network (DNN) nodes determined based on time series of messages, the traffic generator being used for generating time series of input messages of each network node, and the server being used for calculating time series of output messages of each network node based on the simulation network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network simulation, and more particularly to a network system simulation method and related apparatus. Background Technology

[0002] A network simulation system is a digital twin of a real network system, providing assurance for various business scenarios, including metropolitan area networks, 5G networks, and data center networks. Network simulation technology uses mathematical modeling and statistical analysis to simulate network behavior. By establishing statistical models of network devices and links, it simulates network traffic transmission, thereby obtaining network performance data needed for network design and optimization.

[0003] In existing network performance simulations based on neural networks, the network simulation system uses the overall network traffic load or link utilization as simulation input. It derives the quality of service (QoS) distribution of a certain path in the network system through complex neural networks such as graph neural networks (GNN) and variational auto-encoders (VAE). However, since network simulation systems based on overall network traffic load and neural networks cannot reflect packet processing flow and scheduling strategies, and lack the ability to generalize to different arrival traffic patterns, the simulation speed and accuracy are poor. Summary of the Invention

[0004] This application provides a network system simulation method and related apparatus to improve the generalization ability and simulation speed of network system simulation.

[0005] This application provides a network system simulation method as a first aspect of its embodiments. This method can be executed by a server, a component of the server (such as a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the server's functions. The network system simulation method provided in the first aspect includes: receiving a configuration file sent by a controller. The configuration file includes a network topology, configuration parameters of network nodes, and configuration parameters of a traffic generator. The configuration file is used by the server to configure the simulated network. The configuration parameters of the traffic generator are used to configure the traffic generator. The simulated network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of packets. The traffic generator is used to generate the time series of input packets for each network node and to calculate the time series of output packets for each network node based on the simulated network.

[0006] In this embodiment, modeling is performed on a single network node. The single-device DNN model learns the packet processing mechanism of the network element device. The trained single-device model can realize network topology of any type, thereby improving the generalization ability of network system simulation.

[0007] In one possible implementation, during the process of the server calculating the time series of the output packets of each network node based on the simulated network, the server determines the time series of the output packets of each network node according to an iterative reordering algorithm.

[0008] In this embodiment, the server determines the time series of output packets of each network node according to an iterative reordering algorithm. The iterative reordering method improves the interpretability and accuracy of the simulation results.

[0009] In one possible implementation, before the server determines the output message time series of each network node according to the iterative reordering algorithm, the server divides each network node into different computing units based on the multi-graph decomposition algorithm. The computing units are used to compute the output message time series of the network nodes in parallel.

[0010] In this embodiment, the server uses a multi-graph decomposition algorithm to divide network nodes into different computing units to compute simulation results in parallel, thereby improving the simulation speed of the network system.

[0011] In one possible implementation, the server synchronizes the time series of output messages between network nodes of different computing power units through a tensor server.

[0012] In this embodiment, a tensor server is used as a shared cache between computing units, and the efficient information synchronization function of the tensor server is used to achieve parallel acceleration, thereby improving the simulation speed of the simulation system.

[0013] In one possible implementation, the server determines the performance metrics of each network node based on the time series of the output packets of each network node. The performance metrics include latency, jitter, or bandwidth.

[0014] This application provides a network system simulation method in its second aspect. This method can be executed by a controller, a component of the controller (such as its processor, chip, or chip system), or a logic module or software capable of implementing all or part of the controller's functions. The network system simulation method provided in the first aspect includes: sending a configuration file to a server. The configuration file includes network topology, configuration parameters of network nodes, and configuration parameters of a traffic generator. The configuration file is used by the server to configure the simulation network. The simulation network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of packets. The traffic generator is used to generate the time series of input packets for each network node, and the simulation network is used to calculate the time series of output packets for each network node.

[0015] In one possible implementation, before the controller sends the configuration file to the server, the controller trains a single DNN node based on the time series of the messages, which includes the time series of real messages from a single network node or the time series of messages from discrete simulations.

[0016] In one possible implementation, after the controller trains a single DNN node based on the time series of the message, the controller stores the DNN node in the device model library.

[0017] In one possible implementation, the controller determines the time sequence of the message, which includes a real message time sequence or a discrete simulation message time sequence.

[0018] In one possible implementation, after the controller sends a configuration file to the server, the controller receives performance metrics sent by the server. The performance metrics are determined based on the time series of the output messages and include latency, jitter, or bandwidth.

[0019] A third aspect of this application provides a server that includes a simulation execution unit. The simulation execution unit is capable of calculating the time series of output packets of each network node based on a simulated network. The server is used to execute the method described in the first aspect and any possible implementation of the first aspect.

[0020] The fourth aspect of this application provides a controller, which includes a device modeler unit, a device model library unit, a traffic generator unit, and a simulation setting unit. The device modeler unit is used to train a single DNN node based on the time series of the packets. The device model library unit is used to store the DNN nodes. The traffic generator unit is used to generate the time series of the input packets for each DNN node. The simulation setting unit is used to form a simulation network based on the DNN nodes. The controller is used to execute the method described in the second aspect above and any possible implementation of the second aspect.

[0021] The fifth aspect of this application provides a simulation device, which includes an interface unit and a processing unit.

[0022] The interface unit is used to receive the configuration file sent by the controller. The configuration file includes the network topology, configuration parameters of the network nodes, and configuration parameters of the traffic generator. The configuration file is used by the server to configure the simulation network. The simulation network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of the packets. The traffic generator is used to generate the time series of the input packets for each network node.

[0023] The processing unit is used to calculate the time series of output messages for each network node based on the simulated network.

[0024] In one possible implementation, the processing unit is further configured to determine the time sequence of the output packets of each network node according to an iterative reordering algorithm.

[0025] In one possible implementation, the processing unit is further configured to divide each network node into different computing units based on a multi-graph decomposition algorithm, and the computing units are configured to compute the output message time series of the network nodes in parallel.

[0026] In one possible implementation, the processing unit is also used to synchronize the time series of output messages between network nodes of different computing power units through a tensor server.

[0027] In one possible implementation, the processing unit is further configured to determine the performance metrics of each network node based on the time series of the output packets of each network node, including latency, jitter, or bandwidth.

[0028] A sixth aspect of this application provides a simulation device, which includes an interface unit and a processing unit.

[0029] The interface unit is used to send a configuration file to the server. The configuration file includes the network topology, configuration parameters of the network nodes, and configuration parameters of the traffic generator. The configuration file is used by the server to configure the simulation network. The simulation network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of the packets. The traffic generator is used to generate the time series of the input packets for each network node. The simulation network is used to calculate the time series of the output packets for each network node.

[0030] In one possible implementation, the processing unit is used to train a single DNN node based on the time series of the messages, which includes the time series of real messages from a single network node or the time series of messages from discrete simulations.

[0031] In one possible implementation, the processing unit is used to store DNN nodes into a device model library.

[0032] In one possible implementation, the processing unit is used to determine the time sequence of the message, which includes a real message time sequence or a discrete simulation message time sequence.

[0033] In one possible implementation, the interface unit is used to receive performance metrics sent by the server. The performance metrics are determined based on the time series of the output messages and include latency, jitter, or bandwidth.

[0034] A seventh aspect of this application provides a simulation apparatus, including a processor coupled to a memory. The processor stores instructions, which, when executed by the processor, cause the simulation apparatus to perform the method of the first aspect and any possible implementation thereof, or cause the simulation apparatus to perform the method of the second aspect and any possible implementation thereof.

[0035] The eighth aspect of this application provides a network simulation system, which includes the server described in the third aspect and the controller described in the fourth aspect, or the network simulation system includes the simulation device described in the fifth aspect and the simulation device described in the sixth aspect, or the network simulation system includes the simulation device described in the seventh aspect.

[0036] A ninth aspect of this application provides a computer-readable storage medium having instructions stored thereon, which, when executed, cause a computer to perform the method of the first aspect and any possible implementation thereof, or cause a computer to perform the method of the second aspect and any possible implementation thereof.

[0037] The tenth aspect of this application provides a computer program product, which includes instructions, characterized in that, when executed, the instructions cause a computer to implement the method of the first aspect and any possible implementation of the first aspect, or cause a computer to implement the method of the second aspect and any possible implementation of the second aspect.

[0038] It is understood that the beneficial effects achieved by any of the servers, controllers, simulation devices, network simulation systems, computer-readable media, or computer program products provided above can be referred to the beneficial effects in the corresponding methods, and will not be repeated here. Attached Figure Description

[0039] Figure 1 A schematic diagram of a network simulation system architecture provided in this application embodiment;

[0040] Figure 2This is a schematic diagram of another network simulation system architecture provided in an embodiment of this application;

[0041] Figure 3 This is a schematic diagram of a simulation method for a network simulation system provided in an embodiment of this application;

[0042] Figure 4 A schematic diagram of a network node model training process provided in an embodiment of this application;

[0043] Figure 5 This is a schematic diagram of a simulation method for another network simulation system provided in an embodiment of this application;

[0044] Figure 6a This is a schematic diagram of a network topology decomposition provided in an embodiment of this application;

[0045] Figure 6b A schematic diagram of graph decomposition of another network topology provided in an embodiment of this application;

[0046] Figure 6c A schematic diagram illustrating another form of parallel computing on a tensor server provided in this application embodiment;

[0047] Figure 7a A schematic diagram illustrating a network system simulation result provided in an embodiment of this application;

[0048] Figure 7b A schematic diagram illustrating another network system simulation result provided in an embodiment of this application;

[0049] Figure 8a A schematic diagram of an interactive signaling provided in an embodiment of this application;

[0050] Figure 8b A schematic diagram of another interactive signaling provided in an embodiment of this application;

[0051] Figure 9 This is a schematic diagram of the structure of a simulation device provided in an embodiment of this application;

[0052] Figure 10 This is a schematic diagram of another simulation device provided in an embodiment of this application. Detailed Implementation

[0053] This application provides a network system simulation method and related apparatus to improve the generalization ability and simulation speed of network system simulation.

[0054] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0055] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0056] The following explanations of some terms used in this application are provided to facilitate understanding by those skilled in the art.

[0057] Digital twins refer to the simulation process that fully utilizes data such as physical models, sensor updates, and motion history to integrate multiple disciplines, multiple physical quantities, multiple scales, and multiple probabilities, and completes mapping in virtual space to reflect the entire life cycle of the corresponding physical equipment.

[0058] A Markovian arrival process (MAP) is a mathematical model in probability theory used to characterize the time intervals between job arrivals. Special cases of MAP include Poisson processes, Markov-modulated Poisson processes (MMPP), and phase-type renewal processes. A general MAP can reflect the correlation of job arrivals and is an important stochastic process model in queuing theory.

[0059] Packet capture (PCAP) devices are stand-alone devices that can be deployed anywhere on a network, typically at network ingress points and in front of critical devices such as servers containing sensitive information.

[0060] The network system simulation method and related apparatus provided in the embodiments of this application are described below with reference to the accompanying drawings.

[0061] Please see Figure 1 , Figure 1 This is a schematic diagram of a network system simulation provided in an embodiment of this application. Figure 1 As shown, the network simulation control system 10 includes a device model utilities (DUtil) unit 101, a device model library (DLib) unit 102, a simulation setup module (SInit) unit 103, a traffic generation utilities (TGUtil) unit 104, and a simulation execution module (SRun) unit 105.

[0062] The device modeler unit 101 is used to generate trained device models. Specifically, the device modeler unit trains the device model based on the input and output message time series of the device, and stores the trained device model in the device model library unit 102, thereby providing device models for network performance simulation.

[0063] The device model library unit 102 is used to store trained device models, including switch models, routing models, and link models.

[0064] The flow generator unit 104 is used to create a flow generator (TGen) based on user input, such as a packet capture PCAP file or a Markov arrival process MAP model parameter.

[0065] The simulation setup unit 103 is used to configure the simulated network system based on user input. User input includes network topology, network node configuration parameters, and traffic generator configuration parameters. The network node configuration parameters include the device type and routing table of the network nodes. The simulation setup unit 103 constructs a network based on the user-input network topology and the device models stored in the device model library unit 102, and uses the traffic generator to generate input tensors for inference by the deep queuenet model. The simulation setup unit 103 creates a tensor representation of the packet forwarding behavior for each device based on the routing table.

[0066] Please see Figure 2 , Figure 2 This is a schematic diagram of the architecture of another network simulation system provided in an embodiment of this application. Figure 2As shown, the network simulation system 20 includes a controller 201 and a server 202. The controller 201 is used to send configuration information of the simulation environment to the server 202. Specifically, the controller 201 sends a configuration file to the server 202, which includes network topology, configuration parameters of network nodes, and configuration parameters of traffic generator.

[0067] Server 202 is used to execute the simulation process and return the simulation results to controller 201. Specifically, server 202 calculates the time series of output messages based on the simulation network and deep queuing network model and returns the simulation results to controller 201.

[0068] thereby Figure 2 As can be seen, the controller includes the aforementioned device modeler unit, device model library unit, simulation setting unit, and traffic generator unit, while the server includes a simulation execution unit.

[0069] The architecture of the network simulation system provided in the embodiments of this application has been described above. The network simulation method provided in the embodiments of this application will be described below.

[0070] Please see Figure 3 , Figure 3 A schematic flowchart illustrating a network system simulation method provided in this application embodiment. The network system simulation method provided in this application embodiment includes:

[0071] 301. The controller sends the configuration file to the server.

[0072] The controller sends a configuration file to the server. This configuration file is used to configure the simulation network and includes the network topology, configuration parameters for network nodes, and configuration parameters for the traffic generator. The simulation network is composed of network nodes based on the network topology. Each network node is a deep neural network (DNN) model trained by the controller based on the time series of message timestamps (this application also refers to network nodes as DNN nodes). The traffic generator is used to generate the input message time series for each network node in the simulation network.

[0073] In this embodiment, before the controller sends the configuration file to the server, the controller performs single-device local modeling of the network nodes, i.e., trains a single-device deep neural network model (DNN). The single-device learning process in this embodiment is described below with reference to steps 3011 to 3012:

[0074] 3011. The controller acquires the message sequence for training the DNN model.

[0075] The controller acquires the message sequence used to train the DNN model. The message sequence includes the input message time series and output message time series of a single device. The message sequence can be a real message sequence from a specific device, or it can be a message sequence obtained through discrete simulation of a single node. The input message sequence required for discrete simulation can be customized based on a PCAP file, or it can be randomly generated by a traffic generation model with customized parameters such as Poisson or MAP; there are no specific limitations.

[0076] Please refer to Table 1, which is a table showing the contents of an output message sequence used to train a DNN model. In a sample summary, the output message sequence contains the data information shown in Table 1.

[0077] Table 1

[0078]

[0079] 3012. Controller training of a single-device DNN model.

[0080] The controller trains a single-device deep neural network (DNN) model. This single-device DNN model learns the single device's packet processing mechanisms, including routing and traffic management (TM) mechanisms. The training dataset for the single-device DNN model consists of input and output packet sequences, and the output is the trained DNN model.

[0081] In the single-device DNN model training of this application embodiment, packet traffic is abstracted into a time series. A DNN is used to encapsulate the device's TM mechanism, predicting the latency of each data packet within the device. The predicted latency time series is then added to the arrival time series to obtain the departure time series. This process is a sequence-to-sequence (seq2seq) model. For sequence-to-sequence tasks, various neural network structures can be used for training. The neural network results include recurrent neural networks and bidirectional long short-term memory (BLSTM) models. In one example, the controller learns the single-device traffic management mechanism through a transformer architecture.

[0082] Please see Figure 4 , Figure 4 This is a schematic diagram illustrating single-device DNN model training as provided in an embodiment of this application. Figure 4As shown, for a single device's DNN model, the input to the model is a message sequence (pkt stream). The message sequence is processed by feature extraction and input into a bidirectional long short-term memory (BLSTM) model. It then passes through an encoder, an attention mechanism, and a decoder, and finally outputs message delays (pkt delays).

[0083] Please refer to Table 2, which provides an example of DNN model parameters. Table 2 shows the time step for training the DNN model, bidirectional long short-term memory parameters, and multi-head attention mechanism parameters.

[0084] Table 2

[0085] Time steps 21 Bidirectional Long Short-Term Memory (BLSTM) (200,100) Multi-head attention mechanism 3,(64,32)

[0086] 3013. The controller stores the DNN model of a single device.

[0087] The controller stores the trained DNN model into the device model library unit, and controls the type of trained DNN model, including switch model, routing model or link model.

[0088] In this embodiment, the controller performs arbitrary topology networking based on the trained single-device model, abstracts data packet traffic into packet time series, transforms the processing of packets by a single network node into the processing of packet time series, and abstracts packet processing (e.g., packet loss, routing, forwarding) into a forwarding matrix, thereby achieving generalization to different arrival traffic patterns and different network traffic mechanisms, and improving the generalization capability of network system simulation.

[0089] 302. The server calculates the time series of output packets of network nodes based on the configuration file.

[0090] After receiving the configuration file from the controller, the server constructs a simulation network based on the device DNN model trained in the device model library unit and the network topology given in the configuration file. The server generates an input tensor through a traffic generator unit, which is used for inference by the deep queue net model. The simulation setup unit creates a tensor representation for packet forwarding for each network node. Specifically, the traffic generator generates the time series of input packets for each network node, and the simulation execution unit determines the time series of output packets based on the simulation network.

[0091] In this embodiment, the server determines the output packet time sequence of each network based on an iterative reordering algorithm. The following is in conjunction with... Figure 5 The process of determining the output message time series using the iterative sorting algorithm in the embodiments of this application is described.

[0092] Please see Figure 5 , Figure 5 This is a flowchart illustrating an iterative reordering algorithm provided for an embodiment of the application. Figure 5 As shown, one step of the iterative reordering algorithm includes:

[0093] 3021. The server obtains the input message time series, network topology, and network node configuration parameters.

[0094] The server receives input to the iterative reordering algorithm, which includes the network topology, network node configuration parameters, and the time series of input packets for each network node. The network topology and network node configuration parameters are obtained from a configuration file received by the server, while the time series of input packets for each network node is generated by a traffic generator.

[0095] 3022. The server executes an iterative reordering algorithm.

[0096] The server executes an iterative reordering algorithm in the simulated network, specifically within the simulation execution unit. This iterative reordering algorithm is used for network performance simulation. It takes user-input arrival traffic patterns, input packet time series, network topology, and network node configurations as input, and outputs the output packet time series of each network node.

[0097] In this implementation, after obtaining the user's configuration file, the server automatically loads the corresponding single-device DNN model and traffic generator to configure the user's simulation network. After network configuration, the server automatically executes the iterative reordering algorithm and deploys iterative algorithms on distributed computing units for parallel acceleration based on the results of the multigraph decomposition algorithm. During each iteration of the iterative reordering algorithm, the computing units synchronize information through a tensor server. After the simulation ends, the tensor server transmits the simulation results to the controller for subsequent performance analysis.

[0098] This application embodiment addresses packet-level timing issues arising during network deployment through a network-wide iterative reordering algorithm. The algorithm progressively generates cross-node packet time series and forwarding matrices, using multiple iterations to refine the packet-level order. The iterative reordering algorithm iteratively updates the single-node model of traffic information for each link, ensuring that the routing matrix converges after the maximum hop count of the topology path. In this embodiment, the iterative reordering algorithm improves simulation accuracy.

[0099] In this embodiment, the server uses a multi-graph decomposition algorithm to divide each network node into different computing units. These computing units are used to compute the time series of output messages from the network nodes in parallel. The goal of graph decomposition is to find clusters of nodes in the graph that share certain commonalities, thereby achieving a balance between graph segmentation performance and time complexity. Specifically, the server uses a multi-graph decomposition algorithm to decompose the simulated network into multiple smaller parts based on the computing power of the distributed server cluster and the objective function. Then, the fragmented network is deployed on distributed computing units, and parallel computation is achieved by synchronizing information between tensor servers.

[0100] The graph decomposition algorithm in the embodiments of this application and the process of parallel computing using a tensor server are described below with reference to the accompanying drawings.

[0101] Please see Figure 6a ,exist Figure 6a In one example shown, the network topology is a 6x6 2D-Torus topology, assuming that data packets from all devices are generated using the same MAP model parameters. Figure 6a As shown, the server divides network nodes across four GPU units with the same computing power.

[0102] Please see Figure 6b ,exist Figure 6b In another example shown, the network topology is a k-ary FatTree topology, and the device model of the network nodes is a k-port switch model. The server divides the network nodes onto 4 identical computing units.

[0103] Please see Figure 6c , Figure 6c This is a schematic diagram of a server architecture that uses a tensor server for parallel computing. (Example:) Figure 6c As shown, the server uses a tensor server as a shared cache between computing units, supporting parameter synchronization of computing units. In this embodiment, the tensor server supports network transmission protocols such as remote direct memory access (RDMA) and GPU Direct RDMA.

[0104] In this embodiment, the tensor server can be deployed on the same physical machine or on a remote physical machine with network connectivity; there is no specific limitation.

[0105] This application embodiment uses a data-driven graph decomposition algorithm that considers partitioning features (e.g., modularity matrix, Markov matrix) and multi-objective optimization (e.g., feature reconstruction, generative adversarial, and clustering regularization) to decompose the network topology into multiple smaller parts based on the computing power of the distributed cluster and the objective function.

[0106] The embodiments of this application use a graph decomposition algorithm to distribute network nodes across different computing units for parallel computation, thereby improving the computation speed of network simulation.

[0107] 3023. The server determines the time sequence of the output messages.

[0108] The server calculates the time series of the output messages based on an iterative reordering algorithm.

[0109] 303. The server sends the performance metrics of the simulated network to the control.

[0110] The server determines the performance metrics of the simulated network based on the time series of the output messages. The performance metrics of the simulated network include latency and jitter.

[0111] Please see Figure 7a , Figure 7a This is a schematic diagram illustrating simulation results of network performance provided in an embodiment of this application. Figure 7a In the example shown, the network topology is a 6x6 2D Torus topology, the device model of the network nodes is a 5-port switch model, the training dataset is a cloud virtual reality (VR) traffic sequence (trace), and the prediction dataset is a random Poisson traffic sequence (trace). Figure 7a As shown, (a) is the simulation result of latency performance, (b) is the simulation result of jitter performance, (c) is the simulation result of latency performance at 99% percentage, and (d) is the simulation result of jitter performance at 99% percentage. Figure 7a As can be seen from the embodiments of this application, the results obtained are very close to the results of discrete event simulation (ground truth).

[0112] Please see Figure 7b , Figure 7b This is a schematic diagram illustrating another simulation result of network performance provided in an embodiment of this application. Figure 7b In the example shown, the network topology is a 4-ary FatTree topology, consisting of 4 clusters, 4 core switches, 8 aggregation switches, 8 edge switches, and 16 hosts. The network node device model is a 4-port switch model. The training dataset is a cloud VR traffic sequence (trace), and the prediction dataset is a random Poisson traffic sequence (trace). Figure 7bAs shown, (a) is the simulation result of latency performance, (b) is the simulation result of jitter performance, (c) is the simulation result of latency performance at 99% percentage, and (d) is the simulation result of jitter performance at 99% percentage. Figure 7b As can be seen from the embodiments of this application, the results obtained are very close to the results of discrete event simulation (ground truth).

[0113] The following describes the interactive signaling involved in the embodiments of this application. The embodiments of this application involve two types of interactive signaling, including signaling sent by the controller and signaling sent by the server.

[0114] Please see Figure 8a , Figure 8a A diagram illustrating the signaling sent to the controller. (Example) Figure 8a As shown, signaling type 1 is the signaling used by the controller to send configuration files to the server. Signaling type 1 is used for simulation settings, sending environment configuration information from the controller to the server. The environment configuration information includes: configuration parameters of the traffic generator, network topology information, and configuration parameters of network nodes. The configuration parameters of the network nodes provide the device's DNN model and related parameters.

[0115] Please see Figure 8b , Figure 8b A diagram illustrating the signaling sent by the server. (Example) Figure 8b As shown, signaling type 2 is signaling sent from server to server or from server to controller. Signaling type 2 is used during the simulation process, sending simulation output information from server to server, and in the final simulation termination phase, sending the final simulation output information from server to controller. The simulation output information is a time sequence of output packets. During the simulation process, in each iteration, the time sequence of output packets from each device is reordered, so the packet timestamps in the traffic are continuously refreshed until the simulation ends and the final time sequence of output packets is determined.

[0116] Please refer to Table 3, which is a table of definitions for the metadata in the two signaling methods mentioned above.

[0117] Table 3

[0118] The network system simulation method provided in the embodiments of this application has been described above. The related devices involved in the embodiments of this application are described below with reference to the accompanying drawings.

[0119] Please see Figure 9 , Figure 9 This is a schematic diagram of a simulation device provided in an embodiment of this application. The simulation device is used to implement the various steps corresponding to the controller or server in the above embodiments, such as... Figure 9As shown, the simulation device 900 includes an interface unit 901 and a processing unit 902.

[0120] In one embodiment, the simulation device 900 is used to implement the various steps of the corresponding server in the above embodiments:

[0121] Interface unit 901 is used to receive configuration files sent by the controller. The configuration files include network topology, configuration parameters of network nodes, and configuration parameters of the traffic generator. The configuration files are used by the server to configure the simulation network. The simulation network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of the packets. The traffic generator is used to generate the time series of the input packets for each network node.

[0122] The processing unit 902 is used to calculate the time series of the output messages of each network node based on the simulated network.

[0123] In one possible implementation, the processing unit 902 is further configured to determine the time sequence of the output packets of each network node according to an iterative reordering algorithm.

[0124] In one possible implementation, the processing unit 902 is further configured to divide each network node into different computing units based on a multi-graph decomposition algorithm, and the computing units are configured to perform parallel computation of the output message time series of the network nodes.

[0125] In one possible implementation, the processing unit 902 is also used to synchronize the time series of output messages between network nodes of different computing power units through a tensor server.

[0126] In one possible implementation, the processing unit 902 is further configured to determine the performance metrics of each network node based on the time series of the output packets of each network node, the performance metrics including latency, jitter or bandwidth.

[0127] In another embodiment, the simulation device 900 is used to implement the various steps of the corresponding controllers in the above embodiments:

[0128] Interface unit 901 is used to send a configuration file to the server. The configuration file includes network topology, configuration parameters of network nodes, and configuration parameters of traffic generator. The configuration file is used by the server to configure the simulation network. The simulation network is composed of network nodes according to the network topology. The network nodes are deep neural network (DNN) nodes determined based on the time series of packets. The traffic generator is used to generate the time series of input packets for each network node. The simulation network is used to calculate the time series of output packets for each network node.

[0129] In one possible implementation, the processing unit 902 is used to train a single DNN node based on the time series of the messages, which includes the time series of real messages of a single network node or the time series of messages of discrete simulation.

[0130] In one possible implementation, the processing unit 902 is used to store DNN nodes to a device model library.

[0131] In one possible implementation, the processing unit 902 is used to determine the time sequence of the message, which includes a real message time sequence or a discrete simulation message time sequence.

[0132] In one possible implementation, the interface unit 901 is used to receive performance metrics sent by the server. The performance metrics are determined based on the time series of the output messages and include latency, jitter, or bandwidth.

[0133] Optionally, the communication device may further include a storage unit for storing data or instructions (also referred to as code or program). Each of the aforementioned units can interact with or be coupled to the storage unit to implement the corresponding method or function. For example, the processing unit 902 can read data or instructions from the storage unit, enabling the communication device to implement the method described in the above embodiments.

[0134] It should be understood that the division of units in the above communication device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the communication device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, while others are implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the communication device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the communication device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above units can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.

[0135] In one example, a unit in any of the above communication devices can be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. As another example, when a unit in the communication device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. Furthermore, these units can be integrated together and implemented as a system-on-a-chip (SOC).

[0136] Please see Figure 10 , Figure 10 This is a schematic diagram of a simulation device provided in an embodiment of this application, used to implement the operation of the controller or controller in the above embodiments. For example... Figure 10 As shown, the simulation device includes a processor 1010 and an interface 1030, with the processor 1010 coupled to the interface 1030. The interface 1030 is used to enable communication with other devices. The interface 1030 can be a transceiver or an input / output interface. The interface 1030 can be, for example, an interface circuit. Optionally, the communication device also includes a memory 1020 for storing instructions executed by the processor 1010, or storing input data required by the processor 1010 to execute instructions, or storing data generated after the processor 1010 executes instructions.

[0137] The methods executed by the server or controller in the above embodiments can be implemented by the processor 1010 calling a program stored in memory (which can be memory 1020 in a network device or terminal, or external memory). That is, the controller or server may include the processor 1010, which executes the methods executed by the controller or server in the above method embodiments by calling a program in memory. The processor here can be an integrated circuit with signal processing capabilities, such as a CPU. The controller or server can be implemented by one or more integrated circuits configured to implement the above methods. For example: one or more ASICs, or one or more microprocessors (DSPs), or one or more FPGAs, or a combination of at least two of these integrated circuit forms. Alternatively, the above implementation methods can be combined.

[0138] Specifically, Figure 9The functions / implementation processes of the interface unit 901 and the processing unit 902 can be obtained through... Figure 10 The processor 1010 in the simulation device 1000 shown calls computer-executable instructions stored in memory 1020 to implement the function. Alternatively, Figure 9 The function / implementation process of the processing unit 902 in the middle can be achieved through Figure 10 The processor 1010 in the simulation device 1000 shown calls computer execution instructions stored in the memory 1020 to implement this. Figure 9 The function / implementation process of interface unit 901 can be achieved through... Figure 10 The interface 1030 in the simulation device 1000 shown is used to implement this. For example, the function / implementation process of the interface unit 901 can be implemented by the processor calling program instructions in the memory to drive the interface 1030.

[0139] The interface unit 901 in the simulation device 900 is equivalent to the interface 1030 in the simulation device 1000, and the processing unit 902 in the simulation device 900 can be equivalent to the processor 1010 in the simulation device 1000.

[0140] In another embodiment of this application, a computer-readable storage medium is also provided, which stores computer-executable instructions. When the processor of the device executes the computer-executable instructions, the device executes the method executed by the controller or server in the above method embodiments.

[0141] In another embodiment of this application, a computer program product is also provided, which includes computer-executable instructions stored in a computer-readable storage medium. When the processor of the device executes the computer-executable instructions, the device performs the steps of the method executed by the controller or server in the above method embodiments.

[0142] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0143] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0144] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0145] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0146] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A network system simulation method characterized by comprising: The method comprises: The server receives a configuration file sent by a controller, the configuration file comprising a network topology, configuration parameters of network nodes, and configuration parameters of a traffic generator, the configuration file being used by the server to configure a simulation network, the simulation network being composed of the network nodes according to the network topology, the network nodes being deep neural network (DNN) nodes determined based on time series of messages, the deep neural network (DNN) nodes being models for a single device, and the traffic generator being used to generate time series of input messages of each network node; The server calculates time series of output messages of each network node based on the simulation network.

2. The method of claim 1, wherein, The server calculates time series of output messages of each network node based on the simulation network, which comprises: The server determines time series of output messages of each network node according to an iterative reordering algorithm, wherein the inputs of the iterative reordering algorithm are a user-inputted arrival traffic pattern, time series of input messages of each network node, the network topology, and configuration parameters of the network nodes, and the output of the iterative reordering algorithm is time series of output messages of each network node.

3. The method of claim 2, wherein, Before the server determines time series of output messages of each network node according to the iterative reordering algorithm, the method further comprises: The server divides each network node into different computing units based on a multi-graph decomposition algorithm, the computing units being used to calculate time series of output messages of the network nodes in parallel, and the different computing units having the same computing power.

4. The method of claim 3, wherein, The method further comprises: The server synchronizes time series of output messages between the network nodes of different computing units through a tensor server.

5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: The server determines performance indicators of each network node according to time series of output messages of each network node, the performance indicators comprising latency, jitter, or bandwidth.

6. A network system simulation method characterized by comprising: The method comprises: The controller sends a configuration file to a server, the configuration file comprising a network topology, configuration parameters of network nodes, and configuration parameters of a traffic generator, the configuration file being used by the server to configure a simulation network, the simulation network being composed of the network nodes according to the network topology, the network nodes being deep neural network (DNN) nodes determined based on time series of messages, the deep neural network (DNN) nodes being models for a single device, and the traffic generator being used to generate time series of input messages of each network node, the simulation network being used to calculate time series of output messages of each network node.

7. The method of claim 6, wherein, Before the controller sends the configuration file to the server, the method further comprises: The controller trains a single DNN node based on time series of messages, the time series of messages comprising time series of real messages of a single network node or time series of messages generated by the traffic generator.

8. The method of claim 7, wherein, After the controller trains a single DNN node based on time series of messages, the method further comprises: The controller stores the DNN node into a device model library.

9. The method according to any one of claims 6 to 8, characterized in that, The method further comprises: The controller determines a time sequence of the packet, the time sequence of the packet comprising a real packet time sequence or a packet time sequence generated by the traffic generator.

10. The method according to any one of claims 6 to 8, characterized in that, After the controller sends the configuration file to the server, the method further comprises: The controller receives a performance indicator sent by the server, the performance indicator being determined based on the time sequence of the output packet, the performance indicator comprising a latency, a jitter or a bandwidth.

11. A server, characterized by The server comprises a simulation execution unit, the simulation execution unit being configured to calculate the time sequence of the output packet of each network node based on a simulation network; The server is configured to perform the method of any one of claims 1-5.

12. A controller characterized by comprising: The controller comprises a device modeler unit, a device model library unit, a traffic generator unit and a simulation setting unit; The device modeler unit is configured to train a single DNN node according to the time sequence of the packet; The device model library unit is configured to store the DNN node; The traffic generator unit is configured to generate the time sequence of the input packet of each DNN node; The simulation setting unit is configured to compose a simulation network based on the DNN node; The controller is configured to perform the method of any one of claims 6-10.

13. An emulation apparatus, characterized by: The simulation device comprises a processor coupled with a memory, the processor being configured to store instructions, when the instructions are executed by the processor, to cause the simulation device to perform the method of any one of claims 1-5, or to cause the simulation device to perform the method of any one of claims 6-10.

14. A computer-readable storage medium having stored thereon instructions, The instructions, when executed, cause a computer to perform the method of any one of claims 1-5, or to perform the method of any one of claims 6-10.

15. A computer program product, comprising instructions therein, characterised in that, The instructions, when executed, cause a computer to implement the method of any one of claims 1-5, or to implement the method of any one of claims 6-10.