论文部分内容阅读
随着众多研究领域所需计算量快速增加,普通串行程序会达到性能瓶颈,导致仿真运行时间消耗过多,越来越不能满足人们的需求,所以通过并行程序良好地使用各种高性能多核硬件设备和并行算法来提高运行效率越来越重要,并行程序不仅能减少运行时间,还能跨越地理位置限制,通过使用集成各类型计算机设备节约成本,还能给程序增加容错能力。本文主要研究的是如何通过并行来提高网络仿真程序的运行效率。网络仿真通过对网络建模研究网络行为。快速得到网络运行状态,和网络进行改变后对整个网络的影响结果,对于网络构优化和新业务调整都具有很重要的实际意义。所以采用并行来减少仿真运行时间是研究大型复杂网络必要的手段。目前已有以NS3作为平台开发的网络模拟仿真系统,随着网络拓扑规模的扩大,仿真系统虽通过并行仿真提高了一定的仿真效率,但由于部分实现方法的一些限制,并行仿真效率的提升并不能满足数据量的提高。本文从三个方面改进模拟仿真系统中的部分并行方法,提高仿真效率:1.原异常事件调度模块在网络拓扑节点增多变复杂之后,由于实现异常事件发生的全局路由状态更新会变得极为耗时,直接极大影响了并行仿真的效率。所以我们通过优化同时刻的各类异常事件任务,来提高并行仿真效率。2.原仿真系统中使用的KL划分算法在根据SNMP数据生成的权重进行划分时,会和实际任务有一定的偏差,不能得到良好的划分仿真效率。所以我们改用Netflow数据,根据流量矩阵估计的逆过程,再通过一定的标准化处理,生成链路权重和点权重,并使用Metis算法替代原有的普通KL算法,从而改进网络划分算法。3.根据并行模式设计语言的四个步骤,设计并实现了一种生成影节点的流量分摊方法。该方法在原有综合数据网模拟仿真系统并行模块的基础上,通过判断大流量节点,生成对应影节点和相关链路,分配到单独划分并分摊原节点一半的流量任务,以此来优化并行仿真效率。其中判断大流量节点的比例值和并行的划分数是最优化效率的两个关键变量。通过实验,该方法可达到50%以上的优化效率。本文在通过以上三方面的改进仿真系统并行部分后,以某网络真实采集的流量任务,得到的测试结果看出并行仿真性能和效率得到了较明显提升。