Comparison of high-performance packet processing frameworks on NUMA

Recent studies have been concentrated on comparison of forwarding ability in multiple dimensions among different high-speed packet processing frameworks, such as PF_RING and DPDK on the whole where transmitting and receiving impact each other, without enough study on frameworks' ability for receiving or transmitting separately. Characteristics of multithreading is another hot spot as multi-core platforms play more important roles. It requires more microscopic insight into comparison of these frameworks' characteristics on multi-core platform, especially on Non-Uniform Memory Access Architecture (NUMA). This paper mainly compared DPDK and PF_RING's processing ability focusing on receiving and multithreading characteristics without transmitting in run-to-completion model and pipeline model, i.e. a kind of load balancing model. Some characteristics about how performance of PF_RING ZC and DPDK in pipeline model specifically on NUMA varies with distribution type of threads among NUMA nodes, were made insight into and concluded. For studying above, a new indicator, ρ, giving the ratio of CPU time consumed on processing per unit packets, was put forward and played an important role in above analysis. By means of ρ, one of this paper's discovery shows that two frameworks' threads' distributions types among NUMA nodes in the pipeline model contribute to different performance of traffic processing.