网络离散事件模拟器并行化加速研究文献综述

 2023-08-14 11:55:00

选题背景和意义:

进行计算机科学研究时,科研工作者通常会设计新的算法/理论来解决相关领域的难题,为验证所提出算法/理论的实际运作效果,通常有如下三种方法:

数学推导:利用数学理论,如算法复杂度推导,概率分析,fluid模型等等。但是用数学公式表达拥有很大的局限性,一些复杂的系统单单依靠数学模型难以得到完全准确的描述。

实际部署:将算法直接部署到真实环境中是最直接可靠的验证方式。但面临成本和风险等问题,在科研试验阶段,可实施性非常弱。

系统模拟:利用模拟器仿真是通过软件编码去模拟系统的执行过程,具有很好的描述性和可实施性。在恰当的模拟精度下,通过模拟器得到的实验结果具有很高的可信度。

模拟器有多种设计思想,其中离散事件模拟将系统随时间的变化抽象成一系列的离散事件点上的事件,通过按照事件时间顺序处理事件来演进,是一种事件驱动的仿真世界观。 离散事件仿真将系统的变化看做一个事件,因此系统任何的变化都只能是通过处理相应的事件来实现,在两个相邻的事件之间,系统状态维持前一个事件发生后的状态不变。

对于包级别计算机网络系统的模拟,数据包的接收和发送很容易通过事件进行描述,因此现有的大部分网络模拟器都是基于离散事件仿真来实现的。目前来说常用的模拟器有NS-3,OMNeT 等等,它们都被广泛应用于各种网络协议/算法的性能测试和实验观察当中。

在使用离散事件模拟器对大规模网络环境进行模拟时,比如数据中心网络(DCN),无线网络,以及Internet。这些被模拟的网络由于规模较大,节点之间的通信增加,造成频繁的数据包发送和接收,从而产生大量的事件,而且这些事件并不是一次性生成的,而是在模拟过程中不断产生的。在这种情景下,模拟器具有事件数量大,频繁插入等特点,使得模拟器执行时间变长,给网络研究人员造成了不便。

随着硬件技术的不断发展,商用CPU在单核性能上遇到了瓶颈,逐渐向着多核架构发展。这种底层计算架构的变化,使得软件开发可以通过并行化设计来提高性能,比如Web服务器通过多线程来处理客户端请求。然而,并不是所有的应用都可以并行化设计,或者说并行化性能的好坏,取决于应用本身的特性以及设计人员的设计方案的好坏。原因是并行化之后,多个执行体之间往往需要进行适当的同步,这使得同步变成额外的开销。通常来说,多个并行执行体之间隔离性越好,越不相关,不需要很多同步,软件的并行化执行效率就越高。

模拟器的思想从20世纪70年代起就开始被研究。那时的计算机还没有并行化执行能力,而现在随着多核架构的兴起,通过并行化的方式加速离散事件模拟器的执行成为加速模拟的一个重要途径。尽管已经有一些并行化的方案,但是效率比较低,且同步开销较大,并没有得到很好的效果。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。