5 ms·
I'm more surprised that the scheduler made for a handheld gaming console is also demonstrably good for Facebook's servers.
by kstrauser 10mo ago
I'm more surprised that the scheduler made for a handheld gaming console is also demonstrably good for Facebook's servers.
- bigyabai 10mo agoI mean, part of it is that Linux's default scheduler is braindead by modern standards: https://en.wikipedia.org/wiki/Completely_Fair_Scheduler https://en.wikipedia.org/wiki/Completely_Fair_Scheduler
- accelbred 10mo agoCFS was replaced by EEVDF, no?
- phdelightful 10mo agoParent's article says > Starting from version 6.6 of the Linux kernel, [CFS] was replaced by the EEVDF scheduler.[citation needed]
- 0x1ch 10mo agoI vaguely remember reading when this occurred. It was very recent no? Last few years for sure. > The Linux kernel began transitioning to EEVDF in version 6.6 (as a new option in 2024), moving away from the earlier Completely Fair Scheduler (CFS) in favor of a version of EEVDF proposed by Peter Zijlstra in 2023 [2-4]. More information regarding CFS can be found in CFS Scheduler.
- jorvi 10mo agoUltimately, CPU schedulers are about choosing which attributes to weigh more heavily. See this[0] diagram from Github. EEVDF isn't a straight upgrade on CFS. Nor is LAVD over either. Just traditionally, Linux schedulers have been rather esoteric to tune and by default they've been optimized for throughput and fairness over everything else. Good for workstations and servers, bad for everyone else. [0]https://tinyurl.com/mw6uw9vh https://tinyurl.com/mw6uw9vh
- 3eb7988a1663 10mo agoPart of that is the assumption that Amazon/Meta/Google all have dedicated engineers who should be doing nothing but tuning performance for 0.0001% efficiency gains. At the scale of millions of servers, those tweaks add up to real dollar savings, and I suspect little of how they run is stock.
- Anon1096 10mo agoThis is really just an example of survivorship bias and the power of Valve's good brand value. Big tech does in fact employ plenty of people working on the kernel to make 0.1% efficiency gains (for the reason you state), it's just not posted on HN. Someone would have found this eventually if not Valve. And the people at FB who worked to integrate Valve's work into the backend and test it and measure the gains are the same people who go looking for these kernel perf improvements all day.
- ranger207 10mo agoA lot of scheduler experimentation has been enabled by sched_ext: https://lwn.net/Articles/922405/ https://lwn.net/Articles/922405/
- giantrobot 10mo agoLatency-aware scheduling is important in a lot of domains. Getting video frames or controller input delivered on a deadline is a similar problem to getting voice or video packets delivered on a deadline. Meanwhile housecleaning processes like log rotation can sort of happen whenever.