论文部分内容阅读
随着互联网高速的发展,网络带宽迅速增长,使得对网络处理器的可编程性与多功能性要求不断增长,需要开发更完善的应用程序更好地发挥多核处理器的性能优势。然而网络处理器软件编程的灵活性和高效性并没有被很好的展现,网络处理器的并行处理能力需要兼顾硬件并行结构和软件的并行执行效率,并行网络处理能力受到了限制。因此在多核网络处理器应用开发时,需要一种有效的并行处理方法或技术来充分发掘出多核多线程架构的并行性能优势。本文研究了网络处理器中数据平面软件关键技术与实现。为了解决网络处理器软件开发中的关键问题,充分发挥多核多线程硬件结构的并行处理性能优势,本文提出了若干关键技术解决方案。基于多核多线程处理器硬件结构上的功能流水线实现方法,是在处理器之间采用的串并混合的并行流水技术,解决了传统的串行和并行结构的缺点和瓶颈,更容易保证各处理器间的负载均衡和并行调度;在此基础上提出一种基于多核多线程的并行报文任务分配调度方法来保证多个微处理器和多线程间的负载均衡、并行处理;利用硬件线程之间的同步通信方法有效保证了接收和发送处理的状态信息传递和报文保序,解决了各线程间的同步通信问题;基于共享队列结构的读锁互斥操作能够确保多处理器各线程对共享资源访问时的互斥操作。本文完成了数据平面软件关键技术研究,并完成了数据平面软件设计实现和全面的仿真性能分析。通过对数据平面软件的性能评估可知,该数据平面软件可以支持网络处理器系统实现分组存储转发的路由功能,实际统计带宽为1Gb/s。