Modifying kernel scheduler at runtime based on the workload deployed

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 :hugging_face:

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)