Verschiedene neue Prozess-Scheduler für Linux zur Diskussion

Die Linux-Entwickler diskutieren derzeit ausgiebig zwei Prozess-Scheduler aus einer Reihe von Neuentwicklungen als Ersatz für den bisherigen O(1)-Scheduler; die neuen Scheduler sollen das Reaktionsverhalten bei Desktop-Systemen verbessern.

In Pocket speichern vorlesen Druckansicht 250 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Thorsten Leemhuis

Einige Kernel-Entwickler arbeiten an einem Ersatz für den O(1)-Prozess-Scheduler des Kernels, der während der Entwicklung von Linux 2.5 eingeführt wurde und für die Zuteilung von CPU-Zeit an die verschiedenen Prozessen verantwortlich ist. Noch vor einigen Wochen sah es so aus, dass die Linux-Programmierer nach der Entwicklung der Kernel-Version 2.6.21, die sich gerade in der Endphase befindet, auf den maßgeblich von Con Kolivas vorangetriebenen RSDL-Scheduler (Rotating Staircase DeadLine) umschwenken wollten. Er ist eine von Grund auf neue Entwicklung, die Ideen des Staircase CPU Scheduler aufgreift; beide sollen im Desktop-Betrieb ein besseres Reaktionsverhalten zeigen als der Standard-Scheduler. Zudem soll RSDL einfacher gehalten sein – im aktuellen Scheduler kamen mit der Zeit zahlreiche Sonderbehandlungen für bestimmte Anwendungsszenarien hinzu, die den Code aufblähten und schwer wartbar machten.

In Tests wurden jedoch einige Arbeitsumgebungen gefunden, wo der RSDL deutlich schlechter als der bisherige Scheduler arbeiten soll; das schmälerte die Chancen von RSDL auf die Integration in 2.6.22. Nun stellte der bei Red Hat angestellte Hacker und Entwickler des O(1)-Prozess-Scheduler Ingo Molnar mit dem Modular Scheduler Core and Completely Fair Scheduler (CFS) einen neuen Scheduler vor. Er greift etwa die strikte Fairness-Idee von RSDL auf, enthält aber auch Neues, darunter hierarchisch angelegte Scheduler-Klassen, die unterschiedliche Scheduler-Strategien bieten können.

Der Scheduler von Molnar und einige seiner Ideen wurde von einigen Entwicklern begrüßt und von Testern gelobt – Molnar, der mittlerweile die zweite CFS-Version vorgestellt hat, musste sich aber in der Diskussion auch verteidigen. Er hätte laut der Ansicht einiger Entwickler mit Con Kolivas zusammenarbeiten sollen, anstatt etwas Eigenes von Grund auf neu zu programmieren. Andere Entwickler verteidigten jedoch den Ansatz des Red-Hat-Entwicklers, der CFS laut eigener Aussage in nur [Update]drei[/Update] Tagen programmierte.

CFS und RSDL sind derzeit wohl die prominentesten und am meisten diskutierten Scheduler – es gibt aber noch andere, die in den vergangenen Monaten von verschiedenen Programmierern entwickelt wurden. Den derzeitigen Scheduler dürfte aber nur einer beerben, da sich Torvalds und einige andere Entwickler gegen die Aufnahme mehrere Prozess-Scheduler ausgesprochen haben. Welcher letztendlich das Rennen macht, dürfte sich in den nächsten Wochen während der Entwicklung der Kernel-Revisionen 2.6.22 und 2.6.23 zeigen. (thl)