The Influence of Scale on Distributed File System
Design
M. Satyanarayanan
Abstract
Scale should be recognized as a primary factor influencing the architecture
and implementation of distributed systems. This paper uses Andrew and Coda,
distributed file systems built at Carnegie Mellon University, to validate
this proposition. Performance, operability and security are dominant considerations
in the design of these systems. Availability is a further consideration
in the design of Coda. Client caching, bulk data transfer, token-based
mutual authentication, and hierarchical organization of the protection
domain have emerged as mechanisms that enhance scalability. The separation
of concerns made possible by functional specialization has also proved
valuable in scaling. Heterogeneity is an important by-product of growth,
but the mechanisms available to cope with it are rudimentary. Physical
separation of clients and servers turns out to be a critical requirement
for scalability.