TITLE: What Cluster File Systems can Learn from Peer-to-Peer Systems
AUTHORS:

Jens Mache (Lewis & Clark College)
Melanie Gilbert (Lewis & Clark College)
Jason Guchereau (Lewis & Clark College)
Jeff Lesh (Lewis & Clark College)
Felix Ramli (Lewis & Clark College)
Matthew Wilkinson (Lewis & Clark College)
Sharad Garg (Intel Corp.)
ABSTRACT:
Parallel file systems provide high performance disk access by transparently striping data across multiple disks and I/O nodes. Similar to peer-to-peer systems (e.g. Freenet, Oceanstore, Chord/CFS, Past), parallel file systems are employed on networked computers whose nodes are not guaranteed to be always available, due to node failures or network failure. However, different from peer-to-peer systems, most parallel file systems do not handle these failures very well.
In this work, we explore how cluster file system can utilize certain peer-to-peer techniques that can handle failing nodes and thus allow for high data availability.
Peer-to-peer concepts of high value for cluster file systems are "floating" replicas that adapt to node failure, locality and load situation. The idea is that replicas and adaptation provide high availability and reliability. Furthermore, changing the number and location of replicas has the potential for performance gains (due to proximity or local access).
In our proposed cluster file system, when a file is created, the number of replicas can be determined by the user or by the system. To maintain consistency, we use a two-phase commit protocol. When a file is read (and periodically), all I/O nodes are contacted to determine the status of replicas. Then, (A) we decide which replica to use depending on locality and load, (B) if needed, we generate additional replicas to compensate for node failure, and (C) if advantageous, we change the number of replicas. Also, by optimizing the placement of new replicas, we strive to improve the performance of future requests.
We are in the process of implementing a prototype based on the Parallel Virtual File System, an open-source cluster file system from Clemson University and Argonne National Laboratory. In experiments, we plan to test robustness, overhead, adaptation and load balance.