Microsofts exFAT-Leistungssteigerung unter Linux dank Sony

Microsofts exFAT-Leistungssteigerung unter Linux dank Sony

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_UNTRACKEDCodes.
  • 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

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