Efficient Multicore Scaling in Software Packet Forwarding Engines
IEEE NetSoft 2018
By : Hirochika Asai
Network softwarization has accelerated the research and development of network functions on commercial off-the-shelf hardware. Multicore scalability has been a key to achieve high-performance packet forwarding engines. However, resource efficiency and bottlenecks in multicore scaling have not been discussed in the past research. Therefore, different hardware configurations sometimes encounter serious performance degradation. This paper presents a design and implementation of the forwarding engine that efficiently scales on multicore systems. Exclusive CPU core utilization and buffer management enable concurrent processing without synchronization overheads between multiple CPU cores. Our experiments demonstrate that memory access in buffer handling is the bottleneck in multicore scaling, and thus, thorough buffer management to reduce cache misses of shared CPU caches is required to debottleneck it. We also exhibit that the efficiency of CPU resource utilization could be enhanced by taking the advantage of hyperthreading that alleviate the overheads of memory access latency. The implemented forwarding engine efficiently scales and achieves 0% loss routing against 143 mega-packets per second traffic on the backbone router’s IPv4 routing table using twelve CPU cores.