DAXFS wurde vorgestellt, ähnlich wie ramfs und tmpfs, arbeitet jedoch um den Seitencache herum.

Cong Wang, der das Verkehrskontrollsystem (TC, Traffic Control) im Linux-Kernel begleitet und das Multikernel-Projekt entwickelt, hat im Entwicklertreffen des Linux-Kernels ein neues Dateisystem namens DAXFS vorgestellt. DAXFS verwendet den Arbeitsspeicher zur Datenspeicherung, arbeitet im Nur-Lese-Modus und ähnelt in seiner Funktionalität den abgespeckten Dateisystemen ramfs und tmpfs. Das Kernmodul mit der Implementierung von DAXFS sowie das Dienstprogramm mkdaxfs zur Erstellung des Dateisystems sind unter der Lizenz GPLv2 veröffentlicht. Nach der Überprüfung wird die Möglichkeit der Integration von DAXFS in den Hauptkern des Linux-Kernels in Betracht gezogen.

Ein zentrales Merkmal des neuen Dateisystems ist die Nutzung des DAX (Direct Access)-Subsystems, um um den Seiten-Cache herumzuarbeiten und direkten Zugriff auf den gemeinsam genutzten physischen Speicher zu ermöglichen. In ramfs und tmpfs wird der Inhalt im Seiten-Cache gespeichert, was bei der Verwendung eines Dateisystems in mehreren Containern oder Kernen, die mithilfe der Multikernel-Technologie gestartet werden, zu mehreren Kopien der Daten im physischen Speicher führt. Das Befüllen von ramfs und tmpfs erfordert zudem zusätzliche Kopieroperationen, ohne die Möglichkeit, einen vorhandenen Speicherbereich zu mappen.

Der direkte Speicherzugriff in DAXFS ermöglicht es, überflüssige Kopieroperationen zu vermeiden und die Arbeit um den traditionellen I/O-Stack auf Blockgeräten und Puffermechanismen herum zu organisieren. Zudem wird die Fragmentierung bei der Speicherzuweisung vermieden, wenn ein Dateisystem in verschiedenen Containern und Multikernel-Kernen gleichzeitig genutzt wird. DAXFS arbeitet im Zero-Copy-Modus und gibt den Inhalt von Dateien direkt aus dem Speicher aus, ohne Daten im Seiten-Cache unnötig zu duplizieren, und ermöglicht die Zuordnung von zusammenhängenden Bereichen des physischen Speichers in jede Instanz eines Containers oder Kerns. Zusätzlich wird die Verwendung der API dma-buf unterstützt, um Speicher, der von GPU, FPGA/SmartNIC oder CXL-Geräten exportiert wird, zu nutzen.

Das Dateisystem arbeitet im Nur-Lese-Modus und wird durch das Laden eines vorab vorbereiteten Abbildes in den Speicher initialisiert, was die Implementierung vereinfacht, unnötige Speicherzuweisungsoperationen während des Betriebs vermeidet und komplizierte Gerätemanagementmechanismen ausschließt.

Ein Schlüsselanwendungsbereich von DAXFS ist die Verwendung zusammen mit der Multikernel-Technologie, die es ermöglicht, mehrere unabhängige Instanzen des Linux-Kernels auf einem physischen Computer auszuführen, die direkten Zugriff auf die Hardware-Ressourcen haben und verwendet werden können, um mehrere isolierte Systemumgebungen zu starten.

DAXFS kann auch verwendet werden, um den gemeinsamen Zugriff mehrerer Container oder Kerne auf ein Basis-Systemabbild zu organisieren, das im Shared Memory gespeichert ist; um die Overhead-Kosten beim Zugriff auf Informationen im Speicher von Hardware-Beschleunigern zu reduzieren; und um den Zugriff auf Speicher von mehreren Hosts ohne Netzwerk-Ein- oder Ausgabe oder auf persistente Speicher zu organisieren, indem Geräte auf der Grundlage des CXL-Busses (Compute Express Link) verwendet werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4