Capybara: Dynamic Load Balancing with Microsecond-Scale TCP Migration
- Inho Choi ,
- Nimish Wadekar ,
- Guangda Sun ,
- Raj Joshi ,
- Joshua Fried ,
- Omar S. Navarro Leija ,
- Dan R. K. Ports ,
- Irene Zhang ,
- Jialin Li
Layer-4 load balancers are a popular solution to high tail latencies but perform poorly under unpredictable skewed workloads because they statically assign connections to servers. We present Capybara, a new load balancer architecture that enables dynamic rebalancing of established connections. Capybara divides load balancing responsibility into a fast L4 load balancer, a host-switch co-designed connection migration protocol, and a transport interface for application-level connection state migration. Capybara leverages two trends– programmable switches and kernel-bypass– to efficiently implement connection migration without disruption, while maintaining transparency to clients. Under realistic workloads, Capybara achieves up to 149× lower tail latency and more than 2× higher throughput for scale-out services compared to state-of-the-art load balancing approaches.