A model of performance for virtual memory systems

Queueing network models are well suited for analyzing certain resource allocation problems associated with operating system design. An example of such a problem is the selection of the level of multiprogramming in virtual memory systems. If the number of programs actively competing for main memory is allowed to reach too high a value, trashing will occur and performance will be seriously degraded. On the other hand, performance may also suffer if the level of multiprogramming drops too low since system resources can become seriously under utilized in this case. Thus it is important for virtual memory systems to maintain optimal or near optimal levels of multiprogramming at all times. This paper presents an analytic model of computer system behavior which can be used to study multiprogramming optimization in virtual memory systems. The model, which explicitly represents the numerous interactions which occur as the level of multiprogramming varies, is used to numerically generate performance curves for representative sets of parameters. A simplified model consisting of a CPU and a single backing store device is then used to derive an approximate expression for the optimal level of multiprogramming. The simplified model is also used to examine the transient behavior of such systems. The mathematical model we present is based on some simplifying assumptions; in particular all programs executing in the system are supposed to be statistically identical. In this respect the model we present must be considered to be a theoretical explanation of a phenomenon (thrashing) observed in certain operating systems rather than an exact representation of reality. Certain assumptions of the mathematical model are relaxed in a simulation model where distribution functions of service times at the secondary memory and input-output devices are arbitrary; by comparison with the theoretical results we see that CPU utilization and throughput are not very sensitive to the specific forms of these distributions and that the usual exponential assumptions yield quite satisfactory results. The simulation model is also programmed to contain overhead. Again we observe that the mathematical model's predictions are in fair agreement with the useful CPU utilization predicted by the simulation experiments.