Lesezeit ca. 4 Min.
arrow_back

Benchmarks: I/O-Scheduler


Logo von LinuxWelt
LinuxWelt - epaper ⋅ Ausgabe 6/2021 vom 24.09.2021

Systemoptimierung

Mit den größten Einfluss auf die Gesamtperformance eines Computersystems haben Datenträgerzugriffe. Auch bei Unmengen RAM und einer flotten CPU müssen laufende Prozesse häufiger auf die Abarbeitung von Schreibzugriffen warten. Nicht nur langsame Speichertechniken wie mechanische Festplatten sind damit der Flaschenhals eines Systems. Der Arbeitsspeicher ist bei DDR3-Modulen mit etwa 12 800 MB/ Sekunde Datendurchsatz immer noch 15- bis 20-mal schneller als ein flottes NVME- Laufwerk von 2021. I/O-Scheduler (kurz für „Input/Output-Scheduler“) organisieren Lese- und Schreiboperationen des Betriebssystems in eine optimierte Reihenfolge.

Allerdings haben NVME-Laufwerke nicht nur die kürzesten Latenzen unter allen Datenträgertypen, sondern bieten Parallelität bei Zugriffen und können diese über die ihre interne Controllerlogik selbst organisieren. Der Beitrag geht der Frage nach, ob die ...

Artikelbild für den Artikel "Benchmarks: I/O-Scheduler" aus der Ausgabe 6/2021 von LinuxWelt. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: LinuxWelt, Ausgabe 6/2021

Weiterlesen
epaper-Einzelheft 6,99€
NEWS Jetzt gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von LinuxWelt. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1050 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 6/2021 von 15 Jahre Linux Mint!. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
15 Jahre Linux Mint!
Titelbild der Ausgabe 6/2021 von Auf DVD: Fünfmal Linux. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Auf DVD: Fünfmal Linux
Titelbild der Ausgabe 6/2021 von Solus 4.3. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Solus 4.3
Mehr Lesetipps
Blättern im Magazin
Neue Software
Vorheriger Artikel
Neue Software
Barrier: Maus & Tastatur teilen
Nächster Artikel
Barrier: Maus & Tastatur teilen
Mehr Lesetipps

... gezielte Wahl des I/O-Schedulers auf aktuellen Linux-Systemen trotzdem noch messbare Geschwindigkeitsvorteile bringt und ob diese speziell bei NVMEs überhaupt noch relevant sind.

Scheduler sind kein alleiniges Merkmal von Linux, sondern Bestandteil nahezu aller Betriebssysteme. Der Linux-Kernel hat allerdings mehrere zur Auswahl, die je nach Datenträgerart die beste Leistung bieten sollen. Wie andere Aspekte des Linux-Kernels auch, unterliegen Scheduler einer stetigen Entwicklung und es gibt immer wieder mal neue Ansätze, die einen Leistungsschub bringen können. So kamen in den letzten Jahren ab dem Kernel 4.12 „Multiqueue-Scheduler“ für den Multiprozessbetrieb mit mehreren Warteschlangen hinzu, die die früheren Ansätze verdrängt haben. Nachfolgend skizzieren wir die heute relevanten I/O-Scheduler, die beispielsweise auf einem aktuellen Ubuntu- und Debian- System, aber auch in Fedora, Arch Linux und Open Suse zur Verfügung stehen. Der Kasten „Konfiguration: I/O-Scheduler ermitteln und wechseln“ zeigt, wie I/O-Scheduler gewechselt werden.

MQ-Deadline: Der Scheduler sortiert Anfragen an das I/O-Subsystem anhand ihrer Blocknummer in mehreren Warteschlangen ein. Damit bei dieser Sortiermethode die I/O-Zugriffe mit stark abweichenden Blöcken nicht auf der Strecke bleiben, bekommt jeder wartende Zugriff auch noch einen fixen Zeitpunkt verpasst, eine „Deadline“. Ist dieser Zeitpunkt erreicht, so kommt der Wartekandidat unabhängig von seiner Blocknummer an die Reihe.

BFQ: Dabei handelt es sich um eine Weiterentwicklung des einstigen Standard-Schedulers „Completely Fair Queue“ von Linux. Er führt für laufende Prozess eine Statistik, um die verfügbare I/O-Bandbreite fair auf diese Prozesse aufzuteilen. BFQ übernimmt diese Herangehensweise, führt aber weitere Optimierungen ein: Leseanforderungen haben immer eine höhere Priorität, da diese auf dem Desktop oft für die merklichen Verzögerungen sorgen. Durch eine heuristische Auswertung von I/O-Zugriffen versucht BFQ, jene Programme mit hoher Priorität zu ermitteln, mit

welchen Anwender gerade arbeiten. In seiner heutigen Form arbeitet BFQ mit mehreren Warteschlangen und ist deshalb auch als „BFQ-MQ“ bekannt.

None: Dies ist kein I/O-Scheduler, sondern eine Einstellung des Linux-Kernels für ein Laufwerk, das dann gar keine intelligente Warteschlange seitens des Kernels bekommt. Diese Einstellung stellt die Anfragen an das I/O-Subsystem in eine einfache Warteschlange, die genau in der Reihenfolge abgearbeitet wird, in der die Operationen eingehen. Es obliegt dem Laufwerk, diese dann in eine optimierte Reihenfolge zu bringen.

Benchmarks und Fazit

Für die durchgeführten Benchmarks einer aktuellen performanten NVME mit verschiedenen Schedulern stellte uns Tuxedo Computers ein Testgerät zur Verfügung: Ein Infinitybook Pro 14 der sechsten Generation, mit Samsung EVO Plus 970, einer Intel- CPU vom Typ i7-1165G7 und 32 GB RAM. Die Tests mit einer Ein-TB-Festplatte an einem SATA-Anschluss und einer SSD führten wir mit einem älteren und deutlich bescheideneren Thinkpad T430s mit acht GB RAM und einer Intel-Core-i5-CPU der dritten Generation durch. Als Linux-System diente Ubuntu 20.04.3 und als Benchmarkprogramm die Phoronix Test Suite (www.phoro nix-test-suite.com) mit dem Einzeltest pts/ Tiobench, der den Durchsatz bei Datenträgerzugriffen mit mehreren Threads misst. Bei den Ergebnissen gab es eine kleine, aber doch messbare Überraschung: Der Scheduler MQ-Deadline konnte mit seinen Zeitlimits wiederholt etwa zehn Prozent mehr Performance (Schreibdurchsatz) aus der schnellen NVME des Tuxedo-Notebooks herausholen. Hier besteht also Tuningpotenzial, denn Debian/Ubuntu und andere Distributionen wählen für NVMEs per Standard keinen I/O-Scheduler (None).

Keine Überraschung: Der Aufwand, den BFQ-MQ mit seiner Optimierung betreibt, ist zu hoch und wird nur für die Startzeiten von Desktopprogrammen geringe Vorteile bringen.

KONFIGURATION: I/O-SCHEDULER ERMITTELN UND WECHSELN

Welchen I/O-Scheduler ein Laufwerk per Regelwerk des Gerätemanagers („Udev“) nutzt, zeigt pro Blockgerät das Kommando cat /sys/block/sda/queue/scheduler hier beispielsweise für das Laufwerk „/dev/sda“ Ein einfacher Weg, den Scheduler pro Laufwerk zu definieren, bietet das Tool Sysfsutils, das in Debian, Ubuntu und Varianten mit sudo apt install sysfsutils installiert wird. Anschließend kann in die Konfigurationsdatei „/etc/sysfs.conf“ der Scheduler („mq-deadline“, „bfq“ oder „none“) pro Laufwerk vorgegeben werden: block/sda/queue/scheduler = mq-deadline Der Scheduler BFQ ist in Debian und Ubuntu nicht direkt in den Kernel einkompiliert, sondern liegt als externes Kernel-Modul vor. Um es zu aktivieren, sind in diesen Distributionen ein paar Handgriffe mehr nötig: In eine neu angelegte Datei „/etc/modules-load.d/bfq.conf“ kommt als einzige Zeile der Eintrag „bfq“, um dieses Modul beim Systemstart zu laden. Es kann dann ebenfalls in die Datei „/etc/ sysfs.conf“ eingetragen werden.