Abstract
It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe - a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.
Original language | English |
---|---|
Article number | 8541105 |
Pages (from-to) | 2734-2747 |
Number of pages | 14 |
Journal | IEEE/ACM Transactions on Networking |
Volume | 26 |
Issue number | 6 |
DOIs | |
State | Published - Dec 2018 |
Keywords
- optimization
- OS network stack
- Software router