Nach den Verbesserungen von Windows ReFS erhält Linux Leistungssteigerungen durch F2FS, Btrfs und EXT4

Nach den Verbesserungen von Windows ReFS erhält Linux Leistungssteigerungen durch F2FS, Btrfs und EXT4

Microsoft hat die Unterstützung für ReFS (Resilient File System) in den letzten Windows 11 Insider-Builds schrittweise erweitert. Bereits im Januar wurde erstmals bemerkt, dass eine versteckte Funktion in Dev Build 25281 Benutzern ermöglichen würde, Windows 11 auf einem ReFS-Volume zu installieren . Seitdem hat das Unternehmen weitere ReFS-basierte Funktionen wie „Dev Drive“-VHD-Volumes hinzugefügt . Microsoft hat auch die zugrunde liegende ReFS-Version in einem der letzten Canary-Channel-Builds auf 3.10 aktualisiert.

Während die Verwendung von ReFS unter Windows zunimmt, macht Linux andererseits auch bei einigen seiner Dateisysteme stetige Fortschritte. Aus einigen der jüngsten Linux-Kernel-Patches geht hervor, dass einige der beliebtesten Linux-Dateisysteme, Flash-Friendly File System (F2FS), B-Tree Filesystem (Btrfs) und Fourth Extended Filesystem (EXT4), erhebliche Leistungssteigerungen erhalten .

Beispielsweise erzielt Btrfs eine Leistungssteigerung von etwa 10 % auf SATA-SSDs. Vielleicht ist die Verbesserung bei NVMe-Laufwerken sogar noch höher:

Lesen Sie immer in einer Blockgröße von 64 KB. Die tatsächliche Blockgröße beim Lesen beginnt bei 64 KB und endet bei 512 KB. Dadurch ergibt sich auch für den Worst Case bereits eine bessere Performance:

  • Mit Patchset: 404,81 MiB/s
  • Ohne Patchset: 369,30 MiB/s

Rund 10 % Leistungssteigerung bei einer SATA-SSD.

Weiter zu EXT4, es gibt eine Reihe von Optimierungen:

In diesem Zyklus gibt es eine Reihe größerer Aufräumarbeiten in ext4:

  • Der data=journal-Schreibpfad wurde erheblich bereinigt und vereinfacht und reduziert eine große Anzahl von data=journal-Spezialfällen von Jan Kara.
  • Ojaswin Muhoo hat die verknüpfte Liste, die zum Nachverfolgen von Extents verwendet wird, die für die Inode-Vorzuweisung verwendet wurden, durch einen rot-schwarzen Baum im Multi-Block-Allokator ersetzt. Dies verbessert die Leistung für Workloads, die eine große Anzahl von Schreibvorgängen mit zufälliger Zuweisung ausführen.
  • Danke an Kemeng Shi für viele Aufräumarbeiten und Fehlerbehebungen im Multi-Block-Allocator.
  • Matthew Wilcox hat die Codepfade zum Lesen und Schreiben von ext4-Seiten auf die Verwendung von Folios umgestellt. * Jason Yan hat ext4_fill_super() weiterhin in kleinere Funktionen ausgegliedert, um die Wartung und das Verständnis zu verbessern.
  • Josh Triplett hat einen uapi-Header für ext4-Userspace-APIs erstellt.

Schließlich sind hier die Verbesserungen von F2FS:

Erweiterung:

  • Unterstützung von Nicht-Potenz-von-Zwei-Zonengröße für in Zonen aufgeteilte Geräte
  • Entfernen Sie die gemeinsame Nutzung der rb_entry-Struktur im Extent-Cache
  • f2fs_gc umgestalten, um Checkpoint in dringenden Fällen aufzurufen – Unterstützung von iopoll

Insgesamt sieht es so aus, als würde die Linux-Kernel-Version 6.4 in Bezug auf die Leistung recht anständig sein.

Quelle: LKML (1) , (2) , (3) über Phoronix

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert