Issue No. 02 - February (2003 vol. 14)
Arjan J.C. van Gemund , IEEE Computer Society
<p><b>Abstract</b>—Performance prediction is an important engineering tool that provides valuable feedback on design choices in program synthesis and machine architecture development. We present an analytic performance modeling approach aimed to minimize prediction cost, while providing a prediction accuracy that is sufficient to enable major code and data mapping decisions. Our approach is based on a performance simulation language called P<scp>amela</scp>. Apart from simulation, P<scp>amela</scp> features a symbolic analysis technique that enables P<scp>amela</scp> models to be compiled into symbolic performance models that trade prediction accuracy for the lowest possible solution cost. We demonstrate our approach through a large number of theoretical and practical modeling case studies, including six parallel programs and two distributed-memory machines. The average prediction error of our approach is less than 10 percent, while the average worst-case error is limited to 50 percent. It is shown that this accuracy is sufficient to correctly select the best coding or partitioning strategy. For programs expressed in a high-level, structured programming model, such as data-parallel programs, symbolic performance modeling can be entirely automated. We report on experiments with a P<scp>amela</scp> model generator built within a data-parallel compiler for distributed-memory machines. Our results show that with negligible program annotation, symbolic performance models are automatically compiled in seconds, while their solution cost is in the order of milliseconds.</p>
Performance prediction, parallel processing, analytic performance modeling.
A. J. van Gemund, "Symbolic Performance Modeling of Parallel Systems," in IEEE Transactions on Parallel & Distributed Systems, vol. 14, no. , pp. 154-165, 2003.