Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Shade: a fast instruction-set simulator for execution profiling

Published: 01 May 1994 Publication 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]
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.
[2]
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.
[3]
Robert A. Baumann, "Z80MU," Byte, 203-216, Oct. 1986.
[4]
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.
[5]
Robert Bedichek, "Some Efficient Architecture Simulation Techniques," Winter 1990 USENIX Conference, Jan. 1990.
[6]
Robert Bedichek, "The Meerkat Multicomputer: Tradeoffs in Multicomputer Architecture," Doctoral Dissertation, University of Washington Department of Comp. Sci. and Eng., 1994 (in preparation).
[7]
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.
[8]
F. Chow, M. Himelstein, E. Killian, and L. Weber, "'Engineering a RISC Compiler System," IEEE COMPCON, Mar. 1986.
[9]
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.
[10]
Robert F. Cmelik, The Shade User's Manual, Sun Microsystems Laboratories, Inc., Feb. 1993.
[11]
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.
[12]
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.
[13]
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.
[14]
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.
[15]
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.
[16]
Doug Evans, Personal comm., Dec. 1992.
[17]
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.
[18]
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.
[19]
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.
[20]
Reed Hastings and Bob Joyce, "Purify: Fast Detection of Memory Leaks and Access Errors," Proc. of the Winter Usenix Conference, 1-12, Jan. 1992.
[21]
Mat Hostetter, Personal comm., Jul. 1993.
[22]
John Hennessy and David Patterson, Computer Organization and Design: The Hardware-Software Interface (Appendix A, by James R. Larus), Morgan Kaufman, 1993.
[23]
Peter Hsu, Introduction to Shadow, Sun Microsystems, Inc., 28 Jul. 1989.
[24]
Gordon Irlam, Personal comm., Feb. 1993.
[25]
David James, "Multiplexed Busses: The Endian Wars Continue," IEEE Micro Magazine, 9-22, Jun. 1990.
[26]
Ronald L. Johnston, "The Dynamic Incremental Compiler of APLk3000," APL Quote Quad, 9(4): 82-87, Association for Computing Machinery (ACM), Jun. 1979.
[27]
Gerry Kane, MIPS R2000 RISC Architecture, Prentice-Hall, Englewood Cliffs, New Jersey, 1987.
[28]
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.
[29]
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.
[30]
Earl Killian, Personal comm., Feb. 1994.
[31]
James R. Larus and Thomas Ball, "Rewriting Executable Files to Measure Program Behavior," Software- Practice and Experience, 24(2): 197-218, Feb. 1994.
[32]
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.
[33]
Peter S. Magnusson, "Partial Translation," Swedish Institute of Computer Science, Mar. 1994.
[34]
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.
[35]
MIPS, Languages and Programmer's Manual, MIPS Computer Systems, Inc., 1986.
[36]
David Notkin and William G. Griswold, "Extension and Software Development," Proc. of the lOth International Conference on Software Engineering, 274-283, April 1988.
[37]
Robert D. Nielsen, "DOS on the Dock," NeXT~orld, 50-51, Mar./Apr. 1991.
[38]
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.
[39]
Norman Ramsey, Personal comm., Jun. 1993.
[40]
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.
[41]
Stephen E. Richardson, "Caching Function Results: Faster Arithmetic by Avoiding Unnecessary Computation," SMLI TR92-1, Sun Microsystems Laboratories, Inc., Sep. 1992.
[42]
Richard L. Sites, Anton Chernoff, Matthew B. Kerk, Maurice P. Marks, and Scott G. Robinson, "Binary Translation," CACM, 36(2): 69-81, Feb. 1993.
[43]
Gabriel M. Silberman and Kemal Ebcio~lu, "An Architectural Framework for Supporting Heterogeneous Instruction- Set Architectures," IEEE Computer, 39-56, Jun. 1993.
[44]
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).
[45]
Craig B. Stunkel, Bob Janssens, and W. Kent Fuchs, "Address Tracing of Parallel Systems via TRAPEDS," Microprocessors and Microsystems, 16(5): 249-261, 1992.
[46]
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.
[47]
"The SPARC Architecture Manual, Version Nine," SPARC International, Inc., 1992.
[48]
SunOS Reference Manual, Sun Microsystems, Inc., Mar. 1990.
[49]
SunOS 5.0 Reference Manual, SunSoft, Inc., Jun. 1992.
[50]
H. J. Saal and Z. Weiss, "A Software High Performance APL Interpreter," APL Quote Quad, 9(4): 74-81, Jun. 1979.
[51]
UMIPS-V Reference Manual, MIPS Computer Systems, Inc., 1990.
[52]
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.

Cited By

View all
  • (2021)Research on Approaches of Implementation of Instruction Set Simulator2021 International Conference on Electronic Information Engineering and Computer Science (EIECS)10.1109/EIECS53707.2021.9588034(1008-1011)Online publication date: 23-Sep-2021
  • (2021)Post-synthetically modified metal–organic frameworks for sensing and capture of water pollutantsDalton Transactions10.1039/D1DT02862FOnline publication date: 2021
  • (2017)CPR: cross platform binary code reuse via platform independent trace programProceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3092703.3092707(158-169)Online publication date: 10-Jul-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 01 May 1994
Published in SIGMETRICS Volume 22, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)168
  • Downloads (Last 6 weeks)27
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Research on Approaches of Implementation of Instruction Set Simulator2021 International Conference on Electronic Information Engineering and Computer Science (EIECS)10.1109/EIECS53707.2021.9588034(1008-1011)Online publication date: 23-Sep-2021
  • (2021)Post-synthetically modified metal–organic frameworks for sensing and capture of water pollutantsDalton Transactions10.1039/D1DT02862FOnline publication date: 2021
  • (2017)CPR: cross platform binary code reuse via platform independent trace programProceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3092703.3092707(158-169)Online publication date: 10-Jul-2017
  • (2017)Virtual Prototyping of Embedded Systems: Speed and Accuracy TradeoffsCyber-Physical System Design from an Architecture Analysis Viewpoint10.1007/978-981-10-4436-6_1(1-31)Online publication date: 12-May-2017
  • (2017)Design and Implementation of ARM7 Instruction Set Based on GDB FrameworkAdvances in Intelligent Systems and Interactive Applications10.1007/978-3-319-69096-4_120(848-853)Online publication date: 1-Nov-2017
  • (2016)Translating the ARM Neon and VFP instructions in a binary translatorSoftware—Practice & Experience10.1002/spe.239446:12(1591-1615)Online publication date: 1-Dec-2016
  • (2015)Computer performance microscopy with ShimACM SIGARCH Computer Architecture News10.1145/2872887.275040143:3S(170-184)Online publication date: 13-Jun-2015
  • (2015)Computer performance microscopy with ShimProceedings of the 42nd Annual International Symposium on Computer Architecture10.1145/2749469.2750401(170-184)Online publication date: 13-Jun-2015
  • (2013)Effective code discovery for ARM/Thumb mixed ISA binaries in a static binary translatorProceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded Systems10.5555/2555729.2555748(1-10)Online publication date: 29-Sep-2013
  • (2013)ASCMSProceedings of the 2013 International Conference on Information Science and Cloud Computing Companion10.1109/ISCC-C.2013.52(405-410)Online publication date: 7-Dec-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media