1 / 14

Instrumentation and Profiling

Instrumentation and Profiling. David Kaeli Department of Electrical and Computer Engineering Northeastern University Boston, MA kaeli@ece.neu.edu. Application Areas. Trace generation Performance profiling Dynamic optimization Binary translation Power/energy management

keith
Download Presentation

Instrumentation and Profiling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Instrumentation and Profiling David Kaeli Department of Electrical and Computer Engineering Northeastern University Boston, MA kaeli@ece.neu.edu

  2. Application Areas • Trace generation • Performance profiling • Dynamic optimization • Binary translation • Power/energy management • Architecture/hardware design studies • Virtualization • Software validation and testing • Information security

  3. Definitions • Instrumentation – A hardware or software probe that provides access to either machine state or program state • Profiling – The ability to capture information available through instrumentation • Tracing – One form of profiling that captures execution information in the form of a sequential record • Static – Techniques applied before a program runs (i.e., at compile time) • Dynamic – Techniques applied as the program executes (i.e., at run time)

  4. Definitions • Trace-driven simulation • Using a previously collected trace as input to a simulator • Execution-driven simulation • Tracing and simulating concurrently • Tracing Level - • Source – high-level language program • Object – unlinked binary file • Executable – linked, runable, binary file

  5. Definitions • Binary translation – translating between two binary executable formats • Binary optimization – modifying the binary to produce an optimized binary • Emulation - One software program, executing software binary, potentially targeting a different ISA

  6. Why are Instrumentation and Profiling important topics? • Allow for pre-hardware evaluation • Enable performance tuning after the hardware has been delivered • Enable software to adapt to changes in workload usage • Provide quantitative software testing quality • Provide for power estimation • Enable increased security • Enable next-generation hardware design criteria

  7. History of Instrumentation • IBM Mainframe Instrumentation Systems (1981) • Instrumentation implemented in customized hardware (Logic Support Subsystem) • Provides performance data directly to the customer • Allowed for load balancing and capacity planning • Also provided a level of online diagnostic system • Hang detection • Recovery • Intel In-Circuit-Emulators • Started with Intel 80386 in mid-80’s • Externalized signals to ICE pins • Allowed for external control of hardware functions (e.g., L1 caching) • Hardware Counters • VAX 8800, Pentiums, PowerPCs, SPARCs, Alphas • On most CPUs today

  8. History of Instrumentation SDS Sigma 7 UCLA 1967

  9. History of Profiling • Hardware tracing • Early memory studies (Belady, Denning) • VAX-Tracer (Emer and Clark ISCA 1984) • LLATT (IBM 1985) • ATUM (Stanford, Anant Agarwal 1989) • TRAPEDS (Stunkel, Univ. of Illinois 1989) • Trace/Trap (IBM - Sigmetrics 1989) • Logic Analyzers • Used to debug early hardware • Used to tune programs (very difficult to do) • Used to obtain traces for architectural studies • Counter readers • VAX8800 Histogram Monitors • DCPI – Digital Equipment (Alpha)

  10. History of Profiling 1979 – Hewlett Packard Model 85 Used for control and data acquisition

  11. Issues with Instrumentation and Profiling • Overhead – what type of perturbation does the instrumentation and profiling introduce? • Accuracy – does our profile reflect the actual execution? • Completeness – do I capture OS, interrupts, libraries?? • Portability – is my approach ISA and OS independent? • Input independence – does my output change for different inputs? • Capacity – how much can I capture? • Speed – do I catch the fastest event of interest? • Cost – is this worth the investment?

  12. Today, Profiling, Simulation and Tracing have become mainstream research areas • Cost of simulation is too high • Need for increased performance accuracy • Need for software security • Need to model increasingly complex designs • New workshops and symposia: • IEEE International Symposium on Workload Characterization – annual conference • Workshop on Binary Instrumentation and Analysis (held with PACT in 2005 and 2006, special issue of Dec 2005 ACM SIGARCH News) • ACM Symposium on Code Generation and Optimization (feedback directed optimization) – annual conference • ACM Transactions on Architecture and Code Optimization – high quality ACM journal

  13. This class will: • Present a range of technologies that fall under the broad definition of profiling and instrumentation • Present some recent implementations that utilize these technologies to improve performance, scalability, reliability, power and security • Involve readings from the literature and a lab assignment

  14. Your grade in this class will be based on: • Your course project – 40% • Your paper review – 40% • Your participation in class – 20% • Questions and discussion are encouraged!

More Related