
Verbesserungen der exFAT-Leistung: Ein Jahrzehnt voller Innovationen
Im Jahr 2012 stellte Microsoft die 64-Bit-Version seiner Extended File Allocation Table (exFAT) vor, die als moderner Ersatz für das ältere 32-Bit-Dateisystem FAT32 diente.2019 ging das Unternehmen einen entscheidenden Schritt weiter und kündigte die native Unterstützung des exFAT-Formats auf Linux-Plattformen an. Dies markierte einen wichtigen Moment in der Entwicklung der Interoperabilität von Dateisystemen.
Jüngste Fortschritte sind insbesondere den Beiträgen des Sony-Ingenieurs Yuezhang Mo zu verdanken. Im Jahr 2022 entdeckte Mo, dass die Optimierung der Verzeichniseintragsdurchquerung die exFAT-Leistung um beeindruckende 57 % steigern kann. Diese entscheidende Verbesserung wurde in den Linux-Kernel Version 6.2 integriert und verdeutlicht die kontinuierliche Weiterentwicklung der Dateisystemtechnologie.
Neueste Entwicklungen in der exFAT-Optimierung
Mo hat in einem aktuellen Pull Request weitere Verbesserungen zur Verfeinerung des exFAT-Dateisystems vorgelegt. Die vorgeschlagenen Änderungen umfassen mehrere wichtige Verbesserungen, die nicht nur die Leistung steigern, sondern auch bestehende Probleme beheben. Hier ist eine Zusammenfassung der Verbesserungen in diesem neuesten Beitrag:
Beschreibung für diesen Pull Request:
- Beheben Sie zufällige Stapelbeschädigungen und beheben Sie Fehler in
exfat_get_block()
.- Verbessern Sie die Leistung
exfat_get_block()
durch Optimierung für Randfälle.- Beheben Sie ein Problem mit Endlosschleifen im Zusammenhang mit selbstverknüpften Ketten in
exfat_find_last_cluster
.- Beseitigen Sie veraltete
EXFAT_CLUSTERS_UNTRACKED
Codes.- Fügen Sie während des Herunterfahrens wichtige Prüfungen hinzu.
- Steigern Sie die Löschleistung, wenn Sie die Mount-Option „Disc“ verwenden.
Die Option „Discard Mount“ trägt entscheidend zur Leistungsverbesserung bei. Sie ermöglicht dem Dateisystem die Kommunikation mit dem Speichergerät, um anzuzeigen, welche Blöcke nicht mehr benötigt werden. Diese Echtzeitbenachrichtigung ermöglicht eine effiziente Verwaltung des freien Speicherplatzes, trägt zu optimierten Abläufen bei und verbessert die Gesamteffizienz des Dateisystems.
Der Patch stellt klar:
Wenn die Einbindungsoption „Discard“ aktiviert ist, werden freigegebene Cluster umgehend verworfen. Die Verarbeitung einzelner Cluster kann die Leistung beeinträchtigen und bei der Freigabe einer großen Anzahl von Clustern zu potenziellen Blockaden führen. Dieses Update verbessert die Leistung durch die Stapelverarbeitung des Discard-Vorgangs zusammenhängender Cluster.
Leistungskennzahlen: Eine dramatische Verbesserung
Die Leistungssteigerung durch diese Verbesserungen ist bemerkenswert. Der Test umfasste eine umfangreiche 80-GB-Datei, deren Löschung zuvor etwa 4 Minuten und 46 Sekunden dauerte. Nach der Implementierung der neuen Optimierungen sank die Löschzeit auf unter 2 Sekunden, was einer beeindruckenden Leistungssteigerung um das 172-Fache entspricht.
Leistungsmessungen zeigen:
#
truncate -s 80G /mnt/file
#
time rm /mnt/file
Ohne dieses Commit:
- echte 4m46.183s
- Benutzer 0m0.000s
- System 0m12.863s
Mit diesem Commit:
- real 0m1.661s
- Benutzer 0m0.000s
- System 0m0, 017s
Weitere Einzelheiten zu diesem Pull Request finden Sie in der Linux Kernel Mailing List (LKML).
Weitere Einblicke in diese Leistungsverbesserungen erhalten Sie im Quellartikel.
Schreibe einen Kommentar