🤖 AI Summary
This work addresses the performance bottleneck in traditional databases caused by reliance on the kernel TCP stack, which becomes a CPU-intensive black box in high-speed cloud networks. To overcome this limitation, the authors propose a dual-channel networking paradigm that decouples database communication into a high-performance data channel based on user-space UDP and a reliable control channel leveraging kernel TCP. By co-designing the database with modern NIC hardware features, this approach simultaneously achieves low latency, high throughput, and strong reliability. Empirical results demonstrate that the system saturates a 200 Gbit/s network link using only three CPU cores during distributed shuffle operations and enables a replicated key-value store to process millions of messages per second.
📝 Abstract
When network links were slow, cloud and distributed database systems could rely on generic kernel abstractions and treat network communication as a black box. With today's fast cloud networks, this approach breaks down: database performance becomes limited by the CPU overhead of the kernel TCP stack. Replacing TCP with user-space UDP can reduce this overhead, but it requires reimplementing essential guarantees, such as reliability and ordering. To solve this conundrum, database systems should no longer treat networking as a black box but co-design it with database operations. We propose the bi-channel paradigm for database systems, which separates communication into two channels: A high-performance data path for latency- and bandwidth-sensitive operations, and a reliable control path for coordination and recovery. We implement the paradigm by combining user-space UDP and kernel-based TCP, though other stack combinations are possible. This design exploits modern NIC capabilities while preserving TCP's reliability. We demonstrate the paradigm's efficiency and simplicity in two representative settings: a distributed shuffle saturating 200 Gbit/s with three CPU cores, and a replicated key-value store processing millions of messages per second.