SimOS is a computer simulation environment whose goal is to provide a platform for measuring and evaluating design alternatives of computer systems that have yet to be built. The environment is set up in such a way that both hardware and the software running on it can be simulated to the required level of detail needed for a particular study. In fact, the simulation environment allows users to implement a complete virtual machine in a wide range of levels of detail, allowing explicit control of the tradeoff between simulation speed and simulation detail.
This paper is subdivided into seven main parts and an extensive reference list. Part 1, “Introduction,” presents the goals, general properties, and challenges of the SimOS project. Part 2 details the main aspects of the SimOS computer simulation environment. Part 3 highlights the qualities of SimOS for the simulation of complex workloads, the key properties of scalability of this environment, and its advantages for the user. Part 4 is devoted to the important topic of data collection possibilities. Part 5 contains two case studies that give relevant information about the actual use of SimOS. Part 6 compares key aspects of SimOS to those of some other tools for studying the behavior of computer systems. Part 7 presents conclusions.
The paper is well written and gives a clear picture of the SimOS environment, its capabilities, the challenges that were faced during its development, the solutions that were adopted, and the practical uses for the tool. It will not, however, be easy reading for the casual (though interested) reader who has had no experience either in computer architecture or in its simulation.
The achievement of the team that has made SimOS a practical tool is considerable. Many simulation engines have been built with the purpose they had in mind, some dating back almost a quarter of a century, but none of these achieved the versatility and efficiency needed to make the simulation of complete computer systems (including the software running on them) an effective and affordable tool in computer design.
In this sense, SimOS is most probably the first of its kind. It enables users to carry out the type of work they would engage in when evaluating an actual hardware prototype of a computer system, including measuring transfer rates of processor pipelines and monitoring cache behavior, the I/O handling properties of the (intended) operating system, and the transaction handling rate of an application on top of all this. Of course, for every one of these studies, the environment will have to be run with models that represent the appropriate level of detail and are available under SimOS, but if an actual system were being measured, a similar approach would have to be taken, with a separate experiment being needed for most types of measurement.