An empirical analysis of instruction repetition

We study the phenomenon of instruction repetition, where the inputs and outputs of multiple dynamic instances of a static instruction are repeated. We observe that over 80% of the dynamic instructions executed in several programs are repeated and most of the repetition is due to a small number of static instructions. We attempt understand the source of this repetitive behavior by categorizing dynamic program instructions into dynamic program slices at both a global level and a local (within function) level. We observe that repeatability is more an artifact of how computation is expressed, and less of program inputs. Function-level analysis suggests that many functions are called with repeated arguments, though almost all of them have side effects. We provide commentary on exploiting the observed phenomenon and its sources in both software and hardware.

[1]  James E. Smith,et al.  The predictability of data values , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[2]  Mikko H. Lipasti,et al.  Value locality and load value prediction , 1996, ASPLOS VII.

[3]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[4]  Markus Mock,et al.  Annotation-Directed Run-Time Specialization in C , 1997, PEPM.

[5]  Mikko H. Lipasti,et al.  Exceeding the dataflow limit via value prediction , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[6]  G.S. Sohi,et al.  Dynamic instruction reuse , 1997, ISCA '97.

[7]  James E. Smith,et al.  Modeling program predictability , 1998, ISCA.

[8]  Thomas Reps,et al.  Partial evaluation using dependence graphs , 1998 .

[9]  Brian N. Bershad,et al.  Fast, effective dynamic compilation , 1996, PLDI '96.

[10]  Charles Consel,et al.  A general approach for run-time specialization and its application to C , 1996, POPL '96.

[11]  Doug Burger,et al.  Evaluating Future Microprocessors: the SimpleScalar Tool Set , 1996 .

[12]  Kai Wang,et al.  Highly accurate data value prediction using hybrid predictors , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.