At our October 2007 meeting, Sam Falkner from Sun Microsystems
reported on their work implementing Parallel NFS (pNFS).
Parallel NFS is targeted at High-Performance Computing (HPC) applications
where extremely I/O rates need to be supported.
It uses a single metadata server to maintain file and
state information, with multiple storage servers to hold the
actual file data. On a per-file basis, pNFS can be configured to
stripe files across multiple storage servers, or to store
a file's data on just one. Coordination of this activity is
conducted through communication with the metadata server, a
link whose protocols are not defined by the standard and will
likely make each vendor's pNFS implementation work only with
a homogeneous set of that vendor's OS. The metadata server
can move files around, communicating with the NFS client so
that the application is actually unaware of the move. This can
be used to support file migration and failover. Another interesting feature
of pNFS is that to be NFSv4.1 compatible, it must implement
Kerberos which, of course, is an option.
The ability to stripe across multiple storage servers allows
file I/O to across over parallel sessions. Sam did some
rough benchmarking using a fake filesystem and observed 235 MB/sec.
to a single server over 10 Gbps Ethernet, and 980 MB/sec. over
InfiniBand, which is the likely interconnect for HPC applications.
Sam expects Sun's implementation to be available in the first
half of 2008, and the other implementation in progress is on Linux.
Sam's
presentation slides (PDF)
are available here, and thanks to Lynda McGinley, whose notes
contributed to this writeup.
|