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.