Review: Scale and Performance in a Distributed File System

From: Sellakumaran (ksella_at_hotmail.com)
Date: Mon Feb 23 2004 - 22:26:29 PST


This paper presents a prototype implementation of Andrew file system,
performance observations on the prototype and the changes made for
performance and their effect. Basically the system is made of a set of
trusted servers, collectively called Vice and client side user-level system
called Venus. Venus intercepts file system calls on the clients and it works
on cached files from Vice. The key goal was scalability. Performance and
administration & day-to-day operations were considered and the system
successfully coped with these concerns. The paper initially describes a
prototype of the system. For every client there would be a process
listening on the server. Before using a cached file, Venus would verify the
timestamp with the server responsible. So each read would involve at least
one interaction with server. Based on the tests conducted on the prototype,
changes were made for performance in the following four distinct areas:
Cache management, Name resolution, communication & server process structure
and low-level storage representation. The fid is unique across all servers.
Interesting change is the use of callback. This reduces server interaction
for each file accessed. So whenever a file accessed has a callback, then,
the local cache is directly used. If not only then the server is contacted.
Comparisons were made with NFS and it was concluded that Andrew's scales
very well compared to NFS. It is interesting to note that most of this
distributed file system is implemented at user level. Overall, the paper
presented distributed file system from the aspects of scale and performance.
It was interesting to read on the approach taken on data consistency, cache
management, read-only replication, volume abstraction.



This archive was generated by hypermail 2.1.6 : Mon Feb 23 2004 - 22:26:43 PST