Skip to main content

Abstract

The instrumentation of applications to generate run-time information and statistics is an important enabling technology for the development of tools that support the fast and accurate simulation of computer architectures. In addition, instrumentation tools play an equally important role in the optimization of applications, in the evaluation of new compilation algorithms, and in the analysis of operating system overhead. An instrumentation tool is capable of modifying a program under study so that essential dynamic information of interest is recorded while the program executes. The instrumentation process should not affect the original functionality of the test program, although it will slow down its operation. In a typical situation, a computer architect uses an instrumentation tool to produce an instruction or data trace of an application. The architect then feeds that trace to a trace-driven simulation program. The usefulness of instrumentation tools is obvious from a quick glance at current research publications in the area, where a significant number of authors use traces generated by two of the most popular instrumentation tools: pixie [23] and spixtools [6]. These tools are popular because of their applicability to many architectures and programs, their relatively low overhead, and their simplicity of use.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Agarwal, R. Sites, and M. Horowitz, “ATUM: A new technique for capturing address traces using microcode,” Proceedings of 13th Annual Symposium on Computer Architecture, (Tokyo, Japan), Jun. 1986, pp. 119–127.

    Google Scholar 

  2. A. Agarwal, Analysis of Cache Performance for Operating Systems and Multiprogramming. Kluwer Academic Publishers: Norwell, MA, 1989.

    Book  Google Scholar 

  3. T. Ball and J. Larus, “Optimally profiling and tracing programs,” Proceedings of the 19th Annual Symposium on Principles of Programming Languages, Jan. 1992.

    Google Scholar 

  4. J. Chen, “The Impact of Software Structure and Policy on CPU and Memory System Performance,” Technical Report CMU-CS-94-145, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, May 1994.

    Google Scholar 

  5. B. Cmelik and D. Keppel, “Shade: A fast instruction-set simulator for execution profiling,” Proceedings of 1994 SIGMETRICS Conference on Measurement and Modeling of Computer Systems, (Nashville, TN), May 1994, pp. 128–137.

    Google Scholar 

  6. B. Cmelik, “SpixTools Introduction and User’s Manual,” Technical Report SMLI TR-93-6, Sun Microsystems Laboratory, Mountain View, CA, Feb. 1993.

    Google Scholar 

  7. Digital Equipment Corp., Alpha Architecture Handbook, 1992.

    Google Scholar 

  8. S. Eggers, D. Keppel, E. Koldinger, and H. Levy, “Techniques for efficient inline tracing on a shared-memory multiprocessor,” Proceedings of 1990 SIGMETRICS Conference on Measurement and Modeling of Computer Systems, (Boulder, CO), May 1990, pp. 37–47.

    Google Scholar 

  9. K. Flanagan, K. Grimsrud, J. Archibald, B. Nelson, “BACH: BYU Address Collection Hardware,” Technical Report TR-A150-92.1, Department of Electrical and Computer Engineering, Brigham Young University, Provo, UT, Jan. 1992.

    Google Scholar 

  10. G. Gircys, Understanding and Using COFF, O’Reilly & Associates, Sebastopol, CA.

    Google Scholar 

  11. M. Golden, “Issues in Trace Collection Through Program Instrumentation,” MS Thesis, Department of Electrical and Computer Engineering, The University of Illinois, Urbana-Champaign, 1991.

    Google Scholar 

  12. J. Hennessy and D. Patterson, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann Publishers: San Mateo, CA, 1993.

    Google Scholar 

  13. Intel Corp., i486 Microprocessor Programmer’s Reference Manual, 1990.

    Google Scholar 

  14. Intel Corp., UNIX System V Rel 4.0 Programmer’s Guide, Order #465800-001, 1990.

    Google Scholar 

  15. Kane, Gerry, MIPS R2000 RISC Architecture, Prentice Hall: Englewood Cliffs, NJ, 1987.

    Google Scholar 

  16. J. Larus, “Abstract execution: A technique for efficiently tracing programs,” Software Practice and Experience, Volume 20, Number 12, Dec. 1990, pp. 1241–1258.

    Article  Google Scholar 

  17. J. Larus, “Efficient program tracing,” IEEE Computer, Volume 26, Number 5, May 1993, pp. 52–60.

    Article  Google Scholar 

  18. J. Larus and T. Ball, “Rewriting executable files to measure program behavior,” Software Practice and Experience, Volume 24, Number 2, Feb. 1994, pp. 197–218.

    Article  Google Scholar 

  19. D. Mazieres and M. Smith, “Abstract Execution in a Multitasking Environment,” Technical Report 31-94, Center for Research in Computing Technology, Harvard University, Cambridge, MA, Nov. 1994.

    Google Scholar 

  20. J. C. Mogul and A. Borg, “The effect of context switches on cache performance,” Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems, (Santa Clara, CA), 1991, pp. 75–84.

    Google Scholar 

  21. R. Uhlig, D. Nagle, T. Stanley, T. Mudge, S. Sechrest and R. Brown, “Design tradeoff for software-managed TLBs,” ACM Transactions on Computer Systems, Volume 12, Number 3, Aug. 1995, pp. 206–235.

    Google Scholar 

  22. J. Pierce and T. Mudge, “IDtrace: A Tracing Tool for i486 Simulation,” Technical Report CSE-TR-203-94, Dept. of Electrical Engineering, and Computer Science, University of Michigan, Jan. 1994.

    Google Scholar 

  23. M. Smith, “Tracing with Pixie,” Technical Report CSL-TR-91-497, Center for Integrated Systems, Stanford University, Nov. 1991.

    Google Scholar 

  24. A. Srivastava and A. Eustace. “ATOM: A system for building customized program analysis tools,” Proceedings of the SIGPLAN 1994 Conference on Programming Language Design and Implementation, (Orlando, FL), Jun. 1994, pp. 196–205.

    Google Scholar 

  25. A. Srivastava and D. Wall, “A Practical System for Intermodular Code Optimization at Link-Time,” Research Report 92/6, DEC Western Research Laboratory, Palo Alto, CA, Dec. 1992.

    Google Scholar 

  26. C. Stephens, B. Cogswell, J. Heinlein, G. Palmer, and J. Shen, “Instruction level profiling and evaluation of the IBM RS/6000,” Proceedings of 18th Annual International Symposium on Computer Architecture, (Toronto, Canada), May 1991, pp. 180–189.

    Google Scholar 

  27. Sun Microsystems, The Sparc Architecture Manual, 1989.

    Google Scholar 

  28. R. Uhlig, D. Nagle, T. Mudge, and S. Sechrest, “Trap-driven simulation with Tapeworm II,” Proceedings of the 6th International Conference on Architectural Support for. Programming Languages and Operating Systems, (San Jose, CA), Oct. 1994.

    Google Scholar 

  29. D. Wall, “Systems for late code modification,” In Code Generation-Concepts, Tools, Techniques, Springer-Verlag, 1992, pp. 275–293.

    Google Scholar 

  30. D. Wall, “Link-Time Code Modification,” Research Report 89/17, DEC Western Research Laboratory, Palo Alto, CA, Sept. 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer Science+Business Media New York

About this chapter

Cite this chapter

Pierce, J., Smith, M.D., Mudge, T. (1995). Instrumentation Tools. In: Conte, T.M., Gimarc, C.E. (eds) Fast Simulation of Computer Architectures. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2361-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2361-1_3

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6002-5

  • Online ISBN: 978-1-4615-2361-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics