CN115618532A - 一种网络系统仿真方法及相关装置 - Google Patents
一种网络系统仿真方法及相关装置 Download PDFInfo
- Publication number
- CN115618532A CN115618532A CN202110797673.4A CN202110797673A CN115618532A CN 115618532 A CN115618532 A CN 115618532A CN 202110797673 A CN202110797673 A CN 202110797673A CN 115618532 A CN115618532 A CN 115618532A
- Authority
- CN
- China
- Prior art keywords
- network
- simulation
- server
- time sequence
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种网络系统仿真方法及相关装置,用于提升网络系统仿真的泛化能力。本申请实施例方法包括:服务器接收控制器发送的配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列,服务器基于仿真网络计算每个网络节点的输出报文的时间序列。
Description
技术领域
本申请实施例涉及网络仿真领域,尤其涉及一种网络系统仿真方法及相关装置。
背景技术
网络仿真系统是对真实网络系统的一种数字孪生,能够为多种业务场景提供保证,网络仿真涵盖的业务场景包括城域网、5G网络和数据中心网络。网络仿真技术利用数学建模和统计分析的方法模拟网络行为,通过建立网络设备和网络链路的统计模型,模拟网络流量的传输,从而获取网络设计及优化所需要的网络性能数据。
现有技术中基于神经网络的网络性能仿真中,网络仿真系统以全网的流量负载或链路利用率作为仿真输入,通过图神经网络(graph neural networks,GNN)和变分编码器(variational auto-encoder,VAE)等复杂神经网络推导网络系统中某条路径的服务质量(quality of service,QoS)分布,由于基于全网流量负载和神经网络的网络仿真系统无法体现包处理流程和调度策略,对不同到达流量模式不具备泛化能力,从而造成仿真速度和精度差。
发明内容
本申请实施例提供了一种网络系统仿真方法及相关装置,用于提升网络系统仿真的泛化能力和仿真速度。
本申请是实施例第一方面提供了一种网络系统仿真方法,该方法可以由服务器执行,也可以由服务器的部件,例如服务器的处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分服务器功能的逻辑模块或软件实现。第一方面提供的网络系统仿真方法包括:接收控制器发送的配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,其中,流量成器的配置参数用于配置流量生成器,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列,基于仿真网络计算每个网络节点的输出报文的时间序列。
本申请实施例中针对单个网络节点进行建模,单设备DNN模型学习网元设备对报文的处理机制,训练完成的单设备模型可以实现任意拓扑的组网,提升网络系统仿真的泛化能力。
一种可能的实施方式中,服务器基于仿真网络计算每个网络节点的输出报文的时间序列过程中,服务器根据迭代重排序算法确定每个网络节点的输出报文的时间序列。
本申请实施例中服务器根据迭代重排序算法确定每个网络节点的输出报文的时间序列,迭代重排序法提升了仿真结果的解释性与仿真精度。
一种可能的实施方式中,服务器根据迭代重排序算法确定每个网络节点的输出报文时间序列之前,服务器基于多图分解算法将每个网络节点划分至不同的算力单元,算力单元用于并行计算网络节点的输出报文时间序列。
本申请实施例中服务器基于多图分解算法将网络节点划分在不同的算力单元并行计算仿真结果,提升网络系统的仿真速度。
一种可能的实施方式中,服务器通过张量服务器同步不同算力单元的网络节点之间的输出报文的时间序列。
本申请实施例中通过张量服务器作为计算单元之间的共享缓存,并利用张量服务器的高效信息同步功能实现并行加速,提升了仿真系统的仿真速度。
一种可能的实施方式中,服务器根据每个网络节点的输出报文的时间序列确定每个网络节点的性能指标,性能指标包括时延、抖动或带宽。
本申请是实施例第二方面提供了一种网络系统仿真方法,该方法可以由控制器执行,也可以由控制器的部件,例如控制器的处理器、芯片、或芯片系统等执行,还可以由能实现全部或部分控制器功能的逻辑模块或软件实现。第一方面提供的网络系统仿真方法包括:向服务器发送配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列,仿真网络用于计算每个网络节点的输出报文的时间序列。
一种可能的实施方式中,控制器向服务器发送配置文件之前,控制器基于报文的时间序列训练单个DNN节点,报文的时间序列包括单个网络节点的真实报文的时间序列或离散仿真的报文的时间序列。
一种可能的实施方式中,控制器基于报文的时间序列训练单个DNN节点之后,控制器将DNN节点存储至设备模型库。
一种可能的实施方式中,控制器确定报文的时间序列,所述报文的时间序列包括真实报文时间序列或离散仿真的报文时间序列。
一种可能的实施方式中,控制器向服务器发送配置文件之后,控制器接收服务器发送的性能指标,性能指标基于输出报文的时间序列确定,性能指标包括时延、抖动或带宽。
本申请实施例第三方面提供了一种服务器,该服务器包括仿真执行单元,仿真执行单元能用于基于仿真网络计算每个网络节点的输出报文的时间序列,服务器用于执行上述第一方面所述的方法以及第一方面任意一种可能的实施方式。
本申请实施例第四方面提供了一种控制器,控制器包括设备模型器单元、设备模型库单元、流量生成器单元和仿真设置单元,设备模型器单元用于根据报文的时间序列训练单个DNN节点,设备模型库单元用于存储DNN节点,流量生成器单元用于生成每个DNN节点的输入报文的时间序列,仿真设置单元用于基于DNN节点组成仿真网络,控制器用于执行上述第二方面所述的方法以及第二方面所述的任意一种可能的实施方式。
本申请实施例第五方面提供了一种仿真装置,该仿真装置包括接口单元和处理单元。
接口单元用于接收控制器发送的配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列;
处理单元用于基于仿真网络计算每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元还用于根据迭代重排序算法确定每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元还用于基于多图分解算法将每个网络节点划分至不同的算力单元,算力单元用于并行计算网络节点的输出报文时间序列。
一种可能的实施方式中,处理单元还用于通过张量服务器同步不同算力单元的网络节点之间的输出报文的时间序列。
一种可能的实施方式中,处理单元还用于根据每个网络节点的输出报文的时间序列确定每个网络节点的性能指标,性能指标包括时延、抖动或带宽。
本申请实施例第六方面提供了一种仿真装置,该仿真装置包括接口单元和处理单元。
接口单元用于向服务器发送配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列,仿真网络用于计算每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元用于基于报文的时间序列训练单个DNN节点,报文的时间序列包括单个网络节点的真实报文的时间序列或离散仿真的报文的时间序列。
一种可能的实施方式中,处理单元用于将DNN节点存储至设备模型库。
一种可能的实施方式中,处理单元用于确定报文的时间序列,所述报文的时间序列包括真实报文时间序列或离散仿真的报文时间序列。
一种可能的实施方式中,接口单元用于接收服务器发送的性能指标,性能指标基于输出报文的时间序列确定,性能指标包括时延、抖动或带宽。
本申请实施例第七方面提供了一种仿真装置,包括处理器,处理器与存储器耦合,处理器用于存储指令,当指令被处理器执行时,以使得仿真装置执行上述第一方面的方法及第一方面任意一种可能的实施方式,或者,以使得仿真装置执行上述第二方面的方法及第二方面任意一种可能的实施方式。
本申请实施例第八方面提供了一种网络仿真系统,网络仿真系统包括上述第三方面服务器和第四方面的控制器,或者网络仿真系统包括上述第五方面的仿真装置和第六方面的仿真装置,或者网络仿真系统包括上述第七方面的仿真装置。
本申请实施例第九方面提供了一种计算机可读存储介质,其上存储有指令,指令被执行时,以使得计算机执行上述第一方面的方法及第一方面任意一种可能的实施方式,或者,以使得计算机执行第二方面的方法及第二方面任意一种可能的实施方式。
本申请实施例第十方面提供了一种计算机程序产品,计算机程序产品中包括指令,其特征在于,指令被执行时,以使得计算机实现上述第一方面的方法及第一方面任意一种可能的实施方式,或者,以使得计算机实现第二方面的方法及第二方面任意一种可能的实施方式。
可以理解,上述提供的任一种服务器、控制器、仿真装置、网络仿真系统、计算机可读介质、或计算机程序产品等所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种网络仿真系统架构示意图;
图2为本申请实施例提供的另一种网络仿真系统架构示意图;
图3为本申请实施例提供的一种网络仿真系统的仿真方法示意图;
图4为本申请实施例提供的一种网络节点的模型训练流程示意图;
图5为本申请实施例提供的另一种网络仿真系统的仿真方法示意图;
图6a为本申请实施例提供的一种网络拓扑的图分解示意图;
图6b为本申请实施例提供的另一种网络拓扑的图分解示意图;
图6c为本申请实施例提供的另一种张量服务器并行计算的示意图;
图7a为本申请实施例提供的一种网络系统仿真结果的示意图;
图7b为本申请实施例提供的另一种网络系统仿真结果的示意图;
图8a为本申请实施例提供的一种交互信令的示意图;
图8b为本申请实施例提供的另一种交互信令的示意图;
图9为本申请实施例提供的一种仿真装置的结构示意图;
图10为本申请实施例提供的另一种仿真装置的结构示意图。
具体实施方式
本申请实施例提供了一种网络系统仿真方法及相关装置,用于提升网络系统仿真的泛化能力和仿真速度。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
数字孪生是指充分利用物理模型、传感器更新、运动历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。
马尔可夫到达过程(markovian arrival process,MAP)是在概率论中用来刻画作业到达系统的间隔时间的数学模型。MAP的特例包括泊松过程(poisson process),马尔可夫调制的泊松过程(markov-modulated Poisson process,MMPP),相位型更新过程(phase-type renewal process)等随机过程。一般的MAP可以体现作业到达的相关性,是排队论中一种重要的随机过程模型。
数据包捕获(packet capture,PCAP)设备是执行独立设备的数据包捕获,可以部署在网络上的任何地方,通常布置在网络的入口和关键设备比如包含敏感信息的服务器的前面。
下面结合附图对本申请实施例提供的网络系统仿真方法及相关装置进行介绍。
请参阅图1,图1为本申请实施例提供的一种网络系统仿真的系统架构示意图。如图1所示,该网络仿真控制系统10包括设备模型器(device model utilities,DUtil)单元101、设备模型库(device model library,DLib)单元102、仿真设置(simulation setupmodule,SInit)单元103、流量生成器(traffic generation utilities,TGUtil)单元104和仿真执行(simulation Execution Module,SRun)单元105。
其中,设备模型器单元101用于产生训练好的设备模型。具体的,设备模型器单元用于根据设备的输入报文时间序列和输出报文时间序列训练设备模型,并把训练好的设备模型存储在设备模型库单元102,从而为网络性能仿真提供设备模型。
设备模型库单元102用于存储训练好的设备模型,设备模型包括交换机模型、路由模型和链路模型。
流量生成器单元104用于基于用户输入定制创建流量生成器(TGen),例如可以根据数据包捕获PCAP文件定制、也可以基于马尔可夫到达过程MAP模型参数定制。
仿真设置单元103用于根据用户输入设置仿真网络系统。用户输入包括网络拓扑、网络节点的配置参数和流量生成器的配置参数。其中,网络节点配置参数包括网络节点的设备类型和路由表。仿真设置单元103基于用户输入的网络拓扑和设备模型库单元102中存储的设备模型进行组网,并使用流量生成器生成输入张量,供深度排队网络(deep queuenet)模型进行推理。仿真设置单元103基于路由表为每个设备创建报文转发行为的张量表示。
请参阅图2,图2为本申请实施例提供的另一种网络仿真系统的架构示意图。如图2所示,网络仿真系统20包括控制器201和服务器202,其中控制器201用于向服务器202发送仿真环境的配置信息,具体的控制器201向服务器202发送配置文件,该配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数。
服务器202用于执行仿真过程并向控制器201返回仿真的结果信息,具体的,服务器202根据仿真网络和深度排队网络模型计算出输出报文的时间序列,并向控制器201返回仿真结果。
从而图2可知,控制器包括了上述设备模型器单元、设备模型库单元、仿真设置单元和流量生成器单元,服务器包括了仿真执行单元。
以上介绍了本申请实施例提供的网络仿真系统的架构,下面介绍本申请实施例提供的网络仿真方法。
请参阅图3,图3为本申请实施例提供的一种网络系统的仿真方法流程示意图。本申请实施例提供的网络系统的仿真方法包括:
301.控制器向服务器发送配置文件。
控制器向服务器发送配置文件,该配置文件用于配置仿真网络,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数。该仿真网络由网络节点根据网络拓扑组成,其中每个网络节点为控制器基于报文时间的时间序列训练的深度神经网络DNN模型(本申请也将网络节点称作DNN节点),流量生成器用于生成仿真网络中每个网络节点的输入报文时间序列。
本申请实施例中控制器向服务器发送配置文件之前,控制器会对网络节点进行单设备局部建模,即训练单设备的深度神经网络模型DNN。下面结合步骤3011至步骤3012对本申请实施例中的单设备学习流程进行介绍:
3011.控制器获取训练DNN模型的报文序列。
控制器获取训练DNN模型的报文序列,报文序列包括单设备的输入报文时间序列和输出报文时间序列,报文序列可以是某一设备真实的报文序列,也可以是通过单节点的离散仿真得到的报文序列。离散仿真所需的输入报文序列可以基于PCAP文件定制,也可以由泊松,MAP等参数定制化的流量生成模型随机生成,具体不做限定。
请参阅表1,表1为用于训练DNN模型的一个输出报文序列的内容表格。在一个示例汇总,输出报文序列包含数据信息如表1所示。
表1
3012.控制器训练单设备DNN模型。
控制器训练单个设备深度神经网络DNN模型,单设备DNN模型用于学习单设备对报文的处理机制,包括路由机制和流量管理(traffic management,TM)机制等。单设备的DNN模型训练中输入的训练数据集为输入报文序列和输出报文序列,输出结果为训练完成的DNN模型。
本申请实施例中单设备的DNN模型训练中,将报文流量抽象为时间序列,用DNN来封装设备的TM机制,预测每一个数据包在设备中的延迟,并将预测到的延迟时间序列加到到达时间序列上得到离开时间序列。上述过程是一个序列到序列(sequence to sequence,seq2seq)模型,对于序列到序列的任务,可以通过多种神经网络结构训练,神经网络结果包括递归神经网络和双向长短时记忆(bidirectional long short term memory,BLSTM)模型。在一个示例中,控制器通过翻译(transformer)架构对单设备的流量管理机制进行学习。
请参阅图4,图4为本申请实施例提供的一个单设备DNN模型训练的示意图。如图4所示,对于单个设备的DNN模型,模型的输入为报文序列(pkt stream),报文序列经过特征提取(feature extraction)输入到双向长短时记忆(bidirectional long shorttermmemory,BLSTM)模型,并经过编码(encoder)、注意力机制(attention)和解码(decoder),最后输出报文时延(pkt delays)。
请参阅表2,表2为DNN模型参数的一个示例。表2示出了训练DNN模型的时间步长、双向长短时记忆参数、多头注意力机制参数。
表2
时间步长(Time steps) | 21 |
双向长短时记忆(BLSTM) | (200,100) |
多头注意力机制(Multi-head attention) | 3,(64,32) |
3013.控制器保存单设备的DNN模型。
控制器将训练完成的DNN模型存储至设备模型库单元,控制训练完成的DNN模型的类型包括交换机模型、路由模型或链路模型。
本申请实施例中控制器基于训练完成的单设备模型进行任意拓扑组网,将数据报文流量抽象为报文的时间序列,将单个网络节点对报文的处理转化为对报文的时间序列的处理,同时对报文的处理(例如丢包、路由、转发)抽象为转发矩阵,从而实现了对不同到达流量模式的可泛化和对不同的网络流量机制的可泛化,提升网络系统仿真的泛化能力。
302.服务器根据配置文件计算网络节点的输出报文的时间序列。
服务器接收控制器发送的配置文件之后,服务器将基于设备模型库单元中训练好的设备DNN模型和配置文件给定网络拓扑组成仿真网络。服务器通过流量生成器单元创建的流量生成器生成输入张量,该输入张量用于供深度排队网络(deep queue net)模型进行推理,仿真设置单元为每个网络节点的设备创建报文转发的张量表示。具体的,流量生成器生成每个网络节点的输入报文的时间序列,仿真执行单元基于仿真网络确定输出报文的时间序列。
本申请实施例中服务器根据迭代重排序算法确定每个网络的输出报文时间序列。下面结合图5对本申请实施例中迭代排序算法确定输出报文时间序列的过程进行介绍。
请参阅图5,图5为申请实施例提供的一个迭代重排序算法的流程示意图。如图5所示,迭代重排序算法的一个流程包括;
3021.服务器获取输入报文时间序列、网络拓扑和网络节点的配置参数。
服务器获取迭代重排序算法的输入,迭代重排序算法的输入包括网络拓扑、网络节点的配置参数和每个网络节点的输入报文时间序列。其中,网络拓扑和网络节点的配置参数通过服务器接收的配置文件获取,网络节点的输入报文的时间序列由流量生成器生成。
3022.服务器执行迭代重排序算法。
服务器在仿真网络执行迭代重排序算法,具体的,在仿真执行单元中执行。迭代重排序算法用于网络性能仿真,迭代排序算法以用户输入的到达流量模式、输入报文的时间序列、网络拓扑、网络节点的配置为输入,以每个网络节点的输出报文时间序列为输出。
本申请实施中服务器在获取用户的配置文件后,自动加载对应的单设备DNN模型和流量生成器对用户的仿真网络进行配置。网络配置完成后,服务器将自动执行迭代重排序算法,并根据多重图分解算法的结果将迭代算法部署在分布式的算力单元上进行并行加速。迭代重排序算法的每一轮迭代,算力单元通过张量服务器进行信息同步。仿真结束后,张量服务器将仿真结果传输给控制器供后续性能分析使用。
本申请实施例通过全网迭代重排序算法解决组网过程中出现的报文级别时序问题,迭代重排序算法渐进式生成跨节点的报文时间序列和转发矩阵,利用多次迭代梳理数据包级别次序。迭代重排序算法迭代更新各链路流量信息的单节点模型,以使得路由矩阵将在拓扑路径的最大跳数次迭代后收敛,本申请实施例中迭代重排序算法提升了仿真的准确度。
本申请实施例中服务器基于多图分解算法将每个网络节点划分至不同的算力单元,算力单元用于并行计算网络节点的输出报文时间序列。图分解问题目的是找出图中具有某种共性的聚类节点,从而在图分割性能和时间复杂度上取得平衡。具体的,服务器利用多重图分解算法将仿真网络根据分布式服务器集群的算力和目标函数分解成多个小部分,然后将分片后的网络部署在分布式的算力单元上,利用张量服务器间的信息同步实现进行并行计算。
下面结合附图对本申请实施例中的图分解算法以及利用张量服务器并行计算的过程进行介绍。
请参阅图6a,在图6a所示的一个示例中,网络拓扑为6x6的2D-Torus拓扑,假设各设备的数据报文由同一个MAP模型参数定制产生。如图6a所示,服务器将网络节点划分在4个算力相同的图形处理器GPU单元上。
请参阅图6b,在图6b所示的另一个示例中,网络拓扑为k-ary FatTree拓扑,网络节点的设备模型为k-port交换机模型。服务器将网络节点划分在4个相同算力单元上。
请参阅图6c,图6c为服务器采用张量服务器进行并行计算的结构示意图。如图6c所示,服务器采用张量服务器来作为计算单元之间的共享缓存,支持算力单元参数同步。本申请实施例中,张量服务器支持远程直接数据存储(remote direct memory access,RDMA)及GPU Direct RDMA等网络传输协议。
本申请实施例中张量服务器可以部署在同一个物理机中,也可部署在具备网络连接的远端物理机上,具体不做限定。
本申请实施例通过数据驱动的图分解算法,考虑划分特征(例如模块度矩阵、马尔科夫矩阵)和多目标优化(例如特征重构、生成对抗和聚类正则),将网络拓扑根据分布式集群的算力及目标函数分解成多个小部分。
本申请实施例通过图分解算法将网络节点分布在不同的算力单元并行计算,提升了网络仿真的计算速度。
3023.服务器确定输出报文的时间序列。
服务器基于迭代重排序算法计算输出报文的时间序列。
303.服务器向控制发送仿真网络的性能指标。
服务器根据输出报文的时间序列确定出仿真网络的性能指标,仿真网络的性能指标包括时延和抖动。
请参阅图7a,图7a为本申请实施例提供的一种网络性能的仿真结果示意图。在图7a所示的示例中,网络拓扑为6x6的2D Torus拓扑、网络节点的设备模型为5-port交换机模型,训练数据集为云虚拟现实(cloud VR)流量序列(trace),预测数据集为随机泊松(poisson)流量序列(trace)。如图7a所示,其中(a)图为时延性能的仿真结果,(b)图为抖动性能的仿真结果,(c)图为99%百分数下时延性能仿真结果,(d)图为99%百分数下抖动性能仿真结果。从图7a中可以看出本申请实施例中得到的结果与离散事件仿真结果(groundtruth)非常接近。
请参阅图7b,图7b为本申请实施例提供的另一种网络性能的仿真结果示意图。在图7b所示的示例中,网络拓扑为4-ary FatTree拓扑,该网络拓扑共计4个集群,4个核心交换机(core switch),8个聚合交换机(aggregation switch),8个边缘交换机(edgeswitch),16个主机(host)。网络节点的设备模型为4-port交换机模型,训练数据集为云虚拟现实(cloud VR)流量序列(trace),预测数据集为随机泊松(poisson)流量序列(trace)。如图7b所示,其中(a)图为时延性能的仿真结果,(b)图为抖动性能的仿真结果,(c)图为99%百分数下时延性能仿真结果,(d)图为99%百分数下抖动性能仿真结果。从图7a中可以看出本申请实施例中得到的结果与离散事件仿真结果(ground truth)非常接近。
下面对本申请实施例中涉及的交互信令进行介绍,本申请实施例涉及两种交互信令,包括控制器发送的信令和服务器发送的信令。
请参阅图8a,图8a为控制器发送的信令示意图。如图8a所示,信令类型1为控制器向服务器发送配置文件的信令。信令类型1用于仿真设置,从控制器向服务器发送环境配置信息,环境配置信息包括:流量生成器的配置参数信息、网络拓扑信息和网络节点的配置参数信息。其中网络节点的配置参数信息给出了设备DNN模型和相关参数。
请参阅图8b,图8b为服务器发送的信令示意图。如图8b所示,信令类型2为服务器向服务器发送的信令或服务器向控制器发送的信令。信令类型2用于仿真进行阶段,从服务器向服务器发送仿真输出信息,以及在最后的仿真结束阶段,从服务器向控制器发送最终的仿真输出信息。仿真输出信息为输出报文的时间序列。在仿真进行阶段,每一轮迭代,各设备的输出报文的时间序列会进行重排序,因此流量中报文时间戳不断刷新,直到仿真结束确定最终的输出报文的时间序列。
请参阅表3,表3为上述两种信令的中的元数据的释义表。
表3
以上介绍了本申请实施例提供的网络系统仿真方法,下面结合附图介绍本申请实施例涉及的相关装置。
请参阅图9,图9为本申请实施例提供的一种仿真装置示意图。该仿真装置用于实现上述各实施例中对应上述控制器或服务器的各个步骤,如图9所示,该仿真装置900包括接口单元901和处理单元902。
在一个实施例中,该仿真装置900用于实现上述各实施例中对应服务器的各个步骤:
接口单元901用于接收控制器发送的配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列;
处理单元902用于基于仿真网络计算每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元902还用于根据迭代重排序算法确定每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元902还用于基于多图分解算法将每个网络节点划分至不同的算力单元,算力单元用于并行计算网络节点的输出报文时间序列。
一种可能的实施方式中,处理单元902还用于通过张量服务器同步不同算力单元的网络节点之间的输出报文的时间序列。
一种可能的实施方式中,处理单元902还用于根据每个网络节点的输出报文的时间序列确定每个网络节点的性能指标,性能指标包括时延、抖动或带宽。
在另一个实施例中,该仿真装置900用于实现上述各实施例中对应控制器的各个步骤:
接口单元901用于向服务器发送配置文件,配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,配置文件用于服务器配置仿真网络,仿真网络由网络节点根据网络拓扑组成,网络节点为基于报文的时间序列确定的深度神经网络DNN节点,流量生成器用于生成每个网络节点的输入报文的时间序列,仿真网络用于计算每个网络节点的输出报文的时间序列。
一种可能的实施方式中,处理单元902用于基于报文的时间序列训练单个DNN节点,报文的时间序列包括单个网络节点的真实报文的时间序列或离散仿真的报文的时间序列。
一种可能的实施方式中,处理单元902用于将DNN节点存储至设备模型库。
一种可能的实施方式中,处理单元902用于确定报文的时间序列,所述报文的时间序列包括真实报文时间序列或离散仿真的报文时间序列。
一种可能的实施方式中,接口单元901用于接收服务器发送的性能指标,性能指标基于输出报文的时间序列确定,性能指标包括时延、抖动或带宽。
可选地,上述通信装置还可以包括存储单元,该存储单元用于存储数据或者指令(也可以称为代码或者程序),上述各个单元可以和存储单元交互或者耦合,以实现对应的方法或者功能。例如,处理单元902可以读取存储单元中的数据或者指令,使得通信装置实现上述实施例中的方法。
应理解以上通信装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且通信装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在通信装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由通信装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一通信装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integratedcircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当通信装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
请参阅图10,图10为本申请实施例提供的一种仿真装置示意图,用于实现以上实施例中控制器或控制器的操作。如图10所示,该仿真装置包括:处理器1010和接口1030,处理器1010与接口1030耦合。接口1030用于实现与其他设备进行通信。接口1030可以为收发器或输入输出接口。接口1030例如可以是接口电路。可选地,该通信装置还包括存储器1020,用于存储处理器1010执行的指令或存储处理器1010运行指令所需要的输入数据或存储处理器1010运行指令后产生的数据。
以上实施例中服务器或控制器执行的方法可以通过处理器1010调用存储器(可以是网络设备或终端中的存储器1020,也可以是外部存储器)中存储的程序来实现。即,控制器或服务器可以包括处理器1010,该处理器1010通过调用存储器中的程序,以执行以上方法实施例中控制器或服务器执行的方法。这里的处理器可以是一种具有信号的处理能力的集成电路,例如CPU。控制器或服务器可以通过配置成实施以上方法的一个或多个集成电路来实现。例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。或者,可以结合以上实现方式。
具体的,图9中的接口单元901和处理单元902的功能/实现过程可以通过图10所示的仿真装置1000中的处理器1010调用存储器1020中存储的计算机可执行指令来实现。或者,图9中的处理单元902的功能/实现过程可以通过图10所示的仿真装置1000中的处理器1010调用存储器1020中存储的计算机执行指令来实现,图9中的接口单元901的功能/实现过程可以通过图10中所示的仿真装置1000中的接口1030来实现,示例性的,接口单元901的功能/实现过程可以通过处理器调用存储器中的程序指令以驱动接口1030来实现。
上述仿真装置900中的接口单元901相当于仿真装置1000中的接口1030,仿真装置900中的处理单元902可以相当于仿真装置1000中的处理器1010。
在本申请的另一个实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的处理器执行该计算机执行指令时,设备执行上述方法实施例中控制器或服务器所执行的方法。
在本申请的另一个实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。当设备的处理器执行该计算机执行指令时,设备执行上述方法实施例中控制器或服务器所执行方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种网络系统仿真方法,其特征在于,包括:
服务器接收控制器发送的配置文件,所述配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,所述配置文件用于所述服务器配置仿真网络,所述仿真网络由所述网络节点根据所述网络拓扑组成,所述网络节点为基于报文的时间序列确定的深度神经网络DNN节点,所述流量生成器用于生成每个所述网络节点的输入报文的时间序列;
所述服务器基于所述仿真网络计算每个所述网络节点的输出报文的时间序列。
2.根据权利要求1所述的方法,其特征在于,所述服务器基于所述仿真网络计算每个所述网络节点的输出报文的时间序列包括:
所述服务器根据迭代重排序算法确定每个所述网络节点的输出报文的时间序列。
3.根据权利要求2所述的方法,其特征在于,所述服务器根据迭代重排序算法确定每个所述网络节点的输出报文时间序列之前,所述方法还包括:
所述服务器基于多图分解算法将每个所述网络节点划分至不同的算力单元,所述算力单元用于并行计算所述网络节点的输出报文时间序列。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述服务器通过张量服务器同步不同所述算力单元的所述网络节点之间的输出报文的时间序列。
5.根据权利要求1至4所述的方法,其特征在于,所述方法还包括:
所述服务器根据每个所述网络节点的输出报文的时间序列确定每个所述网络节点的性能指标,所述性能指标包括时延、抖动或带宽。
6.一种网络系统仿真方法,其特征在于,包括:
控制器向服务器发送配置文件,所述配置文件包括网络拓扑、网络节点的配置参数和流量生成器的配置参数,所述配置文件用于所述服务器配置仿真网络,所述仿真网络由所述网络节点根据所述网络拓扑组成,所述网络节点为基于报文的时间序列确定的深度神经网络DNN节点,所述流量生成器用于生成每个所述网络节点的输入报文的时间序列,所述仿真网络用于计算每个所述网络节点的输出报文的时间序列。
7.根据权利要求6所述的方法,其特征在于,所述控制器向服务器发送配置文件之前,所述还包括:
所述控制器基于所述报文的时间序列训练单个所述DNN节点,所述报文的时间序列包括单个所述网络节点的真实报文的时间序列或所述流量生成器生成的报文的时间序列。
8.根据权利要求7所述的方法,其特征在于,所述控制器基于所述报文的时间序列训练单个所述DNN节点之后,所述方法还包括:
所述控制器将所述DNN节点存储至设备模型库。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述方法还包括:
所述控制器确定所述报文的时间序列,所述报文的时间序列包括真实报文时间序列或所述流量生成器生成的的报文时间序列。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述控制器向服务器发送配置文件之后,所述方法还包括:
所述控制器接收所述服务器发送的性能指标,所述性能指标基于所述输出报文的时间序列确定,所述性能指标包括时延、抖动或带宽。
11.一种服务器,其特征在于,所述服务器包括仿真执行单元,所述仿真执行单元能用于基于仿真网络计算每个所述网络节点的输出报文的时间序列;
所述服务器用于执行上述权利要求1至5中任一项所述的方法。
12.一种控制器,其特征在于,所述控制器包括设备模型器单元、设备模型库单元、流量生成器单元和仿真设置单元;
所述设备模型器单元用于根据报文的时间序列训练单个DNN节点;
所述设备模型库单元用于存储所述DNN节点;
所述流量生成器单元用于生成每个所述DNN节点的输入报文的时间序列;
所述仿真设置单元用于基于所述DNN节点组成仿真网络;
所述控制器用于执行上述权利要求6至10中任一项所述的方法。
13.一种仿真装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于存储指令,当所述指令被所述处理器执行时,以使得所述仿真装置执行权利要求1至5中任一项所述的方法,或者,以使得所述仿真装置执行权利要求6至10中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有指令,其特征在于,所述指令被执行时,以使得计算机执行权利要求1至5中任一项所述的方法,或者,以使得计算机执行权利要求6至10中任一项所述的方法。
15.一种计算机程序产品,所述计算机程序产品中包括指令,其特征在于,所述指令被执行时,以使得计算机实现权利要求1至5中任一项所述的方法,或者,以使得计算机实现权利要求6至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797673.4A CN115618532A (zh) | 2021-07-14 | 2021-07-14 | 一种网络系统仿真方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797673.4A CN115618532A (zh) | 2021-07-14 | 2021-07-14 | 一种网络系统仿真方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115618532A true CN115618532A (zh) | 2023-01-17 |
Family
ID=84855085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797673.4A Pending CN115618532A (zh) | 2021-07-14 | 2021-07-14 | 一种网络系统仿真方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115618532A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230396528A1 (en) * | 2022-06-03 | 2023-12-07 | Linquest Corporation | Systems and methods for implementing a network resiliency testbed emulator |
CN118101493A (zh) * | 2024-04-18 | 2024-05-28 | 清华大学 | 智算中心网络架构的仿真寻优方法、装置、设备及介质 |
-
2021
- 2021-07-14 CN CN202110797673.4A patent/CN115618532A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230396528A1 (en) * | 2022-06-03 | 2023-12-07 | Linquest Corporation | Systems and methods for implementing a network resiliency testbed emulator |
US11909621B2 (en) * | 2022-06-03 | 2024-02-20 | Linquest Corporation | Systems and methods for implementing a network resiliency testbed emulator |
CN118101493A (zh) * | 2024-04-18 | 2024-05-28 | 清华大学 | 智算中心网络架构的仿真寻优方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | DeepNFV: A lightweight framework for intelligent edge network functions virtualization | |
CN110222005A (zh) | 用于异构架构的数据处理系统及其方法 | |
US20240205266A1 (en) | Epistemic uncertainty reduction using simulations, models and data exchange | |
CN115618532A (zh) | 一种网络系统仿真方法及相关装置 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN112468401A (zh) | 用于类脑处理器的片上网络路由通信方法及片上网络 | |
WO2022267854A1 (zh) | 量子计算任务处理方法、系统、装置及操作系统 | |
Bonaventura et al. | Discrete event modeling and simulation-driven engineering for the ATLAS data acquisition network | |
Silva et al. | An investigation of latency prediction for NoC-based communication architectures using machine learning techniques | |
CN111340192B (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
CN115828831A (zh) | 基于深度强化学习的多芯粒芯片算子放置策略生成方法 | |
Herget et al. | Design space exploration for distributed cyber-physical systems: State-of-the-art, challenges, and directions | |
Ruan et al. | Learning to collaborate by grouping: A consensus-oriented strategy for multi-agent reinforcement learning | |
CN117707795A (zh) | 基于图的模型划分的边端协同推理方法及系统 | |
CN107528731B (zh) | 应用于ns3并行仿真的网络分割优化算法 | |
CN108737130B (zh) | 基于神经网络的网络流量预测装置及方法 | |
CN115913426A (zh) | 一种虚实协同的天地一体化场景仿真系统 | |
CN115292044A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115567466A (zh) | 基于深度强化学习的时间敏感流量在线调度方法及装置 | |
CN114254735A (zh) | 一种基于分布式的僵尸网络模型构建方法和装置 | |
CN111291893A (zh) | 调度方法、调度系统、存储介质和电子装置 | |
Salamy | Network requirements for distributed machine learning training in the cloud | |
Pandit et al. | Distributed iot analytics across edge, fog and cloud | |
CN117829242B (zh) | 模型处理方法及相关设备 | |
CN118101493B (zh) | 智算中心网络架构的仿真寻优方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |