A simulation methodology for evaluating parallel computers

In this paper we present a simulation methodology for evaluating and understanding parallel computer architectures. The simulation tool that we have developed can generalize the effect of architectural features while maintaining the complex interactions of architecture and algorithm typical of a real computer system. We will show that our simulator is an accurate tool for predicting the performance of real world computers. Our approach is unique in that not only can the costs of various architectural features be modified, but aspects of the program running on the simulated architecture can be modified by the simulator as well. Issues such as task granularity, communication requirements, global versus local memory usage, floating point usage, etc. can be generalized.