skip to main content
10.1145/183018.183032acmconferencesArticle/Chapter ViewAbstractPublication PagesmetricsConference Proceedingsconference-collections
Article
Free Access

Shade: a fast instruction-set simulator for execution profiling

Published:01 May 1994Publication History

ABSTRACT

Tracing tools are used widely to help analyze, design, and tune both hardware and software systems. This paper describes a tool called Shade which combines efficient instruction-set simulation with a flexible, extensible trace generation capability. Efficiency is achieved by dynamically compiling and caching code to simulate and trace the application program. The user may control the extent of tracing in a variety of ways; arbitrarily detailed application state information may be collected during the simulation, but tracing less translates directly into greater efficiency. Current Shade implementations run on SPARC systems and simulate the SPARC (Versions 8 and 9) and MIPS I instruction sets. This paper describes the capabilities, design, implementation, and performance of Shade, and discusses instruction set emulation in general.

References

  1. AS92.Kristy Andrews and Duane Sand, "Migrating a CISC Computer Family onto RISC via Object Code Translation," Proc. of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-V), 213-222, Oct. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ASH86.Anant Agarwal, Richard L. Sites, and Mark Horowitz, "ATUM: A New Technique for Capturing Address Traces Using Microcode," Proc. of the 13th international Symposium on Computer Architecture, 119-127, Jun. 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Baumann86.Robert A. Baumann, "Z80MU," Byte, 203-216, Oct. 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BDCW91.Eric A. Brewer, Chrysanthos N. Dellarocas, Adrian Colbrook, and William E. Weiht, "PROTEUS: A High- Performance Parallel-Architecture Simulator," MIT/LCS/TR- 516, Massachusetts Institute of Technology, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bedichek90.Robert Bedichek, "Some Efficient Architecture Simulation Techniques," Winter 1990 USENIX Conference, Jan. 1990.Google ScholarGoogle Scholar
  6. Bedichek94.Robert Bedichek, "The Meerkat Multicomputer: Tradeoffs in Multicomputer Architecture," Doctoral Dissertation, University of Washington Department of Comp. Sci. and Eng., 1994 (in preparation). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. BKW90.Anita Borg, R. E. Kessler, and David W. Wall, "Generation and Analysis of Very Long Address Traces," Proc. of the 17th Annual Symposium on Computer Architecture, 270- 279, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CHKW86.F. Chow, M. Himelstein, E. Killian, and L. Weber, "'Engineering a RISC Compiler System," IEEE COMPCON, Mar. 1986.Google ScholarGoogle Scholar
  9. CK93.Robert F. Cmelik and David Keppel, "Shade: A Fast Instruction-Set Simulator for Execution Profiling," SMLI 93- 12, UWCSE 93-06-06, Sun Microsystems Laboratories, Inc., and the University of Washington, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cmelik93.Robert F. Cmelik, The Shade User's Manual, Sun Microsystems Laboratories, Inc., Feb. 1993.Google ScholarGoogle Scholar
  11. CMMJS88.R. C. Covington, S. Madala, V. Mehta, J. R. Jump, and J. B. Sinclair, "The Rice Parallel Processing Testbed," ACM SIGMETRICS, 4-1 t, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. CUL89.Craig Chambers, David Ungar, and Elgin Lee, "An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes," OOPSLA '89 Proceedings, 49-70, Oct. 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. DLHH93.Peter Davies, Philippe LaCroute, John Heinlein, and Mark Horowitz, "Mable: A Technique for Efficient Machine Simulation," (to appear), Quantum Effect Design, inc., and S tandford University.Google ScholarGoogle Scholar
  14. DS84.Peter Deutsch and Alan M. Schiffman, "Efficient Implementation of the Smalltalk-80 System," llth Annual Symposium on Principles of Programming Languages, 297-302, Jan. 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. EKKL90.Susan J. Eggers, David Keppel, Eric J. Koldinger, and Henry M. Levy, "Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor," ACM SIGMETRICS, 37-47, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Evans92.Doug Evans, Personal comm., Dec. 1992.Google ScholarGoogle Scholar
  17. FC88.Richard M. Fujimoto and William B. Campbell, "Efficient Instruction Level Simulation of Computers," Transactions of The Society for Computer Simulation, 5(2): 109- 124, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. GH92.Stephen R. Goldschrnidt and John L. Hennessy, "The Accuracy of Trace-Driven Simulations of Multiprocessors," CSL-TR-92-546, Stanford University Computer Systems Laboratory, Sep. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. HCU91.Urs H61zle, Craig Chambers, and David Ungar, "Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches," Proc. of the European Conference on Object-Oriented Programming (ECOOP), Jul. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. HJ92.Reed Hastings and Bob Joyce, "Purify: Fast Detection of Memory Leaks and Access Errors," Proc. of the Winter Usenix Conference, 1-12, Jan. 1992.Google ScholarGoogle Scholar
  21. Hostetter93.Mat Hostetter, Personal comm., Jul. 1993.Google ScholarGoogle Scholar
  22. HP93.John Hennessy and David Patterson, Computer Organization and Design: The Hardware-Software Interface (Appendix A, by James R. Larus), Morgan Kaufman, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Hsu89.Peter Hsu, Introduction to Shadow, Sun Microsystems, Inc., 28 Jul. 1989.Google ScholarGoogle Scholar
  24. Irlam93.Gordon Irlam, Personal comm., Feb. 1993.Google ScholarGoogle Scholar
  25. James90.David James, "Multiplexed Busses: The Endian Wars Continue," IEEE Micro Magazine, 9-22, Jun. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Johnston79.Ronald L. Johnston, "The Dynamic Incremental Compiler of APLk3000," APL Quote Quad, 9(4): 82-87, Association for Computing Machinery (ACM), Jun. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Kane87.Gerry Kane, MIPS R2000 RISC Architecture, Prentice-Hall, Englewood Cliffs, New Jersey, 1987.Google ScholarGoogle Scholar
  28. KEH91.David Keppel, Susan J. Eggers, and Robert R. Henry, "A Case for Runtime Code Generation," University of Washington Comp. Sci. and Eng. UWCSE TR 91-11-04, Nov. 1991.Google ScholarGoogle Scholar
  29. Keppel91.David Keppel, "A Portable interface for On-The-Fly Instruction Space Modification," Proc. of the 1991 Symposium on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IV), 86-95, Apr. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Killian94.Earl Killian, Personal comm., Feb. 1994.Google ScholarGoogle Scholar
  31. LB94.James R. Larus and Thomas Ball, "Rewriting Executable Files to Measure Program Behavior," Software- Practice and Experience, 24(2): 197-218, Feb. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Magnusson93.Peter S. Magnusson, "A Design For Efficient Simulation of a Multiproces~or,'" Proc. of the First Internation al Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), La Jolla, California, Jan. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Magnusson94.Peter S. Magnusson, "Partial Translation," Swedish Institute of Computer Science, Mar. 1994.Google ScholarGoogle Scholar
  34. May87.Cathy May, "Mimic: A Fast S/370 Simulator," Proc. of the ACM SIGPLAN 1987 Symposium on Interpreters and Interpretive Techniques; SIGPLAN Not&es, 22(6): 1-13, Jun. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. MIPS86.MIPS, Languages and Programmer's Manual, MIPS Computer Systems, Inc., 1986.Google ScholarGoogle Scholar
  36. NG88.David Notkin and William G. Griswold, "Extension and Software Development," Proc. of the lOth International Conference on Software Engineering, 274-283, April 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Nielsen91.Robert D. Nielsen, "DOS on the Dock," NeXT~orld, 50-51, Mar./Apr. 1991.Google ScholarGoogle Scholar
  38. Pittman87.Thomas Pittman, "Two-Level Hybrid Interpreter/Native Code Execution for Combined Space-Time Program Efficiency," ACM SIGPLAN Symposium on Interpreters and interpretive Techniques, 150-152, Jun. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Ramsey93.Norman Ramsey, Personal comm., Jun. 1993.Google ScholarGoogle Scholar
  40. RHLLLW93.S. K. Reinhardt, M. D. Hill, J. R. Larus, A. R. Lebeck, J. C. Lewis, and D. A. Wood, "The Wisconsin Wind Tunnel: Virtual Prototyping of Parallel Computers on Measurement and Modeling of Computer Systems," ACM SIG- METRICS, 48-60, Jun. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Richardson92.Stephen E. Richardson, "Caching Function Results: Faster Arithmetic by Avoiding Unnecessary Computation," SMLI TR92-1, Sun Microsystems Laboratories, Inc., Sep. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. SCKMR93.Richard L. Sites, Anton Chernoff, Matthew B. Kerk, Maurice P. Marks, and Scott G. Robinson, "Binary Translation," CACM, 36(2): 69-81, Feb. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. SE93.Gabriel M. Silberman and Kemal Ebcio~lu, "An Architectural Framework for Supporting Heterogeneous Instruction- Set Architectures," IEEE Computer, 39-56, Jun. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. SE94.Amitabh Srivastava and Alan Eustace, "ATOM: A System for Building Customized Program Analysis Tools," Proc. of the 1994 ACM Conference on Programming Language Design and Implementation (PLDI), 1994 (to appear). Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. SJF92.Craig B. Stunkel, Bob Janssens, and W. Kent Fuchs, "Address Tracing of Parallel Systems via TRAPEDS," Microprocessors and Microsystems, 16(5): 249-261, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Sosic˘92.Rok Sosi~, "Dynascope: A Tool for Program Directing," Proc. of the 1992 ACM Conference on Programming Language Design and Implementation (PLDI), 12-21, Jun. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. SPARC9."The SPARC Architecture Manual, Version Nine," SPARC International, Inc., 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. SunOS4.SunOS Reference Manual, Sun Microsystems, Inc., Mar. 1990.Google ScholarGoogle Scholar
  49. SunOS5.SunOS 5.0 Reference Manual, SunSoft, Inc., Jun. 1992.Google ScholarGoogle Scholar
  50. SW79.H. J. Saal and Z. Weiss, "A Software High Performance APL Interpreter," APL Quote Quad, 9(4): 74-81, Jun. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. UMIPSV.UMIPS-V Reference Manual, MIPS Computer Systems, Inc., 1990.Google ScholarGoogle Scholar
  52. VF94.Jack E. Veenstra and Robert J. Fowler, "MINT: A Front End for Efficient Simulation of Shared-Memory Multiprocessots," Proc. of the Second International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), 201-207, Jan. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Shade: a fast instruction-set simulator for execution profiling

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            SIGMETRICS '94: Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems
            May 1994
            294 pages
            ISBN:089791659X
            DOI:10.1145/183018

            Copyright © 1994 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 May 1994

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate459of2,691submissions,17%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader