Linux 2022: Neuer Scheduler EEVDF optimiert Leistung und Gummibärchenverteilung

Das neueste Linux-Kernel-Release des Jahres 2022 hat eine ganz besondere Überraschung parat: einen frischen Scheduler, der die Leistung des Betriebssystems auf ein neues Level hebt. Nach stolzen 15 Jahren wird der altbewährte Completely Fair Scheduler (CFS) durch den neuen Earliest Eligible Virtual Deadline First (EEVDF) ersetzt. Ein Schritt, der die Herzen aller Linux-Enthusiasten höher schlagen lässt.

Der gute alte CFS hat in all den Jahren hervorragende Arbeit geleistet. Er hat die Rechenzeit zwischen den Prozessen immer schön gerecht und ausgewogen verteilt. Jeder Prozess bekam seinen fairen Anteil an CPU-Zeit, und diejenigen, die bisher weniger davon abbekommen hatten, wurden bevorzugt behandelt. Doch wie das so ist im Leben eines Betriebssystems, kommen neue Anforderungen und technologischer Fortschritt um die Ecke und machen es dem CFS nicht gerade leicht.

Mit dem EEVDF soll das nun anders werden. Der neue Scheduler wurde entwickelt, um den optimalen Einsatz der System-Caches zu gewährleisten und sicherzustellen, dass Prozesse so selten wie möglich zwischen CPUs wechseln müssen. Schließlich ist das wie der Versuch, ein Treibhaus zu betreten und dabei möglichst wenig Pflanzen umzuschubsen – nicht ganz einfach, aber machbar.

Besonders in hybriden Systemen, die verschiedene Prozessoren nutzen, wird es richtig kompliziert. Hier muss nicht nur die CPU-Zeit fair verteilt werden, sondern auch das Power-Management berücksichtigt werden. Schließlich will man ja nicht, dass der Akku beim Surfen im Netz schneller leer ist als ein Kühlschrank, der die ganze Nacht offen steht.

Der EEVDF basiert auf einer Idee von Forschern der Old Dominion University und ähnelt dem bereits vorhandenen Deadline-Scheduler im Linux-Kernel. Allerdings ist er nicht für Echtzeitaufgaben gedacht, sondern optimiert die Leistung herkömmlicher Systeme wie Desktops und Server. Er sorgt dafür, dass die CPU-Zeit gerecht verteilt wird, wobei jeder Prozess einen gleich großen Anteil abbekommt. Mit dem nice-Wert kann man dann noch ein bisschen Prioritäten setzen und die wichtigen Prozesse bevorzugen. Schließlich ist es wie beim Kuchenbacken: Die wichtigen Zutaten kommen zuerst und der Rest wird nach und nach dazu gegeben.

Der entscheidende Unterschied zum CFS liegt darin, dass der EEVDF Buch darüber führt, welche Prozesse tatsächlich die ihnen zugewiesene Rechenzeit erhalten haben. Das ist wichtig, um hardwarebedingte Verschiebungen auszugleichen. Prozesse, die zu wenig Ressourcen abbekommen haben, werden in der nächsten Runde priorisiert und früher ausgeführt. Und die, die zu viel Zeit beanspruchen, müssen sich ein bisschen hinten anstellen. Schließlich wollen wir ja nicht, dass der eine Prozess wie ein gieriges Kind alle Gummibärchen aufisst und die anderen leer ausgehen.

Der EEVDF bringt auch eine neue Prioritätskennzahl namens “latency-nice” ins Spiel. Damit können kritische Prozesse bevorzugt behandelt werden und bekommen eine schnellere Ausführung. Das ist wie eine VIP-Karte im Club: Du kommst schneller rein und musst nicht so lange anstehen wie die Normalos.

Mit dem neuen EEVDF-Scheduler haben wir also eine Lösung für die aktuellen Anforderungen an die Leistungsoptimierung von Linux-Systemen. Die CPU-Ressourcen werden intelligent verteilt, Power-Management-Aspekte berücksichtigt und die Hardware effizient genutzt. Ein Schritt in die richtige Richtung, der Linux noch schneller und leistungsstärker macht. Da können wir nur sagen: Weiter so, Linux!

Schlagwörter: LinuxKernelRelease + StandardScheduler + EEVDF

Wie bewerten Sie den Schreibstil des Artikels?
1 Star2 Stars3 Stars4 Stars5 Stars
  • 1. November 2023