A Hybrid MPI Simulator

Performance analysis of large scale applications and predicting the impact of architectural changes on the behavior of such applications is difficult. Traditional approaches to measuring applications usually change their behavior, require recompilation, and need specialized tools to extract performance information. Often the tools are programming language specific and not suitable for all applications. If instead, an application is to be modeled to gather the same kind of information, then in-depth knowledge of the application is required. Furthermore, parameters that control the behavior of the application on a specific machine have to be adjusted; often in ways that are more art than science. In this paper we describe an approach that is a hybrid between running a parallel application in stand-alone mode and simulating the network it uses for MPI data exchanges. The discrete event network simulator is execution-driven by the application. We explain how our early prototype works and how it can be used. We mention several experiments that we have already performed with this prototype and show its potential for future research