skip to main content
article
Free Access

Shade: a fast instruction-set simulator for execution profiling

Published:01 May 1994Publication History
Skip Abstract Section

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

          Full Access

          • Published in

            cover image ACM SIGMETRICS Performance Evaluation Review
            ACM SIGMETRICS Performance Evaluation Review  Volume 22, Issue 1
            May 1994
            289 pages
            ISSN:0163-5999
            DOI:10.1145/183019
            Issue’s Table of Contents
            • 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

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader