论文部分内容阅读
随着“互联网+”渗透到人们生活各方面,其诸多问题日益突出。一方面期望网络速率更高,另一方面需要处理海量网络数据以解决网络优化等问题。高速报文处理软件的性能出现瓶颈,尤其在多核平台和Linux操作系统结合时。已经有越来越多的热点研究成果出现,包括Linux自身对报文处理机制改进和迭代。PF_RING、DPDK、NET-MAP是同时期诞生的高速报文处理框架,它们在技术和性能特点上互有异同。所以用户在框架选择和性能判断上也存在困难。已有文章已经对PF RING、DPDK、NET-MAP进行了多个维度的性能对比。但这方面研究还不能完全满足实际需要,且覆盖面也窄。问题包括未考虑纯报文接收场景、NUMA平台上的性能特性对比不足、多核心扩展问题研究不足等。本文首先论述并分析了现有Linux报文处理机制和关键优化技术,重点分析了 PF_RING和DPDK的优化技术异同点。然后对PF_RING和DPDK对比研究进行展开。首先简要说明当前现有研究对其研究的不足,介绍了 Run-to-completion和Pipeline模型(样式)分类,然后提出对不同框架的对比研究需要从为两模型入手并选择其中的几种精简模型做作析。本文提出一种报文处理研究分析的理想化模型——流阻分析理想模型。结合流阻模型对PF_RING和DPDK的Run-to-completion和Pipeline的精简模型进行整体性能、不同负载性能、多核性能及可扩展性进行分析和评估。再将性能问题的研究扩展到NUMA平台上,根据NUMA平台的特殊性,将PF_RING和DPDK的Run-to-completion和Pipeline的精简模型进行针对NUMA平台的分析。由此研究得到了不同框架在NUMA平台的性能特性,特别是其跨NUMA节点可扩展性和线程在NUMA节点间的分布样式对性能的影响。最后基于现有的报文处理优化技术设计了一套离线报文高速回放系统,并对回放程序中的多个参数的性能作了性能分析和优化。最后一章对全文总结并说明本文的不足和未来研究的展望。