Emulation of Shared Virtual Memory
on an Experimental Multiprocessor.
Department of Computer Engineering
Lund University, Sweden
October 16, 1989
The performance of a paged virtual memory system is relative to program behaviour, which makes it important to use realistic workloads in the evaluation. Memory traces are often used to drive simulation models of paging performance. In the case of multiprocessors, however, the complex interactions between parallel processes cannot be captured by static traces.
An experimental environment for performance evaluation of shared virtual memory systems on a class of multiprocessors has been developed. It is based on emulation of memory structures in software, which combines the flexibility of simulation with the efficiency of dedicated hardware. Each memory reference is handled by software executed on special purpose emulation hardware, which makes it possible to implement a wide range of memory management mechanisms.
By combining hardware (containing 38 processing elements) with emulation software, virtual machines capable of executing real life parallel programs are created. Non-invasive run-time measurements targeted for each particular experiment can be done by means of 'software probes' integrated in the emulation software.
In order to show how the experimental system can be used, a particular decentralized virtual memory management scheme has been implemented. It is based on a generalized version of the Denning working set policy also handling shared pages. As part of the example, facilities for automatic experimental control and graphical result presentation are demonstrated.