This talk begins with a brief description of modern performance analysis methods for shared memory computers and the role machine simulation plays in them. We will then cover some basic simulation concepts and look at the extra challenges that complete machine simulation entails. After a brief review of the state-of-the-art in (complete) machine simulation, we will introduce Sparc-Sulima, a complete UltraSPARC I/II SMP simulator developed here under the ANU-Fujitsu CAP Program.
The complexity of the UltraSPARC ISA presents many challenges in developing a reliable and yet reasonably efficient implementation of such a simulator. Our implementation includes a heavily object-oriented design for the simulator modules and infrastructure, caching of repeated computations for performance, adding an OS (system call) emulation mode to the simulator, using a powerful scripting interface and a implementing a variety of testing strategies. After describing this implementation we will evaluate its success, using simulator performance results.
An ultimate and critical goal in constructing such an artifact is to successfully boot an existing operating system from it; we describe the techniques implemented so far to model the PROM and console devices, and our experiences so far in booting Sparc-Linux on the simulator.
We will conclude by outlining intended future work on Sparc-Sulima anbd related research themes.