The Andrew File System (AFS) University of (安德鲁文件系统(AFS)大学).pdf
文本预览下载声明
49
The Andrew File System (AFS)
The Andrew File System was introduced at Carnegie-Mellon University
(CMU) 1 in the 1980’s [H+88]. Led by the well-known Professor M. Satya-
narayanan of Carnegie-Mellon University (“Satya” for short), the main
goal of this project was simple: scale. Specifically, how can one design a
distributed file system such that a server can support as many clients as
possible?
Interestingly, there are numerous aspects of design and implementa-
tion that affect scalability. Most important is the design of the protocol be-
tween clients and servers. In NFS, for example, the protocol forces clients
to check with the server periodically to determine if cached contents have
changed; because each check uses server resources (including CPU and
network bandwidth), frequent checks like this will limit the number of
clients a server can respond to and thus limit scalability.
AFS also differs from NFS in that from the beginning, reasonable user-
visible behavior was a first-class concern. In NFS, cache consistency is
hard to describe because it depends directly on low-level implementa-
tion details, including client-side cache timeout intervals. In AFS, cache
consistency is simple and readily understood: when the file is opened, a
client will generally receive the latest consistent copy from the server.
49.1 AFS Version 1
We will discuss two versions of AFS [H+88, S+85]. The first version
(which we will call AFSv1, but actually the original system was called
the ITC distributed file system [S+85]) had some of the basic design in
place, but didn’t scale as desired, wh
显示全部