Where are the bottlenecks in software packet processing and forwarding?
Hirochika Asai · 2014
We analyze the performance bottlenecks in packet processing and forwarding with general-purpose computers to achieve high-throughput and low-latency, and to guarantee service quality. In this paper, we first demonstrate that the performance bottleneck in software packet processing and forwarding is a blocking operating to access to PCIe registers with memory mapped I/O that are used to operate the head and tail pointers of ring buffers of NICs through two experiments. We then summarize the strategies to achieve high-performance software packet processing and forwarding against the bottlenecks, and develop and evaluate a prototype system with routing functionality to illustrate these strategies are effective.