一种NS3并行模拟仿真系统技术方案

技术编号:13158664 阅读:105 留言:0更新日期:2016-05-09 20:36
本发明专利技术公开了一种NS3并行模拟仿真系统。包括:网络分割模块,作用是进行网络分割;共享文件分发模块,作用是进行任务分发和成果共享;并行模拟仿真模块,作用是利用NS3仿真系统提供的MPI接口搭建NS3并行模拟仿真环境,使底层在仿真时使用并行调度算法,执行并行仿真。本发明专利技术具有,仿真时间短和仿真效率高的特点。

【技术实现步骤摘要】

本专利技术涉及一种仿真系统,特别是一种NS3并行模拟仿真系统
技术介绍
NS3(Network Simulator Vers1n-3)是一个综合了很多优秀模拟器特点的新型网络模拟器,NS3是免费开源的,在完备性和可扩展性等方面有独特的特点。NS3的功能丰富,集成了几十个模块,对多种网络通信模型及网络协议有很好的支持,同时也为开发者提供了丰富的接口和基类,开发者根据研究需要开发独立的模块,具有很好的扩展性。当前多数用户使用NS3模拟器进行小规模网络的网络协议仿真,现有的基于NS3的仿真应用基本将NS3作为一个串行仿真工具,对于简单的网络拓扑和任务而言,通常可以接受,而对于复杂的网络拓扑和仿真任务,串行仿真将消耗大量仿真时间。传统的NS3仿真平台大多利用单个计算节点,但对于大型复杂的流量仿真任务,单个计算节点的仿真时间随仿真流量的增加而急剧增加,特别是针对骨干网的仿真,骨干网路由设备之间的链路带宽却非常的大,可达lGB/s甚至是10GB/s,同一时刻可能会有多个路由在转发数据。对于单个计算节点,由于受CPU的限制,计算产生和转发如此多的数据包将消耗大量的计算时间,必然会影响仿真效率。
技术实现思路
本专利技术的目的在于,提供一种NS3并行模拟仿真系统。本专利技术具有,仿真时间短和仿真效率高的特点。本专利技术的技术方案:一种NS3并行模拟仿真系统,包括:网络分割模块,作用是对需要仿真的网络拓扑进行网络划分,具体为利用网络分割算法在一个计算节点上将原始完整的网络拓扑按照自己定义的网络划分数目划分成不同的网络分割区域;共享文件分发模块,作用是进行网络分割结果和网络仿真流量任务分发,任务分发具体为,计算节点通过集群系统的交换矩阵设备通信,负责网络分割的计算节点将网络分割结果告知其它所有计算节点,同时将用户配置好的网络仿真流量任务分发到相应计算节点;仿真过程当中各个计算节点各自负责分发到的流量任务,并生成相应的trace文件和PCAP文件,仿真结束后将各个计算节点上的trace文件合并获得完整仿真结果;并行模拟仿真模块,作用是利用NS3仿真系统提供的MPI接口搭建NS3并行模拟仿真环境,使底层在仿真时使用并行调度算法,执行并行仿真。前述的NS3并行模拟仿真系统中,所述的网络分割算法包括均等分割算法和非均等分割算法;所述的均等分割算法为,当网络划分数目N为偶数个时,将网络拓扑直接利用KL算法进行分割,具体为将网络拓扑分割到A和B两个网络分割区域,A和B内的网络节点数量相等或者多一个,然后不断互换A和B间的网络节点,使得A和B间的链路数量最少,互换后得A,和B,,再将A,和B,分别分割为A1,、A2,^PBi,、B2,,然后不断互换A1,和如,间'B1,和出,间的网络节点,使六! ’和六2’ ,Bi ’和出’间的链路数量最少,以此类推直至网络拓扑被分割到N个网络分割区域。前述的NS3并行模拟仿真系统中,所述的非均等分割算法为,当网络划分数目N为奇数个时,将网络拓扑分割到a和b两个网络分割区域,b内的网络节点数量为Z-Z/N,剩余为a内的网络节点数量,Z为网络节点的总量,b为单独的一个网络分割区域,此时不断交换a和b间的网络节点,直至a和b之间的链路最少,之后再将a中的网络节点按均等分割算法进行多次划分,最后获得分割结果。前述的NS3并行模拟仿真系统中,利用网络分割算法迭代运算200次以上,对比分割结果,所分割的网络分割区域间链路数量最少的分割结果接近最优分割结果。前述的NS3并行模拟仿真系统中,对网络拓扑内具有很大流量任务的网络节点赋予较大权重值,网络拓扑被分割成多个部分后,当权重值较大的网络节点被划分到同一个网络分割区域中时,将权重较大的网络节点与其他网络分割区域中的普通的网络节点进行交换,直至权重较大的网络节点均匀分布到不同的网络分割区域中,以此实现权重值较大的网络节点均匀分配到不同的网络分割区域当中。前述的NS3并行模拟仿真系统中,所述的并行模拟仿真模块的工作方法为,在执行仿真前,用户基于openmpi进行文件配置,通过mpihosts的添加修改,使NS3并行模拟仿真系统知道网络划分数目、各计算节点的IP地址和可用的CPU内核数,使用op enmp i和I i nux系统调度自行调度CPU资源进行计算,使用全局同步算法同步各个CPU计算调度,再经网络分割和任务分发使各计算节点明晰自己所要仿真的拓扑及任务,之后设定仿真起止时间开始进行并行仿真。与现有技术相比,本专利技术通过网络分割模块将网络拓扑在一个计算节点上分割成若干部分,并通过共享文件分发模块将网络分割结果告知其它所有计算节点,同时将用户配置好的网络仿真流量任务分发到相应计算节点;通过该方法,使得不同的计算节点分摊了串行仿真的计算量,在任务量急剧增加时,仿真时间并不会像串行仿真时急剧增加,从而使得仿真时间得到有效缩短;不仅如此,本专利技术对具有很大流量任务的网络节点赋予权重值,将赋予权重值的网络节点平均分配到不同的计算节点上,从而避免了多个过于消耗计算资源的网络节点过于集中分割在某个计算节点上,从而进一步降低仿真时间、提高仿真效率。本专利技术在仿真过程当中各个计算节点各自负责分发到的流量任务,并生成相应的trace文件和PCAP文件,仿真结束后将各个计算节点上的trace文件合并获得完整仿真结果;通过该方法实现了真正计算上的并行,大大提高了计算效率,而且计算量越大时,串行与并行上效率的差异越明显。相较于串行仿真,在很大的发包量级下,各个仿真任务的并行仿真效率均有提升,在一对一任务下仿真的效率最多提升了55%,多对一任务下仿真效率最多提升了61%,多对多任务下仿真效率最多提升了66%,压力测试下仿真效率最多提升了76%,而且仿真任务越复杂,仿真效率提升越明显。本专利技术在进行通过网络分割算法将原始完整的网络拓扑信息进行分割,并对分割结果进行200次以上的迭代运算得到接近最优分割结果;通过该方法,使得仿真的结果更加接近实际结果,从而提高了仿真结果的精确度与可靠度。【附图说明】图1是网络分割的总体流程图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的说明,但并不作为对本专利技术限制的依据。实施例1。一种NS3并行模拟仿真系统,包括:网络分割模块,作用是进行网络分割(如图1所示),具体是对需要仿真的网络拓扑进行网络划分,具体为利用网络分割算法在一个计算节点上将原始完整的网络拓扑按照自己定义的网络划分数目划分成不同的网络分割区域;一个计算节点为集群系统的一个刀片服务器;网络划分数目根据执行仿真的刀片服务器的数量确定;每个网络分割区域内包含一个刀片服务器;共享文件分发模块,作用是进行网络分割结果和网络仿真流量任务分发,任务分发具体为,计算节点通过集群系统的交换矩阵设备通信,负责网络分割的计算节点将网络分割结果告知其它所有计算节点,同时将用户配置好的网络仿真流量任务分发到相应计算节点;仿真过程当中各个计算节点各自负责分发到的流量任务,并生成相应的trace文件和PCAP文件,仿真结束后将各个计算节点上的trace文件合并获得完整仿真结果;并行模拟仿真模块,作用是利用NS3仿真系统提供的MPI接口搭建NS3并行模拟仿真环境,使底层在仿真时使用并行调度算法,执行并行仿真。前述的网本文档来自技高网...
一种NS3并行模拟仿真系统

【技术保护点】
一种NS3并行模拟仿真系统,其特征在于,包括:网络分割模块,作用是对需要仿真的网络拓扑进行网络划分,具体为利用网络分割算法在一个计算节点上将原始完整的网络拓扑按照自己定义的网络划分数目划分成不同的网络分割区域;共享文件分发模块,作用是进行网络分割结果和网络仿真流量任务分发,任务分发具体为,计算节点通过集群系统的交换矩阵设备通信,负责网络分割的计算节点将网络分割结果告知其它所有计算节点,同时将用户配置好的网络仿真流量任务分发到相应计算节点;仿真过程当中各个计算节点各自负责分发到的流量任务,并生成相应的trace文件和PCAP文件,仿真结束后将各个计算节点上的trace文件合并获得完整仿真结果;并行模拟仿真模块,作用是利用NS3仿真系统提供的MPI接口搭建NS3并行模拟仿真环境,使底层在仿真时使用并行调度算法,执行并行仿真。

【技术特征摘要】

【专利技术属性】
技术研发人员:任阳阳袁进李源陆飙陈利民王玮陈奎任杨耀张猛撒兴杰熊铖李由郑元伟龙诺亚张菡李伯森刘毅黎皓张祥忠刘晓波于富财
申请(专利权)人:贵州电网公司信息通信分公司电子科技大学
类型:发明
国别省市:贵州;52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1