DAXFS Proposed As Newest Linux File-System
([Linux Storage] 5 Hours Ago
DAXFS)
- Reference: 0001608215
- News link: https://www.phoronix.com/news/DAXFS-Linux-File-System
- Source link:
There's yet another new Linux file-system on the block: DAXFS has been announced as a new read-only open-source file-system.
DAXFS as implied by the name makes use of the Linux kernel's direct access " [1]DAX " infrastructure. DAX is designed as a simple read-only file-system operating directly atop shared physical memory.
DAXFS is designed to provide zero-copy reads from contiguous memory regions and bypasses the traditional block I/O stack, buffer heads, and page cache entirely -- a big difference compared to the likes of RAMFS or TMPFS.
DAXFS is designed for zero-copy efficiency, true physical sharing, hardware integration with the likes of GPUs and CXL hardware, and simplicity:
"Key Features
- Zero-Copy Efficiency: File reads resolve to direct memory loads, eliminating page cache duplication and CPU-driven copies.
- True Physical Sharing: By mapping a contiguous physical address or a dma-buf, multiple kernel instances or containers can share the same physical pages.
- Hardware Integration: Supports mounting memory exported by GPUs, FPGAs, or CXL devices via the dma-buf API.
- Simplicity: Uses a self-contained, read-only image format with no runtime allocation or complex device management."
DAXFS is being developed by Multikernel.io, the developers behind [2]a proposed multi-kernel architecture for Linux . As part of their DAXFS work they aim to enhance their multi-kernel efforts as well as enhancing CXL support and better accelerator data handling:
"Primary Use Cases
- Multikernel Environments: Sharing a common Docker image across independent kernel instances via shared memory.
- CXL Memory Pooling: Accessing read-only data across multiple hosts without network I/O.
- Container Rootfs Sharing: Using a single DAXFS base image for multiple containers (via OverlayFS) to save physical RAM.
- Accelerator Data: Zero-copy access to model weights or lookup tables stored in device memory."
DAXFS was [3]announced today on the Linux Kernel Mailing List. The current DAXFS kernel module and user-space tool for it can currently be found on [4]GitHub while awaiting to see the level of upstream interest in potentially working toward upstreaming it into the mainline Linux kernel.
[1] https://www.phoronix.com/search/DAX
[2] https://www.phoronix.com/news/Linux-Multi-Kernel-Patches
[3] https://lore.kernel.org/lkml/CAGHCLaREA4xzP7CkJrpqu4C=PKw_3GppOUPWZKn0Fxom_3Z9Qw@mail.gmail.com/
[4] https://github.com/multikernel/daxfs
DAXFS as implied by the name makes use of the Linux kernel's direct access " [1]DAX " infrastructure. DAX is designed as a simple read-only file-system operating directly atop shared physical memory.
DAXFS is designed to provide zero-copy reads from contiguous memory regions and bypasses the traditional block I/O stack, buffer heads, and page cache entirely -- a big difference compared to the likes of RAMFS or TMPFS.
DAXFS is designed for zero-copy efficiency, true physical sharing, hardware integration with the likes of GPUs and CXL hardware, and simplicity:
"Key Features
- Zero-Copy Efficiency: File reads resolve to direct memory loads, eliminating page cache duplication and CPU-driven copies.
- True Physical Sharing: By mapping a contiguous physical address or a dma-buf, multiple kernel instances or containers can share the same physical pages.
- Hardware Integration: Supports mounting memory exported by GPUs, FPGAs, or CXL devices via the dma-buf API.
- Simplicity: Uses a self-contained, read-only image format with no runtime allocation or complex device management."
DAXFS is being developed by Multikernel.io, the developers behind [2]a proposed multi-kernel architecture for Linux . As part of their DAXFS work they aim to enhance their multi-kernel efforts as well as enhancing CXL support and better accelerator data handling:
"Primary Use Cases
- Multikernel Environments: Sharing a common Docker image across independent kernel instances via shared memory.
- CXL Memory Pooling: Accessing read-only data across multiple hosts without network I/O.
- Container Rootfs Sharing: Using a single DAXFS base image for multiple containers (via OverlayFS) to save physical RAM.
- Accelerator Data: Zero-copy access to model weights or lookup tables stored in device memory."
DAXFS was [3]announced today on the Linux Kernel Mailing List. The current DAXFS kernel module and user-space tool for it can currently be found on [4]GitHub while awaiting to see the level of upstream interest in potentially working toward upstreaming it into the mainline Linux kernel.
[1] https://www.phoronix.com/search/DAX
[2] https://www.phoronix.com/news/Linux-Multi-Kernel-Patches
[3] https://lore.kernel.org/lkml/CAGHCLaREA4xzP7CkJrpqu4C=PKw_3GppOUPWZKn0Fxom_3Z9Qw@mail.gmail.com/
[4] https://github.com/multikernel/daxfs