Simulating Computer Systems provides an introduction to simulation for computer and communication-system designers who want to analyze the performance of their designs. In it MacDougall describes a discrete-event simulation language called smpl, discusses simulation modeling with smpl (using a variety of models as examples), describes the design of smpl, and presents a C language implementation. The book's first part introduces smpl simulation operations using a queueing network simulation model; addresses the development, verification, and validation of simulation models (including hybrid modeling and the use of analytic models in verification); and describes how to estimate the accuracy of simulation results. A multiprocessor system model and a CSMA/CD LAN model are studied in detail to emphasize the joint use of simulation and analytic models and to further illustrate the use of smpl. Projects for the reader include a CPU pipeline model and a token ring LAN model. The implementation of smpl is the focus of the book's second part, which describes the design of smpl function and data structures and outlines a variety of extensions. This description, together with the C source listing provided, will allow the reader to implement smpl on any system.
Simulating Computer Systems is included in the Computer Systems series, edited by Herb Schwetman.