Do we have requests that take longer, or did Linux do something dumb with thread affinity?
Do we have requests that take longer, or did Linux do something dumb with thread affinity?
In other words: if your application is at the mercy of Linux making bad decisions about what threads run where, that is a performance bug in your app.
I only know that there is one scheduler that gives you dedicated cores if you set the request and limit both to equal multiples of 1000.
If you set cpu request == cpu limits, then container will be pinned to CPU cores using cpuset command [0].
There is also a way to influence NUMA node allocation using Memory Manager [1]
[0] https://kubernetes.io/docs/tasks/administer-cluster/cpu-mana...
[1] https://kubernetes.io/docs/tasks/administer-cluster/memory-m...
Yes.
Cross-socket communications do take longer, but a properly configured NUMA-aware OS should probably have segregated threads of the same process to the same socket, so the performance should have increased linearly from 1 to 12 threads, then fallen off a cliff as the cross-socket effect started blowing up performances.