Festplatten-E/A schneller als Memory-Caching? Ein überraschender Benchmark

2025-09-05

Die gängige Meinung besagt, dass der Zugriff auf den Speicher viel schneller ist als die Festplatten-E/A, wodurch Memory-Caching unerlässlich wird. Dieser Beitrag stellt diese Annahme mit einem cleveren Benchmark in Frage: die Zählung der Anzahl der Zehnen in einem großen Datensatz. Mit einem älteren Server und optimiertem Code (Loop-Unrolling und Vektorisierung) sowie einer benutzerdefinierten io_uring-Engine zeigt der Autor, dass direktes Lesen von der Festplatte unter bestimmten Bedingungen schneller sein kann als das Lesen aus dem Memory-Cache. Der Schlüssel liegt nicht darin, dass die Festplatte schneller ist als der Speicher, sondern dass traditionelle Speicherzugriffsmethoden (mmap) eine erhebliche Latenz verursachen. Die benutzerdefinierte io_uring-Engine nutzt die hohe Bandbreite und das Pipelining der Festplatte, um die Latenz zu maskieren. Der Artikel betont die Anpassung von Algorithmen und Datenzugriff an die Hardware-Eigenschaften für maximale Leistung in modernen Architekturen und untersucht zukünftige Hardwaretrends.

Mehr lesen

Das Ende des Mooreschen Gesetzes? Der Engpass der Leistung traditioneller Software

2025-09-02

In den letzten 20 Jahren haben sich bestimmte Aspekte der Hardware schnell weiterentwickelt (z. B. Kernanzahl, Bandbreite, Vektoreinheiten), aber Instruktionen pro Takt, IPC und Latenz sind stagniert. Dies bricht alte Faustregeln, wie „Speicher ist schneller als Festplatte“. Der Artikel argumentiert, dass die Leistungsgewinne traditioneller Software (Single-Threaded, nicht vektorisiert) durch diese stagnierenden Metriken begrenzt sind, was zu exorbitant hohen Kosten für Cache-Verpasser führt. Der Autor schlägt vor, dass wir die Art und Weise, wie wir Software schreiben, überdenken müssen, um die ständig wachsenden Hardware-Fähigkeiten voll auszuschöpfen.

Mehr lesen
Technologie Software-Optimierung