SHARK: Scaling File Servers via Cooperative Caching

Network file systems offer a powerful, transparent interface for accessing remote data. Unfortunately, in current network file systems like NFS, clients fetch data from a central file server, inherently limiting the system`s ability to scale to many clients. While recent distributed (peer-to-peer) systems have managed to eliminate this scalability bottleneck, they are often exceedingly complex and provide non-standard models for administration and accountability. We present Shark, a novel system that retains the best of both worlds–the scalability of distributed systems with the simplicity of central servers.
Shark is a distributed file system designed for largescale, wide-area deployment, while also providing a dropin replacement for local-area file systems. Shark introduces a novel cooperative-caching mechanism, in which mutually-distrustful clients can exploit each others` file caches to reduce load on an origin file server. Using a distributed index, Shark clients and nearby copies of data, even when files originate from different servers. Performance results show that Shark can greatly reduce server load and improve client latency for read-heavy workloads both in the wide and local areas, while still remaining competitive for single clients in the local area. Thus, Shark enables modestly-provisioned file servers to scale to hundreds of read-mostly clients while retaining traditional usability, consistency, security, and accountability.

Date:
Speakers:
Siddhartha Annapureddy
Affiliation:
New York University
    • Portrait of Jeff Running

      Jeff Running