In the course of designing parallel programs for multiprocessor systems, one often wants to simulate different designs before they are actually implemented so that the ultimate program is fine-tuned for the particular system. To accommodate this, the author has constructed a simulator that can be used for many different multiprocessor architectures (with or without shared memory). The simulator collects statistical information and includes a trace facility.
The paper describes how the simulator works and how it may be used. Unfortunately, this description is blurred by many details that most readers will find irrelevant, such as the exact formats of the process and channel descriptors. Rizzo gives an honest account of the problems he encountered in the construction of the simulator, including problems with C, problems with the use of pointers, and problems with memory management.