I/O-Scheduler: Dynamic Load Balanced Queuing beschleunigt SSDs

Michael Günsch 18 Kommentare
I/O-Scheduler: Dynamic Load Balanced Queuing beschleunigt SSDs

Erst durch viele parallele Zugriffe kommen SSDs mit NAND-Flash-Speicher in Fahrt. I/O-Scheduler sorgen dafür, dass Anfragen mit Hinblick auf möglichst hohen Datendurchsatz abgearbeitet werden. Das von koreanischen Forschern vorgestellte Dynamic Load Balanced Queuing (DLBQ) soll dabei noch effektiver vorgehen.

In dem in der Juniausgabe des Forschungsmagazins IEEE Transactions on Computers erschienenen Artikel Dynamic Load Balancing of Dispatch Scheduling for Solid State Disks beschreiben die Autoren Myung Hyun Jo und Won Woo Ro die Technik. Beide sind an der School of Electrical and Electronic Engineering der Yonsei University im südkoreanischen Seoul engagiert. Die Forschungsarbeit wurde von der IEEE Computer Society gesponsert. Zu den aufgelisteten Unterstützern gehört auch die Speichersparte von SSD-Marktführer Samsung.

Der Auszug des kostenpflichtigen Artikels beschreibt zunächst grob die Aufgaben des I/O-Schedulers eines Betriebssystems: Die Ein- und Ausgabe (I/O) soll mit möglichst niedriger Latenz sowie hohem Durchsatz erfolgen. Wenn Betriebssystem und Programme gleichzeitig auf den Massenspeicher (hier die SSD) zugreifen, kommen viele I/Os zusammen. Damit die Leistung nicht einbricht, bedarf es eines Plans zur bestmöglichen Bewältigung der Anfragen. Diese Aufgabe übernimmt der I/O-Scheduler.

Zugriffe werden gleichmäßig verteilt

Dieser sei inzwischen zwar oftmals bereits auf die immer weiter verbreitete SSD-Technik optimiert worden, doch gibt es ein Problem: Wenn ein gleichzeitiger Zugriff auf bestimmte Speicherchips einer SSD erfolgt, kommt es zum Konflikt, der die Leistung einbrechen lässt. Hier soll das Dynamic Load Balanced Queuing (DLBQ) Abhilfe schaffen, indem die I/O-Anfragen „neu geordnet“ und die Zugriffe auf die Speicherchips „gleichmäßig verteilt“ werden, „um Konflikte zu vermeiden“.

In this paper we propose Dynamic Load Balanced Queuing (DLBQ) that reorders the I/O requests and evenly distributes the accesses on flash memory chips to avoid contention. For that purpose, we have introduced a virtual time method which chases the run-time status of the SSD. We have evaluated the throughput and latency of DLBQ versus the four I/O schedulers with micro benchmarks and server benchmarks. The experimental results show that the throughput of DLBQ is improved by 11 percent on a 128 GB SSD and 15 percent on a 256 GB SSD while ensuring a bounded latency.

11 bis 15 Prozent mehr Durchsatz in Benchmarks

Zumindest nach den Messungen der Forscher verbessert die Methode Latenz und Datendurchsatz gegenüber den gängigen I/O-Schedulern. Auf einer 128-GB-SSD sei die Transferrate um 11 Prozent gestiegen, auf einem 256-GB-Modell habe DLBQ sogar für 15 Prozent mehr Durchsatz gesorgt. Es deutet sich an, dass das Potenzial der Technik mit der Anzahl an Speicherchips korreliert: Sind mehr Speicherchips vorhanden, können die Anfragen besser verteilt werden.

Es bleibt abzuwarten, ob DLBQ vielversprechend genug ist, dass aus dem Vorschlag der Forscher eine Nutzung in der Software-Branche entsteht.