PVFS2 - a High-Performance Parallel File System
neillm78 writes "As part of the development team, we're announcing PVFS2 version 1.0 here in Pittsburgh at the SC2004 conference! PVFS2 is a GPL/LGPL based parallel file system for cluster-based applications. It logically groups any number of storage servers into a coherent file system for use by client nodes, specifically tailored to handle efficient access to large shared files. PVFS2 supports access via an MPI-IO interface for high-performance parallel applications, but you can still mount it like a regular GNU/Linux file system for traditional serial applications and managment. The PVFS2 project is conducted jointly
between The Parallel Architecture Research Laboratory at Clemson University and The Mathematics and Computer Science Division at Argonne National
Laboratory. Please feel free to give it a try!"
PVFS (in its first incarnation) despite some instability (more so due to the fact that our first cluster was COTS cheap-o hardware), really helped drive down the load on our clusters by removing the need to perform NFS writes to a single head node for scratch space. The set up is extrememly simple and the code base was really small.
I plan on evaluating PVFS2 for our new clusters along with Lustre and GFS although I have heard nothing about the latter two operating over the MPI-ROMIO subsystem (which would definitely offer a performance increase).
Simple answer: No. This is commonly used for allocated scratch space in cluster environments e.g. beowulf. We use it to reduce the reads and writes that usually bring an NFS system to its knees. It would not help Bittorrent.
From the PVFS2 Guide:
The new design has a number of important features, including:
* modular networking and storage subsystems,
* powerful request format for structured non-contiguous accesses,
* flexible and extensible data distribution modules,
* distributed metadata,
* stateless servers and clients (no locking subsystem),
* explicit concurrency support,
* tunable semantics,
* flexible mapping from file references to servers,
* tight MPI-IO integration, and
* support for data and metadata redundancy.
> * flexible and extensible data distribution modules,
> * distributed metadata,
> * stateless servers and clients (no locking subsystem),
Just to clarify... while we have distributed metadata, we don't have *replicated* metadata. At least, not yet.
If you have multiple metadata servers they will do load balancing. If you are working with lots and lots of small files, having a couple metadata servers might alieviate a possible bottleneck.