Harvesting Spare CPU Resources in Container Systems
summary
HarvestContainers is a Linux kernel module plus user daemon integrated with Kubernetes that dynamically reclaims ephemeral cores from overprovisioned latency‑sensitive containers to run latency‑tolerant workloads. It uses two‑phase affinity to instantly move threads onto harvested cores then let the scheduler rebalance, employs IRQ shielding to move interrupts onto harvested cores, and sizes a buffer via the all cores busy fraction metric. Evaluation (MySQL+YCSB vs a CPU bully) shows up to 75% of unused cores harvested while keeping tail latency within 4% of standalone and cutting interrupt-induced tail inflation from 36% to 3%.
AI-written summary · about
chapters (10)
- 0:00CPU utilization in containers
- 1:01Container resource control challenges
- 3:08Harvest Containers goals
- 4:34Harvest Containers implementation
- 6:42Fast monitoring and affinity
- 7:23IRQ shielding for interrupts
- 7:45ACBF heuristic for buffers
- 9:51Evaluation setup and results
- 11:59Harvest Containers benefits
- 12:20Q&A
related talks
38mA Tale of Tail Latency: Understanding k18n CPU Requests and Limits for Sust. and Profit
16mHarvesting Memory-bound CPU Stall Cycles in Software with MSH
28mExtending Container Performance Isolation: Regulating Memory Bandwidth & Cache in...
36mMitigating Noisy Neighbours: Advanced Container Resource Management
20mGet More Computing Power by Helping the OS Scheduler
36mOptimizing Kubernetes for Low-Latency and Real-Time Containers
40mLatency hints for CFS task
39mThrottling: New Developments in Application Performance with CPU Limits
