System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 高性能且对用户透明的并行计算机网络仿真方法及仿真器技术_技高网
当前位置: 首页 > 专利查询>南京大学专利>正文

高性能且对用户透明的并行计算机网络仿真方法及仿真器技术

技术编号:40351397 阅读:9 留言:0更新日期:2024-02-09 14:35
本发明专利技术公开高性能且对用户透明的并行计算机网络仿真方法及仿真器,方法包括1、划分网络拓扑,每个子图作为一个普通LP;2、将负载作为离散事件插入普通LP的优先队列;创建公共LP,将全局事件存入公共LP的优先队列;3、创建新线程;4、计算普通LP的时间窗口;5、估计每个普通LP的运行时间,从未分配的普通LP中取出运行时间最长的普通LP分配给空闲线程;6、普通LP按照事件的优先级执行事件;统计网络指标;7、计算公共LP的时间窗口;8、用主线程运行公共LP;判断公共LP是否执行了仿真终止事件,若是,则输出网络指标,否则从邮箱中取出执行事件过程中产生的新事件,插入普通LP的优先队列,轮次自增1,返回步骤4。本发明专利技术提高并行仿真性能。

【技术实现步骤摘要】

本专利技术属于分布式计算系统,特别涉及并行离散事件仿真技术,尤其是一种高性能且对用户透明的并行计算机网络仿真方法及仿真器


技术介绍

1、计算机网络仿真器(下称网络仿真器或仿真器)是一种用于模拟计算机网络行为的工具。常用的网络仿真器包括ns-3、omnet++等。通过仿真而非用实际的网络硬件部署的方式,计算机网络研究人员(即用户)能够以低的成本测试新的计算机网络协议,评估计算机网络拓扑设计(参见文献1(wehrle,klaus,mesut günes,and james gross,eds.modeling and tools for network simulation.springer science&businessmedia,201 0.))。

2、传统的网络仿真器使用离散事件仿真(discrete-event simulation,des)技术,这种方法将计算机网络建模为由若干节点和若干链路组成的无向图,将计算机网络中发生的事件(包括网络数据包的发送、转发、接收、排队、重传等)建模为在离散的虚拟时间戳上发生的事件,这些事件需要按照它们的时间戳顺序从小到大逐个仿真执行(参见文献1(wehrle,klaus,mesut günes,and james gross,eds.modeling and tools for networksimulation.springer science &business media,2010.))。事件可以由用户在仿真开始前创建,也可以由另一个事件在执行过程中创建(参见文献2(fujimoto,richard m.″parallel and distributed simulation systems.″proceeding of the 2001 wintersimulation conference(cat.no.01ch37304).vol.1.ieee,2001.))。

3、一些网络仿真器还引入了并行离散事件仿真(parallel discrete-eventsimulation,简称pdes)技术。pdes要求在仿真开始前需要将网络拓扑划分为多个部分,每个部分称为一个逻辑进程(logical process,lp)且只处理属于自己的事件,pdes通过并行运行这些lp来提高仿真速度。每个lp内包括一个用于存放属于自己的未被执行的事件的优先队列,具有最小时间戳的事件拥有最高的优先级,lp运行时会依次从优先队列中取出优先级最高的事件执行。在每个lp运行的过程中还可能会产生新的事件,如果新的事件不属于当前的lp,则需要通过进程间通信插入到其实际所属的lp的优先队列中(参见文献2(fujimoto,richard m.″parallel and distributed simulation systems.″proceedingof the 2001 winter simulation conference(cat.no.01ch37304).vol.1.ieee,2001.))。

4、为了确保并行离散事件仿真过程的正确性,即事件执行的顺序不会违背事件之间的因果关系,lp之间需要遵循某种同步机制。最常被使用的同步机制是栅栏同步机制,该机制会为每个lp计算一个时间窗口,使得时间戳落在该窗口内的这些事件被所有的lp并行执行时不会违背它们的因果关系。当所有lp将这一窗口内事件全部执行完成后,该机制再为每个lp计算下一个时间窗口,如此按照轮次循环,直到仿真结束(参见文献2(fujimoto,richard m.″parallel and distributed simulation systems.″proceeding of the2001 winter simulation conference(cat.no.01ch37304).vol.1.ieee,2001.))。

5、由于现有的用于计算机网络仿真的pdes技术需要事先手动划分网络拓扑,因此其配置过程复杂,且恰当的拓扑的划分依赖于用户的经验,不恰当的拓扑划分会直接影响并行仿真的性能。此外,现有的用于计算机网络仿真的pdes技术使用的lp同步机制,在仿真大规模、高带宽、低时延的网络时会产生显著的同步开销,导致其并行效率并不高。

6、现有的使用pdes技术的网络仿真器需要用户在仿真前对网络拓扑进行手动划分。因此,将基于des的网络仿真模型迁移到pdes时,用户必须修改模型代码,将不同的网络节点分配给不同的lp以实现拓扑的划分,并汇总不同lp产生的仿真结果以合成最终的结果。这种对模型代码的修改对用户不透明,较为繁琐且容易出现错误。本专利技术的一个关键点是对网络拓扑进行自动划分,并以线程之间的共享内存替代pdes的逻辑进程之间的通信,使得拓扑划分过程和结果收集过程对用户透明,即用户无需修改des模型的代码即可将des模型迁移至pdes。

7、现有pdes技术使用的手动划分和lp同步机制,在仿真大规模(网络规模在数据中心的级别,包含超过上千个节点)、高带宽(网络链路速率在100gbps及以上)、低时延(网络链路的传播时延在微秒至纳秒级别)的网络时会产生显著的同步开销,这导致了网络仿真实验需要花费大量时间(需要数周的时间才能仿真1秒的此类网络),限制了研究人员对此类网络的研究。本专利技术的一个关键点是引入细粒度的网络拓扑自动划分算法减少网络仿真过程中的cpu缓存未命中次数,同时结合启发式的动态lp调度算法来减小lp之间的同步开销,实现高效的并行网络仿真。

8、在进行计算机网络仿真时,仿真结果的确定性对于研究的可复现、可验证性至关重要。然而,现有的基于pdes的网络仿真器在仿真执行时间戳相同的事件时存在顺序随机的问题,这会导致多次仿真的结果会因为这些事件的仿真执行顺序不同而不一致。本专利技术的一个关键点是在事件时间戳的基础上引入事件创建时的时间戳等其他指标,以此设定全序的事件优先级规则,确保仿真结果的确定性。


技术实现思路

1、本专利技术针对现有技术中的不足,提供一种高性能且对用户透明的并行计算机网络仿真方法及仿真器。

2、为实现上述目的,本专利技术采用以下技术方案:

3、一种高性能且对用户透明的并行计算机网络仿真方法,包括以下步骤:

4、步骤1、从仿真模型中读取待仿真的计算机网络拓扑结构,将计算机网络拓扑结构划分为若干个子图,每个子图作为一个普通lp;

5、步骤2、读取仿真模型的负载,将负载作为离散事件插入到每个普通lp的优先队列中;创建一个公共lp,将用户创建的全局事件存入公共lp的优先队列中;

6、步骤3、创建新的线程;

7、步骤4、计算普通lp的时间窗口,用于控制普通lp只执行在时间窗口内的事件;

8、步骤5、估计当前轮次编号下每个普通lp的运行时间,从未被分配的普通lp中取出估计运行时间最长的普通lp分配给空闲线程,依次遍历所有未被分配的普通lp,直至所有未被分配的本文档来自技高网...

【技术保护点】

1.一种高性能且对用户透明的并行计算机网络仿真方法,其特征在于,包括以下步骤:

2.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤1具体为:

3.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤4中,所述计算普通LP的时间窗口具体为:

4.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤5中,所述估计当前轮次编号下每个普通LP的运行时间的方法为:

5.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤5中,所述估计当前轮次编号下每个普通LP的运行时间的方法为:记录每个普通LP上一个轮次的实际运行时间,从第二个轮次开始后,将上一个轮次的实际运行时间作为这一轮次的运行时间的估计。

6.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤6中,所述优先队列中事件的优先级的判定规则具体为:

7.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤7中,所述计算公共LP的时间窗口具体为:

8.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤9中,所述普通LP的邮箱存放该普通LP待接收的来自其他普通LP和公共LP的事件。

9.如权利要求2所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,所述根据计算机网络拓扑结构中所有节点之间的链路的时延计算出链路时延阈值具体为:

10.一种高性能且对用户透明的并行计算机网络仿真器,其特征在于,包括:

...

【技术特征摘要】

1.一种高性能且对用户透明的并行计算机网络仿真方法,其特征在于,包括以下步骤:

2.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤1具体为:

3.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤4中,所述计算普通lp的时间窗口具体为:

4.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤5中,所述估计当前轮次编号下每个普通lp的运行时间的方法为:

5.如权利要求1所述的高性能且对用户透明的并行计算机网络仿真方法,其特征在于,步骤5中,所述估计当前轮次编号下每个普通lp的运行时间的方法为:记录每个普通lp上一个轮次的实际运行时间,从第二个轮次开始后,将上一个轮次的实际运行时间作为这一轮次...

【专利技术属性】
技术研发人员:田臣白松原郑浩
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1