Login
Newsletter
Werbung

Di, 2. Mai 2017, 09:22

Software::Kernel

BFQ-I/O-Scheduler landet im kommenden Kernel

Der bereits seit Jahren außerhalb des Kernels entwickelte BFQ-Scheduler wird ab Linux 4.12 ein fester Bestandteil des Kernels sein. Gleichzeitig wurde der Kyber-Scheduler integriert, so dass nun gleich zwei weitere I/O-Scheduler zur Auswahl stehen.

Larry Ewing

Auch unter Linux wird der Ablauf von Zugriffen auf ein I/O-Gerät durch eine eigene Einrichtung, den I/O-Scheduler, überwacht. Der Scheduler regelt dabei die zeitliche Abfolge von Lese- und Schreibaufträgen an Festplatten und andere Speichergeräte. Noch in der Version 2.4 von Linux stellte der Festplatten-Scheduler eine einfache Funktion, bestehend aus relativ wenigen Zeilen, dar. Im Vorfeld der Entwicklung der Kernelfamile 2.6 wurde seine Funktionalität allerdings mehrmals Gegenstand von teils regen Diskussionen und Änderungen. Gleich mehrere Autoren stellten alternative Lösungen vor. Mittlerweile wuchs die Größe des aktuellen Kerns des Schedulers auf mehrere hundert Zeilen Code und mehrere unterschiedliche Scheduler stehen zur Verfügung.

Der »Budget Fair Queueing«-Scheduler, besser bekannt unter dem Namen BFQ, ist dabei keine Ausnahme und auch kein Unbekannter im Linux-Umfeld. Die Lösung basiert auf dem von Jens Axboe im Jahre 2003 vorgestelltem CFQ-Scheduler (»Completely Fair Queuing«), der bei vielen Distributionen immer noch den Standardscheduler darstellt. Wie schon CFQ nutzt auch der BFQ interne Warteschlangen für synchrone und asynchrone Zugriffe. Im Gegensatz zu der etablierten Lösung stellt BFQ aber dem zugreifenden Prozess keine festgelegte Zeiteinheit zur Verfügung, sondern ein Budget, das sich an der Anzahl der Sektoren ausrichtet. Die so definierten Budgets werden innerhalb des Schedulers in einem Budget-Scheduler verwaltet und sollen vor allem auf Desktops mit nur einem Speichergerät erheblich schnellere Zugriffe erlauben.

BFQ wird bereits seit 2010 durch Paolo Valente entwickelt und stetig um Neuerungen und Erweiterungen ergänzt. Eine Aufnahme in dem offiziellen Kernel blieb dem Scheduler allerdings verwehrt. Bis zu diesem Wochenende. Denn wie Linus Torvalds in einem Merge-Commit bekannt gab, wurde der BFQ-Scheduler an vergangenen Montag in den Entwicklungszweig des Kernels aufgenommen.

Sofern in den Tests keine unerwarteten Fehler entdeckt werden, wird der BFQ-Scheduler deshalb knapp sieben Jahre nach seinem Start ein fester Bestandteil von Linux 4.12 sein. Gleichzeitig wurde auch der relativ neue Kyber-I/O-Scheduler in den Kernel überführt. Bei Kyber handelt es sich um einen Scheduler von Omar Sandoval, der vor allem auf Multiqueue-Geräten seine Stärken ausspielen soll. Interessenten, die beide Scheduler ausprobieren wollen, finden diese im aktuellen Git-Verzeichnis von Linus Torvalds.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung