Meta Is Using The Linux Scheduler Designed For Valve's Steam Deck On Its Servers (phoronix.com) 17
Phoronix's Michael Larabel writes: An interesting anecdote from this month's Linux Plumbers Conference in Tokyo is that Meta (Facebook) is using the Linux scheduler originally designed for the needs of Valve's Steam Deck... On Meta Servers. Meta has found that the scheduler can actually adapt and work very well on the hyperscaler's large servers. [...]
The presentation at LPC 2025 by Meta engineers was in fact titled "How do we make a Steam Deck scheduler work on large servers." At Meta they have explored SCX_LAVD as a "default" fleet scheduler for their servers that works for a range of hardware and use-cases for where they don't need any specialized scheduler. They call this scheduler built atop sched_ext as "Meta's New Default Scheduler."
LAVD they found to work well across the growing CPU and memory configurations of their servers, nice load balancing between CCX/LLC boundaries, and more. Those wishing to learn more about Meta's use and research into SCX-LAVD can find the Linux Plumbers Conference presentation embedded below along with the slide deck (PDF).
The presentation at LPC 2025 by Meta engineers was in fact titled "How do we make a Steam Deck scheduler work on large servers." At Meta they have explored SCX_LAVD as a "default" fleet scheduler for their servers that works for a range of hardware and use-cases for where they don't need any specialized scheduler. They call this scheduler built atop sched_ext as "Meta's New Default Scheduler."
LAVD they found to work well across the growing CPU and memory configurations of their servers, nice load balancing between CCX/LLC boundaries, and more. Those wishing to learn more about Meta's use and research into SCX-LAVD can find the Linux Plumbers Conference presentation embedded below along with the slide deck (PDF).
What is this... (Score:5, Funny)
Now we know what these many GPUs are for (Score:3)
Re: (Score:2)
If someone is commissioning a billion dollar GPU scale-up and not asking "Can this thing play Crysis" , then one is GPUing wrong.
Is it written in Rust? (Score:2, Funny)
That is all that seems to matter these days.
Re: Is it written in Rust? (Score:2)
Re: (Score:2)
In your head that is all that seems to matter sure. The rest of the world doesn't give a shit about focusing on one silly culture war.
Re: (Score:2)
Not likely. Rust will provide very little benefit for schedulers here as the data structures and memory management tasks are minimal. The scheduler's job is to pick the next task among all the runnable tasks, so it's got a fixed list of tasks to look at and all the structures are static in size.
Rust might be useful to the processes around the scheduler - managing the task structures and such, but that code is likely bulletproof simply because it's been hammered on for decades so all the weird edge cases hav
Wait (Score:3)
"An interesting anecdote from this month's Linux Plumbers Conference in Tokyo is that Meta (Facebook) is using the Linux scheduler..."
Wait. Meta is Facebook??
That's insightful, right there, I don't care who the mods are.
Wonder what Con Kolivas is up to lately (Score:2)
he kickstarted a revolution in linux scheduling. hard to believe it's been nearly 20 years since
Re: (Score:3)
Varying schedulers common on Android (Score:2)
One of the interesting things about the Android Linux scene is that it's common for distributions to have various user-selectable schedulers. This seems kind of unusual on desktop Linux.
Re: (Score:1)
Re:Varying schedulers common on Android (Score:5, Informative)
In CachyOS, you can use sched-ext (scx) to select certain schedulers at runtime, including this one (lavd):
https://wiki.cachyos.org/confi... [cachyos.org]
https://github.com/sched-ext/s... [github.com]
I haven't messed with this myself (until just now). It seems the packages are installed by default as a dep of cachyos-kernel-manager.
Re: (Score:2)
Thanks for posting that. It took a lot of additional crap and I wasn't able to build it on my stable system, only the new one, because rust is too old and I didn't want to update that out of tree. Took a handful of tweaks to kernel config too. I learned about using the "z" key in menuconfig.
Love how "cargo c" says it doesn't build object files and then compiles several projects which take ages in this project. The more I learn about the Rust world the more I say meh