基于多核多线程技术的通信网仿真算法分析-analysis of communication network simulation algorithm based on multi-core multithreading technology.docxVIP

  • 16
  • 0
  • 约4.19万字
  • 约 59页
  • 2018-05-18 发布于上海
  • 举报

基于多核多线程技术的通信网仿真算法分析-analysis of communication network simulation algorithm based on multi-core multithreading technology.docx

基于多核多线程技术的通信网仿真算法分析-analysis of communication network simulation algorithm based on multi-core multithreading technology

第一章绪论1.1研究背景随着集成电路制造工艺水平的迅速提高和计算机微体系结构设计技术的发展和创新,微处理器的发展进入线程并行的时代。近年来Intel、IBM、以及AMD公司都不约而同地推出了在单个芯片上集成多个执行核的微处理器产品,多核处理器已经成为处理器技术的发展方向。目前,在单核处理器上,大多数的应用程序也以各种形式使用多线程技术,但在单核处理器上的多线程只能并发执行,各个线程交替执行,而不是真正的并行执行,在同一时刻只能有一个线程执行。虽然这样也能提高应用程序的性能,但因为单核上不能是真正的并行执行,而且创建线程及线程切换都会带来开销,因此利用这种方法对性能的提高极其有限。OpenMP是基于多核处理器的用于共享内存并行系统的多核多线程并行编程语言,是一种能够被用于显示指导多线程、共享内存并行的应用程序编程接口。OpenMP支持的编程语言包括C语言、C++和Fortran[1]。随着计算机技术的广泛应用及发展,网络规模变得日趋复杂庞大,网络技术的设备研发、性能评估、协议分析和规则的设计极需一个可信、可扩展和低成本的实验环境或平台。在真实的网络环境中进行性能研究、网络设计和研发不仅耗资大,而且在统计数据的收集和分析上也有一定的困难。所以人们普遍采用专门的网络仿真软件来模拟现实网络,为网络的研究、规划和设计提供良好支撑。用传统的仿真软件进行大规模网络模拟时往往需要很长时间才能完成,如果要缩短模拟时间,则必须降低模拟粒度和准确性。因此,模拟时间和保真度之间难以达到可以接受的平衡,这也成了制约大规模网络模拟的瓶颈。为了解决这个问题,人们开始寻求各种可以提高仿真软件性能的方法,以减少仿真软件的运行时间,多核多线程技术就是其中之一。NS2是一种面向对象的、离散事件驱动的,用OTcl和C++两种面向对象语言编写的网络仿真软件[2],是一种单核单线程的网络仿真器,在进行大规模网络模拟时需要单核CPU提供足够大的内存和时间,因此只适用于对较小的网络进行模拟。随着计算机网络的迅速发展,所需研究的网络规模越来越大,大规模网络离散事件模拟所需的大量计算开销及对单个处理器内存的要求让人难以接受[23,24],如100秒钟的Internet行为在1台节点机上运行需要一年。因此采用适当的手段提高网络仿真软件的性能、降低模拟所需要的时间具有其现实意义。目前基于大规模网络的仿真软件,已经开发了PDNS(ParallelNS)和NS3,OMNeT++,但上述仿真软件都有一些不足之处,还不能达到大规模网络模拟的要求。因此可以把多核多线程技术和网络仿真软件结合起来,开发和实现基于多核多线程的网络仿真软件。1.2论文课题来源本学位论文来源于南京邮电大学与国内通信公司的合作项目“IP网络仿真软件”。1.3本文的研究内容及结构本文主要研究NS2网络仿真器多线程并行计算的设计和实现。本文运用OpenMP对NS2的事件调度进行了多线程冲突避免分析,并提出了设计方案。它很好地实现了多核多线程技术和NS2网络仿真器的结合,使NS2网络仿真器能够适应大规模网络仿真的要求。本文首先概述了多核多线程技术,介绍了实现NS2多核多线程设计的硬件和软件环境。其次对现有的基于大规模网络模拟的离散事件仿真器的结构和思想进行了分析,分析了它们存在的不足之处。然后对NS2进行了详细介绍,重点剖析了NS2的离散事件仿真的工作原理,在深入理解NS2原理的基础上,根据NS2的事件调度结构进行多核多线程设计,并使用OpenMP完成对NS2程序的开发,实现了多核多线程技术的NS2网络仿真器。最后通过测试脚本对设计的多核多线程的仿真算法进行验证,并测试分析基于多核多线程实现的NS2网络仿真器的加速效果。通过分析NS2的分组流程及事件的产生和调度流程,基于NS2的事件调度结构进行多核多线程设计,并利用OpenMP来实现基于多核多线程的NS2网络仿真器是本文的主要贡献。本文共分六章,各章内容如下:第二章对多核多线程技术进行了概述,首先简单的介绍了并行计算平台、微处理器的并行计算及多核处理器的硬件结构,这为并行程序设计提供了硬件支持。然后深入的分析了OpenMP的架构,包括OpenMP的执行模型、编译指导语句、库函数和环境变量及OpenMP编程影响程序性能的主要因素。第三章首先介绍了目前应用于大规模网络模拟的多核离散事件仿真器,然后从整体上概述了NS2的层次体系结构,分裂对象模型、模拟机制及NS2模拟的一般过程。第四章详细分析了有线网络模拟分组的传送流程及事件的产生和调度流程,并根据NS2的事件调度结构进行并行性,设计并实现基于多核多线程的事件调度结构模型。第五章设计测试用的Otcl脚本,对基于OpenMP实现的NS2多核多线程仿真器的算法进行验证,并测试加速性能。第六章对本文做出总结,并对后续工作进行展望。第二

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档