A methodology for modelling storage systems and its application to a network file system

The central question addressed by this dissertation is: "Can one structure the modelling of complex memory systems in such a way as to permit the use of standard, off-the-shelf software for modelling the behaviour of individual memory divices?" The highlights of the research reported in the dissertation are: (1) A survey of existing performance analysis techniques for memory systems, a discussion of their relative merits, and the establishment of the continued importance of simulation in this domain. (2) The development of a methodology that permits simulation models for memory systems to be built from performance models of the components, and the description of a tool based on this methodology. (3) A demonstration of the wide scope of applicability of this methodology by examples drawn from the primary, secondary, and tertiary levels of the memory hierarchy. (4) An implementation of the tool, and measurements to estimate the overheads imposed by it. (5) The use of the tool in the analysis of an actual memory system: a network file system which is currently being built and whose performance characteristics are unknown at the present time. This case study has a number of major components: (a) The modelling of individual components of the network file system. (b) The development of a synthetic driver for file system simulations, exhibiting locality and interarrival time characteristics similar to those in an existing file system. Actual observations and measurements of a PDP-10 file system at CMU are used as the basis for the development of this driver. (c) Simulations of the network file system, exploring the effect of a number of different system parameters on performance. The performance data as well as the experience gained with the tool in the course of this simulation study are significant. (6) A critique of the proposed ideas in the light of the experience gained in using them, and suggestions for future research based on this work. The dissertation thus provides, in a constructive manner, an affirmative answer to the question posed at the beginning of this document. The actual tool implementation, the synthetic file driver, and the results of the exploratory performance study of the network file system are important secondary contributions.