Red Hat entwickelt ein neues Dateisystem NVFS, das für NVM-Speicher optimiert ist.

Mikuláš Patočka, einer der Entwickler von LVM und Autor mehrerer Erfindungen, die mit der Optimierung von Speichersystemen verbunden sind und bei Red Hat arbeiten, den hat in der Mailingliste der Linux-Kernel-Entwickler ein neues Dateisystem NVFS, vorgestellt, das darauf abzielt, ein kompaktes und schnelles Dateisystem für Chips mit nichtflüchtigem Speicher (NVM, non-volatile memory, wie z.B. NVDIMM) zu schaffen, das die Leistung von RAM mit der Möglichkeit der persistierenden Speicherung von Inhalten kombiniert.

Bei der Entwicklung von NVFS wurde die Erfahrung des Dateisystems NOVA, das 2017 speziell für NVM-Speicher entwickelt wurde, jedoch nicht in den Linux-Kernel aufgenommen wurde und die eingeschränkt ist von den Linux-Kerneln von 4.13 bis 5.1.
Das vorgeschlagene Dateisystem NVFS ist deutlich einfacher als NOVA (4972 Codezeilen im Vergleich zu 21459), bietet ein fsck-Dienstprogramm, hat eine höhere Leistung, unterstützt erweiterte Attribute (xattrs), Sicherheitslabels, ACLs und Quoten, unterstützt jedoch keine Snapshots. Die Architektur von NVFS ähnelt
dem Dateisystem Ext4 und passt gut in das Modell der Dateisysteme auf Basis der VFS-Subsysteme, was es ermöglicht, die Anzahl der Schichten zu minimieren und mit einem Modul auszukommen, das keine Patch-Arbeiten am Kernel erfordert.

NVFS verwendet die Kernel-Schnittstelle DAX für den direkten Zugriff auf persistente Speichergeräte, um den Seiten-Cache zu umgehen. Zur Optimierung der Nutzung von NVM-Speicher, der eine Byte-Adressierung verwendet, wird der Inhalt des Speichers in den linearen Adressraum des Kernels abgebildet, ohne die traditionelle Blockgeräteebene und den Zwischenspeicher zu verwenden. Für die Speicherung von Verzeichnisinhalten wird ein Basisbaum (Radixbaum) eingesetzt, in dem jeder Dateiname gehasht wird und der Hash-Wert zur Suche im Baum verwendet wird.

Die Datenintegrität wird durch einen Mechanismus vonSoft Updatessichergestellt (wie in UFS von FreeBSD und in FFS von OpenBSD), ohne dass ein Journal verwendet wird. Um die Beschädigung von Dateien in NVFS zu vermeiden, werden Datenänderungsoperationen so gruppiert, dass ein Absturz nicht zum Verlust von Blöcken oder Inodes führen kann, und die Integrität der Strukturen wird mithilfe des Werkzeugs fsck wiederhergestellt. Das Werkzeug fsck arbeitet im Multithread-Modus und bietet eine Leistung von bis zu 1,6 Millionen Inodes pro Sekunde.

In Leistungstests Das NVFS-System führte den Kopiervorgang eines Verzeichnisses mit den Originaltexten des Linux-Kernels in etwa 10 % schneller als NOVA, 30 % schneller als ext4 und 37 % schneller als XFS aus. Im Datensuchtest war das NVFS schneller als NOVA um 3 % und schneller als ext4 und XFS um 15 % (bei aktivem Festplattencache war NOVA jedoch 15 % langsamer).
Im Test mit einer Million Verzeichnisoperationen übertraf NVFS NOVA um 40 %, ext4 um 22 % und XFS um 46 %. Bei der Simulation von DBMS-Aktivität übertraf das NVFS-System NOVA um 20 %, ext4 um das 18-Fache und XFS um das 5-Fache. Im fs_mark-Test lagen die Ergebnisse von NVFS und NOVA etwa auf demselben Niveau, während ext4 und XFS etwa dreimal langsamer waren.

Die Verzögerung traditioneller Dateisysteme bei NVM-Speicher liegt darin begründet, dass sie nicht für die Byteadressierung ausgelegt sind, die in nichtflüchtigem Speicher verwendet wird, der wie herkömmlicher RAM aussieht. Das Lesen von herkömmlichen Laufwerken ermöglicht Atomizität auf der Ebene der Lese-/Schreiboperationen eines Sektors, während NVM-Speicher den Zugriff auf der Ebene einzelner Maschinenwörter bereitstellt. Zudem versuchen traditionelle Dateisysteme, die Intensität des Zugriffs auf das Medium zu minimieren, das als grundsätzlich langsamer als der Arbeitsspeicher betrachtet wird. Sie versuchen auch, Operationen zu gruppieren, um sequenzielles Lesen bei der Verwendung von Festplatten zu gewährleisten, Anfrageden Queues zu verarbeiten, Fragmentierung zu bekämpfen und Prioritäten für unterschiedliche Operationen festzulegen. Für NVM-Speicher sind solche Komplexitäten überflüssig, da die Zugriffsgeschwindigkeit mit der von RAM vergleichbar ist und die Reihenfolge des Zugriffs keinen Unterschied macht.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster