基于多核技术的并行网络仿真器分析-analysis of parallel network emulator based on multi-core technology.docxVIP

  • 11
  • 0
  • 约5.23万字
  • 约 68页
  • 2018-05-18 发布于上海
  • 举报

基于多核技术的并行网络仿真器分析-analysis of parallel network emulator based on multi-core technology.docx

基于多核技术的并行网络仿真器分析-analysis of parallel network emulator based on multi-core technology

南京邮电大学学位论文原创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名: 日期: 南京邮电大学学位论文使用授权声明南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留本人所送 交学位论文的复印件和电子文档,可以采用影印、缩印或其它复制手段保存论 文。本文电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。 论文的公布(包括刊登)授权南京邮电大学研究生院(筹)办理。研究生签名: 导师签名: 日期: 第一章 前言1.1 课题背景1.1.1 网络仿真器概述近年来,随着通信网络和计算机网络应用的普及,网络的规模日益庞大,通信网络技术的 研发、网络性能评估、协议设计分析等愈益复杂,对于分析工具的要求越来越迫切。网络仿 真是以计算机技术和网络技术为基础,依据相似性原理建立一个能够模仿真实网络动态行为 的计算机模型,通过该模型对真实网络的行为变化进行数值统计与分析,作为研究、开发和 规划的技术依据。网络仿真的优点在日趋发展的信息社会已得到充分的体现,尤其是NS2、 OPNET等基于离散事件仿真的软件,在通信网络研究领域占有重要的地位[1,2]。随着技术的发展,网络越来越复杂,而且规模也逐渐增大,这使得网络仿真面临越来越 高的要求。面对大规模网络仿真的需求,已有仿真软件显现出不少局限性。提高仿真软件的 性能可以从两个方向考虑。一个方向是建立更好的数学模型,既能够提供精确的仿真结构又 能有效减少计算量。这两个要求往往是相背的,只能在两者之间做某种折中。另一个方向是 提高计算机的性能,出现了分布式的机群以及后来的多核计算机。这时并行离散事件仿真机 制被广泛地应用于分布式计算机群,此类软件有PDNS[3,4]、OPNET[5]、OMNET++[6]等,它们 均源于高级体系结构(HLA, High Level Architecture)开发的分布式并行仿真[7,8]技术。虽然这 些软件使得大规模网络仿真成为可能,但其带来的弊端也是显而易见的,如计算机利用效率 不高,划分设置的人工配置繁琐等。在多核计算机上部署这些软件效果仍然不是很理想。因 此,研究如何使用多核计算机实现高性能的软件仿真具有十分重要的意义。1.1.2 多核技术的发展随着现代社会对信息处理速度要求的提高,对计算机硬件的要求也越来越高。影响计算 机性能的核心部件是CPU,要求其有强大的处理能力。长久以来,处理器芯片都是通过提高 主频来提高处理器的性能的,但是随着芯片制程工艺的不断发展,单个芯片上的晶体管集成 度几乎达到顶峰,传统的处理器体系结构技术已经很难继续沿用下去。而且主频的提高还会 增加处理器的功耗,带来的散热问题会导致芯片运行不稳定。所以,单核处理器的处理能力 已经难以有可观的提高[9]。1在这样的背景下,各主流处理器厂商将产品战略转向多内核方面,陆续地推出了商用的 多核处理器[10]。多核处理器,也简称为多核,是将两个或更多的独立处理器核封装在一个集 成电路芯片中的实现方案。通过增加片内处理器核的个数来提升处理器整体性能的做法将会 成为未来若干年内的主流。特别是最近几年,AMD 和 Intel等公司推出了高性能的适用于个 人计算机的多核 CPU。目前多核的个人计算机已经被广泛使用。多核的普及对软件开发是一个新的挑战。软件开发者必须了解多核的架构,并编写出合 适的并行计算程序来,才能发挥多核系统最大的性能。虽然单核编程技术已经十分成熟,但 多核编程相对来说比较复杂。目前并行编程的标准大致有三类:数据并行语言标准、共享变量编程标准和消息传递库 标准。针对离散事件仿真的特性,一般采用的是后两种标准。消息传递库标准中比较典型的 有消息传递接口(MPI,Message Passing Interface)[11],在PDNS和OMNET++都有采用,比 较适合于分布式计算机。共享变量编程标准有线程库和编译制导两类。多核多线程开发工具 有Win32 线程库、pthread库以及 OpenMP[10,12]。Win32 线程库运行于WinNT和 Win9X平台, 拥有完善而复杂的函数库,目前比较成熟,但对编程人员有较高的要求;pthread库是 Linux 下最常用的多线程支持库,具有方便移植的特点,编程要求也较高;OpenMP则针对共享地址 空间的并行计算机提供并行计算支持,具有使用简单的特点,但OpenMP是编译制导,对

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档