9 ms·
At Netflix, we're doing a mix of what Dan calls "CPU Pinning and Isolation" (ie, host-level scheduling controlled by user-space logic) [1] and "Oversubscriptio
by mochomocha 5y ago
At Netflix, we're doing a mix of what Dan calls "CPU Pinning and Isolation" (ie, host-level scheduling controlled by user-space logic) [1] and "Oversubscription at the cluster scheduler level" (through a bunch of custom k8s controllers) to avoid placing unhappy neighbors on the same box in the first place, while oversubscribing the machines based on containers usage patterns.
[1]: https://netflixtechblog.com/predictive-cpu-isolation-of-containers-at-netflix-91f014d856c7 https://netflixtechblog.com/predictive-cpu-isolation-of-cont...
- eternalban 5y agoThe article mentions “nice values”. What does that mean? Underutilization/under-provisioning? [p.s. thanks for the replies]
- bboreham 5y ago“nice” in Unix is a way to lower the priority of a process, so that others are more likely to be scheduled. Eg https://man7.org/linux/man-pages/man2/nice.2.html https://man7.org/linux/man-pages/man2/nice.2.html
- chrisoverzero 5y agoIt’s the kinds of values for things like `nice(2)`: https://linux.die.net/man/2/nice https://linux.die.net/man/2/nice In short, an offset from the base process priority.
- tyingq 5y agoThat's a really terrific article, thanks for sharing. I wonder if Linux will eventually tie the CPU scheduler together with the cgroup cpu affinity functionality, and some awareness of cores, smt, shared cache, etc. Seems a shame that you have to tie all that together yourself, including a solver.