TCP memory isolation on multi-tenant servers
summary
Proposes removing the global tcp_mem limit and charging TCP socket buffers to cgroup memory limits, implements a measurement mode to gather per-job TCP memory without enforcing limits, and exposes a per-cgroup opt-in/opt-out control for gradual rollout. Kernel patches port v2-style accounting into v1 fleets and add a per-CPU cache fix. Finds surprising effects: per-socket precache up to ~1MB inflates memcg usage, and a patch series causes reported 60–70% perf regressions; measurement and staged rollout catch bugs while automated load‑shaping eases user impact.
AI-written summary · about
chapters (8)
- 0:00Introduction to talk
- 1:04Background and problem overview
- 7:32Solution for memory isolation
- 11:51Deployment challenges
- 20:18Bugs from accounting changes
- 28:13Work in progress
- 33:59Conclusion and takeaways
- 35:50Q&A session
related talks
31mOn Paravirualizing TCP: Congestion Control on Xen VMs
16mR-TCP: A Framework to Optimize TCP Performance Over Rate-Limiting Networks
19mTackling DC Congestion and Bursts
13mRakaia: Scalable In-Kernel Scheduling for TCP-Based RPCs
23mACK to the Future: TCP in 2025
28mMultipath TCP hands-on on Fedora
22mAdapting TCP for Reconfigurable Datacenter Networks
21mAccelTCP: Accelerating Network Applications with Stateful TCP Offloading
