论文部分内容阅读
数据面报文处理能力一直是制约SDN、NFV发展的关键因素,关于如何提升通用处理器报文处理能力的研究一直从未停止过。虽然DPDK等框架通过软件优化、屏蔽操作系统开销等方法大大提升了X86架构的报文处理能力,但X86处理器目前的报文处理能力仍不能满足业界的需求。RISC-V指令集是由加州大学伯克利分校设计的一款开源指令集,使用RISCV架构的处理器具有性能高、功耗低、占用面积小等特点。RISC-V指令集自诞生以来就吸引了来自全球高校、科研院所、商业公司的大量关注,基于RISC-V架构的面向各个领域的产品原型也不断问世。经过近几年的发展,RISC-V已经具有了完整的软件开发工具链,硬件SoC设计也层出不穷。由于RISC-V指令集具有芯片面积小的特点,在同样面积下能够集成更多的处理器核心,特别适合处理网络报文处理这种高可并行应用。本文首先通过实现基于RISC-V架构的SoC硬件,然后利用多种优化方法,实现了高性能的网络报文处理系统,探索了如何利用RISC-V架构加快网络报文处理的软硬件优化方法,对提升通用处理器的报文处理能力的研究提供了参考和借鉴。在硬件实现中,本文通过设计出一条全新的I/O数据通路,减少了报文处理过程中内存访问的次数,I/O设备通过Cache完成与CPU数据交换,而不再经过内存,提升了数据交换效率。在软件设计中,本文设计了一个用于管理报文的数据结构,通过该数据结构可以实现报文转发过程的零拷贝,大大减少了数据拷贝带来的性能开销,同时利用预先分配好的缓冲区,减少报文处理过程中为每个报文申请、释放内存的操作,进一步提升了处理性能。通过软硬件的优化设计,在64B小包情况下,本文设计的系统在单核RISC-V中一次转发使用约100个时钟周期,并且在系统效能、芯片占用面积等方面远优于X86架构,说明RISC-V架构作为一个全新的通用处理器架构,能够在数据面层提供新的选择。