论文部分内容阅读
目前,仿真应用越来越向分布式、网络化发展。随着仿真应用规模的增长,系统中的节点数量、节点交互数据的规模和频率也迅速增加。网络作为仿真系统各个资源的连接器,其数据传输速度、正确率等指标成为影响仿真计算结果的关键因素。要保证基于网络的仿真组件正常运行,需要在仿真应用设计和实施阶段,测试和验证网络上各个物理设备的运转情况,也称为网络测试。网络测试的有效性依赖于网络上的流量与真实流量之间的相似程度。基于网络的大型仿真应用的网络流量数据对速度和精度要求更高。针对仿真应用开展网络流量模拟方法对于实现大型仿真应用的精确控制具有重要作用。仿真应用中的网络数据包通常由交互数据和交互指令组成,从微观角度来看,数据包承载着所有的数据信息;从更高一层角度来看,数据包之间具有关联,包含了仿真组件交互的上下文语义。因此,本文基于现有数据包生成技术,结合软硬件协同技术的成果,从数据包生成和数据流生成两个层次对网络流量生成技术开展研究。主要成果包括:1、设计了一个面向大规模仿真应用的高速网络数据包模拟重放系统。该系统基于FPGA(Field-Programmable Gate Array,现场可编程门阵列),利用其高速高精度处理能力,结合主机大容量存储空间快速存取技术,在保持FPGA处理能力的前提下,将模拟重放系统的数据文件处理能力从MB量级提升到GB量级。为了提高主机内存和网卡之间的数据传输性能,设计了一个基于PCIe(PCI Express)的DMA(Direct Memory Access,直接内存存取)高速传输引擎,通过内存映射机制,将内核内存区域映射到应用程序空间,并引入无中断轮询机制对主机和网卡的数据进行同步更新,提高了底层数据传输效率。数据包重放工具支持三级不同速率硬件的重放过程:从片上缓冲区重放,从RAM(Random Access Memory,随机存取存储器)磁盘重放和从硬盘重放。在控制数据发送精度方面,利用FPGA,提出了一种基于令牌的高精度流量发送控制方法,并将流量发送相对误差控制在10-5级别。2、设计了一种基于模拟数据流的高速网络数据生成方案。通过分析数据流的特征,提出一种基于流特征序列的数据包生成方案。基本思想是将流划分为静态特性和动态特性两部分,通过可扩展的配置接口对这两部分特性进行配置,一个配置描述了数据流的特性,另一个配置生成数据流。数据流特征序列配置通过软件实现,然后FPGA为每一个流特征序列生成相应的数据包。为了兼容各种用户协议,在数据包头部预留了部分字节的协议描述,还利用变化域表示数据流的变化模式。经过测试,该方案可以模拟高速混合数据流量,从另一个角度刻画了网络流量的特性。