bk99.de entertain the web since 1997

Meta nutzt Steam-Deck-Scheduler auf seinen Servern

Zusammenfassung

Auf der Linux Plumbers Conference 2025 in Tokio berichteten Meta-Ingenieure, dass Meta auf seinen Servern einen Linux-Scheduler einsetzt, der ursprünglich für Valves Steam Deck entwickelt wurde. Der Scheduler SCX-LAVD basiert auf sched_ext und erwies sich auch auf großen Servern als gut geeignet. Meta prüfte ihn als Standard-Scheduler für alle Server, die keinen speziellen Scheduler brauchen.

Was ist ein Scheduler und was ist sched_ext?

Der Scheduler entscheidet, welcher Prozess wann und auf welchem Prozessorkern laufen darf. Auf einem Spielgerät zählt, dass das Bild ohne Ruckler kommt, auf einem Server, dass viele Anfragen gleichzeitig schnell bearbeitet werden. Lange hatte Linux dafür im Wesentlichen einen Scheduler für alle Fälle.

Mit sched_ext, seit Linux 6.12 im offiziellen Kernel, lassen sich eigene Scheduler als BPF-Programme laden, ohne den Kernel neu zu bauen. LAVD steht für Latency-criticality Aware Virtual Deadline: Der Scheduler erkennt, welche Aufgaben für die Reaktionszeit entscheidend sind, und bevorzugt sie. Entwickelt wurde er von Igalia im Auftrag von Valve.

Warum das bemerkenswert ist

Dass ein Scheduler für einen Handheld mit wenigen Kernen auch auf Servern mit sehr vielen Kernen und großem Speicher gut funktioniert, war nicht zu erwarten. Meta lobte vor allem die Lastverteilung über die Grenzen von CCX und gemeinsamem Cache hinweg. Das zeigt den Wert von sched_ext: Ideen lassen sich schnell ausprobieren und zwischen ganz unterschiedlichen Einsatzgebieten austauschen.

Ideen

  • Eigene Scheduler lassen sich als BPF-Programme zur Laufzeit laden.
  • Latenzkritische Aufgaben werden erkannt und bevorzugt.
  • Ein Scheduler aus einem Einsatzgebiet kann in einem ganz anderen nützen.

Einsichten

  • Austauschbare Komponenten beschleunigen Experimente im Kernel erheblich.
  • Gute Ideen wandern zwischen Spielgeräten und Rechenzentren in beide Richtungen.

Fakten

  • sched_ext ist seit Linux 6.12 Teil des offiziellen Kernels.
  • Der Vortrag hieß „How do we make a Steam Deck scheduler work on large servers“.

Referenzen

Bemerkungen

  • Die Folien des Vortrags sind auf der Website der Linux Plumbers Conference veröffentlicht.

Empfehlungen

  • Teste alternative Scheduler aus dem Projekt scx auf Testsystemen, bevor du sie produktiv einsetzt.
  • Miss bei Scheduler-Wechseln Latenz und Durchsatz mit deiner echten Last, nicht mit synthetischen Benchmarks allein.

Originalbeitrag lesen →

Im Webarchiv suchen