Practical Container Scheduling: Juggling Optimizations, Guarantees, and Trade-Offs at Netflix
summary
Netflix runs Mesos frameworks Titus and Mantis and builds an open‑source Fenzo scheduler to juggle bin‑packing, locality, capacity guarantees and elasticity. Fenzo applies pluginizable hard constraints (GPU, reserved hosts), weighted fitness functions and DRF across two tiers so critical services launch immediately while Flex scales to demand; cluster sizing uses per‑app declared SLAs and avoids peak provisioning despite 5x peak-to-trough variation. Operators get JSON failure diagnostics, and planned features include evictions for noisy neighbors and automated agent rollouts.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:54Reactive stream processing: Mantis
- 2:45Container deployment: Titus
- 3:27What the cluster needs to support - Heterogeneous mix of workload
- 4:35Why juggle at all?
- 7:24Scheduling challenge in large clusters
- 8:42Our initial goals for a cluster scheduler • Multi goal optimization for task placement . Cluster autoscaling • Extensibility
- 9:53Multi goal task placement
- 13:10Security
- 13:29Capacity guarantees
- 16:36Fenzo scheduling strategy
- 19:48Fitness functions we use • CPU, memory, and network in packing
- 21:36Hard constraints we use • GPU server matching
- 22:02Soft constraints we use • Specified by individual jobs at submittime • Balance tasks of a job across availability zones
- 22:58Mixing fitness with soft constraints
- 23:48Our queues setup
- 26:49Sizing agent clusters for capacity
- 28:05Reasoning about allocation failures
- 29:41What's next?
- 32:31Questions?
related talks
58mDistributed Scheduling with Apache Mesos in the Cloud
19mKeynote: Making and Keeping Netflix Highly Available
35mSystems Scale Summer Q&A Week 1
21mHandling Traffic Spikes Through Automated Prioritized Load Shedding
44mTechniques Netflix Uses to Weather Significant Demand Shifts
46mIntro: Scheduling SIG
42mReliably shipping containers in a resource rich world using Titan
34mPatterns for building Highly Available Cluster Schedulers
