Hi All,
Are there any papers around modifying kernel scheduler at runtime based on the workload deployed? While CFS is good but it may not make the best possible decisions on a server that runs 1 or 2 microservices
LWN: https://lwn.net/Articles/873244/
Google: https://lpc.events/event/11/contributions/954/
FB: https://lore.kernel.org/bpf/20210916162451.709260-1-guro@fb.com/ , https://github.com/rgushchin/atc
You’re welcome
Also a review of Google’s ghOSt: https://www.micahlerner.com/2021/12/28/ghost-fast-and-flexible-user-space-delegation-of-linux-scheduling.html
I don’t think anything has been upstreamed so far, and there is quite a bit of overlap/potential for cooperation betwen Google’s and FB’s work, so it will probably take a while to shake out.
My 2c is that if you really, really need to adaptively change the scheduler, then maybe you are not using the proper scheduler. A scheduler is by its nature adaptive to its workload and if this doesn’t cope, maybe one should rather create a new scheduler or patch an existing scheduler that can cope with the new kind of workload, otherwise is just another abstraction bandaid on top of a lacking implementation (in this case lacking being the current schedulers that allegedly need to be juggled)