Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 11, Issue 3, Pages 191-198
http://dx.doi.org/10.1155/2003/720402

A Tool for Performance Modeling of Parallel Programs

J.A. González,1 C. Rodríguez,1 G. Rodríguez,1 F. de Sande,1 and M. Printista2

1Dpto. Estadística, I.O. y Computación, Universidad de La Laguna, La Laguna, 38271, Spain
2Universidad Nacional de San Luis, Ejército de los Andes 950, San Luis, Argentina

Received 28 July 2003; Accepted 28 July 2003

Copyright © 2003 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Current performance prediction analytical models try to characterize the performance behavior of actual machines through a small set of parameters. In practice, substantial deviations are observed. These differences are due to factors as memory hierarchies or network latency. A natural approach is to associate a different proportionality constant with each basic block, and analogously, to associate different latencies and bandwidths with each "communication block". Unfortunately, to use this approach implies that the evaluation of parameters must be done for each algorithm. This is a heavy task, implying experiment design, timing, statistics, pattern recognition and multi-parameter fitting algorithms. Software support is required. We present a compiler that takes as source a C program annotated with complexity formulas and produces as output an instrumented code. The trace files obtained from the execution of the resulting code are analyzed with an interactive interpreter, giving us, among other information, the values of those parameters.