论文部分内容阅读
国产龙芯3号多核处理器具有高性能低功耗特点,主要应用于服务器、集群、网络安全设备等领域。其中,龙芯3A是我国首款四核高性能处理器,运算峰值达到16GFLOPS,功耗不超过15瓦,具有很高的性能功耗比。提高龙芯3A系统的网络性能可以促进多核龙芯3号处理器的应用推广,是很有价值的。本文主要工作和贡献如下:
1、针对龙芯3A系统的网络中断处理负载不均衡问题,本文提出并实现了中断轮转负载优化技术,有效提高了网络带宽。中断处理是网络数据接收和发送的重要环节,目前龙芯3A所有中断都由0号处理器核处理,负载很不均衡。本文分析了主流多核处理器的中断均衡处理和龙芯3A中断系统,结合龙芯3A处理器的核间中断机制,提出并实现了中断轮转负载均衡优化技术。采用中断轮转均衡优化后,龙芯3A的千兆网络带宽从原来的337.7Mbits/s提高到556.3Mbits/s,提高了64.7%,丢包率从原来的42.3%下降到7.5%。
2、针对龙芯3A多核处理器架构特点,本文实现了相对于网卡硬件协议栈“offload”技术的软件并行化处理技术,把网络中断服务和协议栈处理分开到两个不同的处理器核进行并行处理。通过并行化处理优化后,龙芯3A千兆网络带宽达到642.7Mbits/s,比未做任何优化前带宽提高了90.37%,网络数据包的协议栈处理时间从原来的135061ns下降到40044ns,处理时间降低了三分之二。
3、针对龙芯3A多核处理器架构特点,及中断处理任务相对轻而协议栈处理任务相对重的特点,在分析目前主流千兆、万兆网卡用于多核处理器系统上的并行技术的基础上,本文进一步挖掘并行处理空间,实现了软件协议栈多队列处理技术。根据数据流的源、目的IP地址和端口号组成的四元组,把数据流哈希到不同的协议栈队列中,每一个队列由一个处理器核进行处理。通过软件协议栈多队列优化,龙芯3A千兆网络带宽提高到918.3Mbits/s,已接近主流处理器千兆网络的极限速度。