论文部分内容阅读
TCP(Transmission Control Protocol)是互联网中的一个重要协议,在互联网中得到了广泛的应用。提升TCP服务的性能可以降低服务器集群的数量,降低功耗,具有很高的商业价值和环保意义。目前以太网的发展速度远高于存储器和CPU的发展速度,存储器访问和CPU处理网络协议已经成为TCP的性能瓶颈。网络带宽的不断增大对CPU造成了沉重的负担,通过优化TCP处理机制,可以降低主机开销,提升TCP性能。传统优化TCP处理机制的方法中,协议处理仍由主机CPU执行。TOE(TCP Offload Engine)将TCP协议处理的功能完全卸载到网卡中执行,极大的提高端系统TCP性能,但其实现特别复杂,并且存在安全性和兼容性问题。LRO(Large Receive Offload)技术通过合并数据报文减少协议栈处理报文的数量,降低CPU开销,但其工作在网卡驱动程序层面,报文合并工作仍由主机CPU执行,不能很大程度上减轻CPU的负担。针对TOE和LRO技术的缺点,本文提出使用多核NPU作为网卡卸载TCP乱序报文重组功能、合并报文加速TCP的技术,本文主要工作如下:(1)首次提出使用多核NPU作为网卡,卸载TCP乱序报文重组功能,并将同一个TCP连接上的数据报文合并后交由内核协议栈处理,减少协议栈处理报文的数量和网卡产生中断的数量,提升端系统TCP性能的技术。(2)设计了系统的框架结构和功能组成,并针对多核NPU的特点提出多接收报文描述符环、合并报文校验和计算优化、接收报文处理线程DMA负载均衡、主动ACK机制等系统优化技术。(3)基于XLS416开发平台实现系统,并在10Gbps网络环境中测试其性能,取得4.9Gbps的TCP接收数据吞吐量。