ACM SIGOPS Operating Systems Review · 2001 · 119 citations · 14 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFault ToleranceStorage SystemsBlock StorageDistributed ComputingDistributed StorageDistributed Storage SystemsFile SystemsPeer-to-peer SystemsBlock Storage SystemsDistributed Block StorageDistributed File System ArchitectureFile Sharing SystemsGranularityPeer-to-peer StorageRobustnessServer Selection
The Cooperative File System (CFS) is a new peer-to-peer read-only storage system that provides provable guarantees for the efficiency, robustness, and load-balance of file storage and retrieval. CFS does this with a completely decentralized architecture that can scale to large systems. CFS servers provide a distributed hash table (DHash) for block storage. CFS clients interpret DHash blocks as a file system. DHash distributes and caches blocks at a fine granularity to achieve load balance, uses replication for robustness, and decreases latency with server selection. DHash finds blocks using the Chord location protocol, which operates in time logarithmic in the number of servers.CFS is implemented using the SFS file system toolkit and runs on Linux, OpenBSD, and FreeBSD. Experience on a globally deployed prototype shows that CFS delivers data to clients as fast as FTP. Controlled tests show that CFS is scalable: with 4,096 servers, looking up a block of data involves contacting only seven servers. The tests also demonstrate nearly perfect robustness and unimpaired performance even when as many as half the servers fail.
14
Ion Stoica, Robert Morris, David R. Karger et al. · 2001 · 9.7K citations
A scalable content-addressable network
Sylvia Ratnasamy, Paul Francis, Mark Handley et al. · 2001 · 6.4K citations · Full text
Consistent hashing and random trees
David R. Karger, Eric Lehman, Tom Leighton et al. · 1997 · 2K citations