next up previous contents
Next: ProGenitor Up: The Simulator Previous: Simulator Output

 

4.4 Simulation of Real Programs

To use this simulator to simulate the performance of real programs it is necessary to somehow generate the required setup and behavior files.

The setup information for the simulator was not too difficult to obtain. The make utility was used to generate file dependencies [3]. The ctags utility determined which functions were contained in each source file. File sizes were obtained using wc. We gathered data on compilation times by compiling the programs with the gcc compiler and using the time utility to report the system and user time needed to compile each file.

Obtaining the behavior traces proved to be more difficult. Neither Gprof nor purify could supply us with the needed data.

We were fortunate to have Jim Larus' excellent tool EEL [15] for instrumenting the executables to generate trace information. Noah Treuhaftgif used EEL to create a utility (called eer) to modify binary executables of our test programs. When these instrumented binaries are subsequently executed, each procedure entry and exit causes a time-stamped record to be generated for the behavior file. While the behavior traces produced in this manner are voluminous, they provide a detailed account of where time is spent in the program's functions.


next up previous contents
Next: ProGenitor Up: The Simulator Previous: Simulator Output