Multiprocessing in a network of workstations
James Harry Morris, David Andrew Nichols · 1989
The recent move to workstation-based computing environments has introduced a new point in the design space of multiprocessors: a loosely-coupled collection of workstations using a network file system for shared memory. One problem with such a system is managing the available workstations and making them available to clients on demand. The Butler system has been running at CMU for three years and is used hundreds of times daily to allow students and faculty to use idle workstations. I discovered that the system is used far more for interactive programs than expected. Surprisingly, security attacks involving the Butler system have been quite rare, despite the large student population among its users. A natural class of U scNIX applications that can take advantage of idle workstations includes programs consisting of multiple processes communicating via a shared file system. With such applications, the file system becomes a bottleneck for performance. The second part of the thesis examines the performance of a particular file system, the Andrew File System (AFS), developed at CMU. The major tool for the AFS performance analysis is a discrete-event simulation of the file server and its client workstations. The simulation's accuracy is verified by comparison with experiments run on the file system. Experiments show that the model's parameters can be used to construct a simple linear equation model of the server. While this model is not accurate under conditions when resources are nearing exhaustion, it is useful for a wide range of normal operation. Using the simulation, I estimate the effects of various parameters on AFS performance, such as network latency, CPU speed, and disk seek time. In addition, I examine the effects of proposed changes to the system, such as the use of encryption during transmission of file data. The simulation provides a number of insights about the operation of AFS. These include the fact that AFS is very CPU-limited, that it achieves respectable performance while using relatively slow communications primitives, and that it can handle a wide range of workloads without thrashing. The conclusions give more general observations about AFS and the process of constructing its simulator.