We propose GeoFS, a POSIX-compliant, wide-area distributed file system, which is used for sharing files between sites. GeoFS uses FUSE to provide standard file system interfaces to applications, it allows users to control over consistency and replication via extended attributes. In the era of big data, traditional file systems do not adapt well to update a large directory (i.e. Huge number of files in one directory), if there is a small fraction of changes in a directory, the whole cache of the directory metadata must be discarded, and a new copy will be obtained from remote server, resulting in poor performance. We address this issue by partitioning metadata into blocks, and only transferring modified block(s) over the network. GeoFS also supports client caching, prefetching, parallel read and compression to make it suitable for use in networks with high latency and low bandwidth characteristics. Performance tests demonstrate that Geo FS outperforms NFS in a wide-area environment.
[1]
Siddhartha Annapureddy,et al.
Shark: scaling file servers via cooperative caching
,
2005,
NSDI.
[2]
Brian F. Cooper.
Spanner: Google's globally-distributed database
,
2013,
SYSTOR '13.
[3]
J. Howard Et El,et al.
Scale and performance in a distributed file system
,
1988
.
[4]
Werner Vogels,et al.
Dynamo: amazon's highly available key-value store
,
2007,
SOSP.
[5]
Mahadev Satyanarayanan,et al.
Disconnected Operation in the Coda File System
,
1999,
Mobidata.
[6]
GhemawatSanjay,et al.
The Google file system
,
2003
.
[7]
Hans-Arno Jacobsen,et al.
PNUTS: Yahoo!'s hosted data serving platform
,
2008,
Proc. VLDB Endow..
[8]
Robert Tappan Morris,et al.
Flexible, Wide-Area Storage for Distributed Systems with WheelFS
,
2009,
NSDI.