Login
Newsletter
Werbung

So, 9. März 2003, 21:45

Software::Kernel

Hochperformanter Scheduler für Kernel 2.6

Gleich mehrere Lösungen für den neuen Scheduler für Kernel 2.6 sorgen im Kreise der Entwickler für Unstimmigkeit und bescheren dem User immer bessere Lösungen.

Daß der Kernel Scheduler des alten Kernels nicht zu den schnellsten seiner Art gehört, wenn viele Prozesse vorhanden sind, dürfte mittlerweile jedem bekannt sein. Der Scheduler ist eine im Prinzip einfache Funktion im Kernel, die immer dann aufgerufen wird, wenn ein Prozess auf etwas warten muss oder seine Zeitscheibe abgelaufen ist. Ihre Aufgabe ist es, nach Möglichkeit auf einen anderen Prozess umzuschalten. Falls mehrere Prozesse dafür in Frage kommen, muss einer davon nach sinnvollen Kriterien ausgewählt werden.

Bereits am Anfang der Entwicklung des Kernels 2.5 verkündete Linus Torvalds, kein Interesse an einen neuen Scheduler zu haben. Es sei eine einfache Funktion von 100 Zeilen, also vernachlässigbar gegenüber der Gesamtgröße des Kernel von 3,8 Mio. Zeilen, und ziemlich trivial. Angeregt durch Lösungen namhafter Hacker wie Ingo Molnar ließ sich der Vater von Linux dann aber zu einer neuen Lösung überreden und implementierte in die Version 2.5.2 des Kernels einen neuen Patch, der vor allem durch verbesserte Skalierbarkeit überzeugt.

Ende Januar stellte Nick Piggin eine neue Lösung vor, die vor allem bei vielen Zugriffen auf das System seine Vorteile ausspielt. Andrew Morton, der den neuen Code in seinen Kernel-Tree aufnahm, zeigte daraufhin die Vorteile des neuen I/O-Schedulers - bis zu 30 mal schnellere Zugriffe auf die Platte bei einem ständigen Zugriff auf das Dateisystem. Erste Testergebnisse können auf diesen Seiten begutachtet werden.

Die jetzige Lösung scheint Linus allerdings zufrieden zu stellen. Weitere Verbesserungen am Scheduler seien weder nötig noch anstrebenswert, so seine Aussage Ende Januar. Diese Ansicht teilte Ingo Molnar wieder einmal nicht und stellte Ende Februar einen weiteren Scheduler vor, der vor allem die Vorteile der neuen HyperThreading-Prozessoren von Intel ausnutzt und das System wiederum um ein Vielfaches beschleunigte. Eine lange Diskussion fand ihren Anfang. Vor allem Linus war mit den neuen Lösung nicht zufrieden und verteidigte das Ende Januar vorgestellte NUMA-Konzept, obgleich die Vorteile der neuen Architektur auf der Hand lagen und die Argumentation von Linus eher dürftig war (»Macht es irgendeinen Unterschied für dich? Ich weiß nicht, was dein System beinhaltet, und in Anbetracht der Tatsache, dass mein Desktop vier schnelle CPUs hat, zweifle ich, dass ich den Effekt irgendwie zu sehen bekomme.«)

Nach einer langen Diskussion, die vor allem viele Kinderkrankheiten des neuen Schedulers zum Vorschein brachte, vereinte Ingo seinen Patch mit Linus' Arbeit und stellte vor ein paar Tagen einen neuen Scheduler vor. Angesichts der Tatsache, dass der Scheduler noch nicht ausgiebig getestet wurde und auf diesem Gebiet noch nicht das letzte Wort gesprochen sein dürfte, bleibt die Zukunft um einen schnellen Scheduler unter Linux immer noch offen.

Werbung
Kommentare (Insgesamt: 42 || Alle anzeigen )
Re[2]: fader Beigeschmack (ax, Di, 11. März 2003)
Re[3]: fader Beigeschmack (Kai Lahmann, Di, 11. März 2003)
Re[2]: Hm. (Kai Lahmann, Di, 11. März 2003)
Re: Hm. (Tom, Mo, 10. März 2003)
Re[3]: OpenSource (anonymous, Mo, 10. März 2003)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung