High-performance computing is essential for solving large problems and for reducing the time to solution for a single problem. Current top high-performance computing systems contain 1000’s of processors. Therefore, new tools are needed to support the program development that will exploit high degrees of parallelism. The issue of modelbased performance evaluation of real world programs on large scale systems is addressed in this paper. We present the PerformanceProphet, which is a performance modeling and prediction tool for parallel and distributed programs. One of the main contributions of this paper is our methodology for reducing the time needed to evaluate the model. In addition, we describe our method for automatic performance model generation. We have implemented PerformanceProphet in Java and C++. We illustrate our approach by modeling and simulating a real-world material science parallel program.