Skip to main content

Efficient on-the-fly analysis of program behavior and static cache simulation

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 864))

Abstract

The main contributions of this paper are twofold. First, a general framework for control-flow partitioning is presented for efficient on-the-fly analysis, i.e. for program behavior analysis during execution using a small number of instrumentation points. The formal model is further refined for certain analyses by transforming a program's call graph into a function-instance graph. Performance evaluations show that the number of measurement points can be reduced by one third using these methods.

Second, the method of static cache simulation is introduced. Static cache simulation provides the means to predict a large number of cache references prior to the execution time of a program. The method is based on a variation of an iterative data-flow algorithm commonly used in optimizing compilers. It utilizes control-flow partitioning and function-instance graphs for predicting the caching behavior of each instruction. To our knowledge, no prior work has been done on predicting caching behavior statically. A detailed description is provided for instruction cache analysis, which is then discussed for a variety of applications ranging from fast instruction cache performance evaluation to analytical bounding of execution time for real-time applications.

Supported in part by the Office of Naval Research, contract # N00014-94-1-0006.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers — Principles, Techniques, and Tools. Addision-Wesley, 1986.

    Google Scholar 

  2. R. Arnold, F. Mueller, D. B. Whalley, and M. Harmon. Bounding worst-case instruction cache performance. In IEEE Symposium on Real-Time Systems, December 1994. (accepted).

    Google Scholar 

  3. T. Ball and J. R. Larus. Optimally profiling and tracing programs. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 59–70, January 1992.

    Google Scholar 

  4. M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 329–338, June 1988.

    Google Scholar 

  5. A. Borg, R. E. Kessler, and D. W. Wall. Generation and analysis of very long address traces. In International Symposium on Computer Architecture, pages 270–279, May 1990.

    Google Scholar 

  6. G. Chartrand and L. Lesniak. Graphs & Digraphs. Wadsworth & Brooks, 2nd edition, 1986.

    Google Scholar 

  7. M. Hill. A case for direct-mapped caches. IEEE Computer, 21(11):25–40, December 1988.

    Google Scholar 

  8. F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Dept. of CS, Florida State University, July 1994.

    Google Scholar 

  9. F. Mueller and D. B. Whalley. Fast instruction cache analysis via static cache simulation. TR 94-042, Dept. of CS, Florida State University, April 1994.

    Google Scholar 

  10. F. Mueller, D. B. Whalley, and M. Harmon. Predicting instruction cache behavior. In ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, June 1994.

    Google Scholar 

  11. C. Stunkel and W. Fuchs. Trapeds: Producing traces for multicomputers via execution driven simulation. In SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 70–78, May 1989.

    Google Scholar 

  12. D. B. Whalley. Techniques for fast instruction cache performance evaluation. Software Practice & Experience, 19(1):195–203, January 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Baudouin Le Charlier

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mueller, F., Whalley, D.B. (1994). Efficient on-the-fly analysis of program behavior and static cache simulation. In: Le Charlier, B. (eds) Static Analysis. SAS 1994. Lecture Notes in Computer Science, vol 864. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58485-4_35

Download citation

  • DOI: https://doi.org/10.1007/3-540-58485-4_35

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58485-8

  • Online ISBN: 978-3-540-49005-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics