Announcing a new open‑source NAS stack!
Chimera is a user‑space virtual file system (VFS) that provides NFS3, NFS4, SMB, and S3 support in a single LGPL‑licensed library. That is to say, it allows serving all four protocols from a single process with a single set of caches and a single thread pool. It supports fully asynchronous, event‑driven operation. It also supports zero‑copy DMA I/O even without buffer alignment. Synchronous open/close calls and O_DIRECT were fine for the HDD era, but are no longer.
Chimera is built on libevpl, which allows it to run in a hybrid polling or event mode based on load. Kernel bypass of TCP via io_uring or NVIDIA XLIO, kernel bypass of NVMe I/O via VFIO, and RDMA are supported. Under low load, use epoll() and save power. Under high load, disable interrupts and spin on the PCIe device completion queues.
Chimera is still in an early experimental phase of development, but I’ve implemented all the NAS protocols sufficiently to allow basic demonstration and benchmarking. More to come. It is possible to run it on traditional kernel file systems using the regular POSIX interface or io_uring, but obviously the point is supporting user‑space native file systems written directly to the asynchronous API.
This is an ambitious project. If you or your organization might be interested in using Chimera as it matures, please reach out. I’m looking for collaborators. I believe this problem has needed solving for a long time, and I hope others agree.
In the meantime, here’s a single NFSoRDMA client just about saturating 400GbE from a single server, using 100% free software.
Source on GitHub
