Speaker
Description
EOS, CERN’s large-scale storage system, is continuously evolving to support increasingly diverse and performance-critical scientific workflows. As part of this evolution, we are considering NFS 4.2 as a strategic new protocol for EOS in order to extend its interoperability, leverage kernel-level client performance, and open a path for community collaboration based on open standards.
cern-nfs is an R&D project implementing a user-space NFS server in C++. By integrating user-space NFS 4.2 with EOS through a dedicated cern-nfs Virtual File System (VFS) plug-in, we can even leverage a performant kernel client that natively supports erasure-coded (EC) back-ends via the EOS gateway FST I/O layer. The work builds upon the current cern-nfs NFS v4.0 → v4.1 → v4.2 evolution and ongoing performance optimization and measurement campaigns.
Planned extensions include proposing a session-based authentication mechanism as a potential contribution to the Linux NFS kernel, and the development of an asynchronous, parallel-socket POSIX C++ client to overcome I/O pattern inefficiencies arising from VFS I/O page alignment. The architecture also allows a cern-nfs federator layer to interconnect NFS-based storage systems, supporting broader federations and collaborative deployments.
This effort not only strengthens EOS’s protocol stack but also creates a framework for external contributions and cross-community engagement. In the long term, NFS 4.2 could evolve into a drop-in replacement for the eosxd FUSE filesystem (FUSE-over-XRootD) in local-area environments, while wide-area scenarios will have to be evaluated given the protocol’s chatty nature.