Nothing Special   »   [go: up one dir, main page]

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 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
  • (2024)TAO: Re-Thinking DL-based Microarchitecture SimulationProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/36560128:2(1-25)Online publication date: 29-May-2024
  • (2022)Architecture Description LanguagesHandbook of Computer Architecture10.1007/978-981-15-6401-7_18-1(1-34)Online publication date: 25-Dec-2022
  • (2021)Removing Load/Store Helpers in Dynamic Binary TranslationMulti‐Processor System‐on‐Chip 110.1002/9781119818298.ch7(133-160)Online publication date: 26-Mar-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGMETRICS94
Sponsor:

Acceptance Rates

Overall Acceptance Rate 459 of 2,691 submissions, 17%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)178
  • Downloads (Last 6 weeks)24
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)TAO: Re-Thinking DL-based Microarchitecture SimulationProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/36560128:2(1-25)Online publication date: 29-May-2024
  • (2022)Architecture Description LanguagesHandbook of Computer Architecture10.1007/978-981-15-6401-7_18-1(1-34)Online publication date: 25-Dec-2022
  • (2021)Removing Load/Store Helpers in Dynamic Binary TranslationMulti‐Processor System‐on‐Chip 110.1002/9781119818298.ch7(133-160)Online publication date: 26-Mar-2021
  • (2019)Model-driven Game DevelopmentACM Computing Surveys10.1145/336500052:6(1-32)Online publication date: 14-Nov-2019
  • (2019)InvadeSIM-A Simulation Framework for Invasive Parallel Programs and ArchitecturesModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_3(41-76)Online publication date: 31-May-2019
  • (2018)Dynamic Security Analysis of Power Systems by a Sampling-Based AlgorithmACM Transactions on Cyber-Physical Systems10.1145/32080932:2(1-26)Online publication date: 9-Jun-2018
  • (2017)Hardware and Software Support for VirtualizationSynthesis Lectures on Computer Architecture10.2200/S00754ED1V01Y201701CAC03812:1(1-206)Online publication date: 21-Feb-2017
  • (2017)NEVEProceedings of the 26th Symposium on Operating Systems Principles10.1145/3132747.3132754(201-217)Online publication date: 14-Oct-2017
  • (2017)Analysis of JavaScript ProgramsACM Computing Surveys10.1145/310674150:4(1-34)Online publication date: 25-Aug-2017
  • (2017)A Survey of Algorithmic DebuggingACM Computing Surveys10.1145/310674050:4(1-35)Online publication date: 30-Aug-2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media