Phase-Based Program Sampling Using Phoenix Chandra Krintz University of California, Santa Barbara Microsoft Faculty Summit July, 2005.

Slides:



Advertisements
Similar presentations
Warm-Up Methodology for HW/SW Co-Designed Processors A. Brankovic, K. Stavrou, E. Gibert, A. Gonzalez.
Advertisements

Software Analysis at Philips Healthcare MSc Project Matthijs Wessels 01/09/2009 – 01/05/2010.
Course Outline Traditional Static Program Analysis –Theory Compiler Optimizations; Control Flow Graphs Data-flow Analysis – today’s class –Classic analyses.
Zhiguo Ge, Weng-Fai Wong, and Hock-Beng Lim Proceedings of the Design, Automation, and Test in Europe Conference, 2007 (DATE’07) April /4/17.
1 Bug Isolation via Remote Program Sampling Ben LiblitAlex Aiken Alice X. ZhengMichael Jordan Presented By : Arpita Gandhi.
Tools for applications improvement George Bosilca.
1 S. Tallam, R. Gupta, and X. Zhang PACT 2005 Extended Whole Program Paths Sriraman Tallam Rajiv Gupta Xiangyu Zhang University of Arizona.
Bug Isolation via Remote Program Sampling Ben Liblit, Alex Aiken, Alice X.Zheng, Michael I.Jordan Presented by: Xia Cheng.
1 © NOKIA Nokia Research Center / Performance Data Collection: Hybrid Approach Edu Metz, Raimondas Lencevicius Software Performance Architecture.
Online Performance Auditing Using Hot Optimizations Without Getting Burned Jeremy Lau (UCSD, IBM) Matthew Arnold (IBM) Michael Hind (IBM) Brad Calder (UCSD)
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
August Code Compaction for UniCore on Link-Time Optimization Platform Zhang Jiyu Compilation Toolchain Group MPRC.
Profiling: Software Performance Suyog K Sethia 1 Profiling : Software Performance.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
San Diego Supercomputer Center Performance Modeling and Characterization Lab PMaC Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation.
Center for Embedded Computer Systems University of California, Irvine and San Diego Loop Shifting and Compaction for the.
Variational Path Profiling Erez Perelman*, Trishul Chilimbi †, Brad Calder* * University of Califonia, San Diego †Microsoft Research, Redmond.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Code Coverage Testing Using Hardware Performance Monitoring Support Alex Shye, Matthew Iyer, Vijay Janapa Reddi and Daniel A. Connors University of Colorado.
Knowledge is Power Marketing Information System (MIS) determines what information managers need and then gathers, sorts, analyzes, stores, and distributes.
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
Catching Accurate Profiles in Hardware Satish Narayanasamy, Timothy Sherwood, Suleyman Sair, Brad Calder, George Varghese Presented by Jelena Trajkovic.
New Challenges in Cloud Datacenter Monitoring and Management
1 Storage Free Confidence Estimator for the TAGE predictor André Seznec IRISA/INRIA.
Prospector : A Toolchain To Help Parallel Programming Minjang Kim, Hyesoon Kim, HPArch Lab, and Chi-Keung Luk Intel This work will be also supported by.
Topic #10: Optimization EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
Software Testing CS 121 “Ordering Chaos” “Mike” Michael A. Erlinger
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Sick of InfoPath? Come get sicker… a quick look into developing no-code business forms for the curious cookie Presenter: Hector Perez.
A Specification Language and Test Planner for Software Testing Aolat A. Adedeji 1 Mary Lou Soffa 1 1 DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF VIRGINIA.
PMaC Performance Modeling and Characterization Efficient HPC Data Motion via Scratchpad Memory Kayla Seager, Ananta Tiwari, Michael Laurenzano, Joshua.
P ath & E dge P rofiling Michael Bond, UT Austin Kathryn McKinley, UT Austin Continuous Presented by: Yingyi Bu.
© ABB Inc. - USETI All Rights Reserved 10/17/2015 Insert image here An Economic Analysis Development Framework for Distributed Resources Aaron F. Snyder.
Buffered dynamic run-time profiling of arbitrary data for Virtual Machines which employ interpreter and Just-In-Time (JIT) compiler Compiler workshop ’08.
1 of 20 Phase-based Cache Reconfiguration for a Highly-Configurable Two-Level Cache Hierarchy This work was supported by the U.S. National Science Foundation.
Zibin Zheng DR 2 : Dynamic Request Routing for Tolerating Latency Variability in Cloud Applications CLOUD 2013 Jieming Zhu, Zibin.
Computer Science Adaptive, Transparent Frequency and Voltage Scaling of Communication Phases in MPI Programs Min Yeol Lim Computer Science Department Sep.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Targeted Path Profiling : Lower Overhead Path Profiling for Staged Dynamic Optimization Systems Rahul Joshi, UIUC Michael Bond*, UT Austin Craig Zilles,
Building an ASP.NET Website OUTLINE DIFFERENT PROJECT TYPES. DIFFERENT PROJECT TEMPLATES. NUMEROUS FILE TYPES AVAILABLE IN ASP.NET. CREATING STRUCTURED.
Phoenix In Research. Phoenix: Experience With An Analysis And Optimization Framework John Lefor Program Manager External Research and Projects Microsoft.
Targeted Path Profiling : Lower Overhead Path Profiling for Staged Dynamic Optimization Systems Rahul Joshi, UIUC Michael Bond*, UT Austin Craig Zilles,
Java Example Presentation of a Language. Background Conception: Java began as a language for embedded processors in consumer electronics, such as VCR,
1 University of Maryland Runtime Program Evolution Jeff Hollingsworth © Copyright 2000, Jeffrey K. Hollingsworth, All Rights Reserved. University of Maryland.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Low-cost Program-level Detectors for Reducing Silent Data Corruptions Siva Hari †, Sarita Adve †, and Helia Naeimi ‡ † University of Illinois at Urbana-Champaign,
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Optimizing Compilers CISC 673 Spring 2009 Method Profiling John Cavazos University.
Learning A Better Compiler Predicting Unroll Factors using Supervised Classification And Integrating CPU and L2 Cache Voltage Scaling using Machine Learning.
1 ROGUE Dynamic Optimization Framework Using Pin Vijay Janapa Reddi PhD. Candidate - Electrical And Computer Engineering University of Colorado at Boulder.
MARKETING RESEARCH Module 4. OUTLINE The marketing information system Marketing research –PLC –Process Research Issues.
PRISM: Platform for Remote Sensing using Smart phones {Tathagata Das, Venkata N. Padmanabhan, Ramachandran Ramjee, Asankhaya Sharma } - Microsoft Research.
Value Prediction Kyaw Kyaw, Min Pan Final Project.
Qin Zhao1, Joon Edward Sim2, WengFai Wong1,2 1SingaporeMIT Alliance 2Department of Computer Science National University of Singapore
PINTOS: An Execution Phase Based Optimization and Simulation Tool) PINTOS: An Execution Phase Based Optimization and Simulation Tool) Wei Hsu, Jinpyo Kim,
By Aleksey Stukalov How to Develop Highly Customizable Off-the-Shelf Software.
Kernel Code Coverage Nilofer Motiwala Computer Sciences Department
Selective Code Compression Scheme for Embedded System
2016 Maintenance Innovation Challenge
Online Subpath Profiling
What we need to be able to count to tune programs
Fine-Grain CAM-Tag Cache Resizing Using Miss Tags
Ann Gordon-Ross and Frank Vahid*
Adaptive Code Unloading for Resource-Constrained JVMs
Yikes! Why is my SystemVerilog Testbench So Slooooow?
Orchestrating Intelligent Systems
Phase based adaptive Branch predictor: Seeing the forest for the trees
Presentation transcript:

Phase-Based Program Sampling Using Phoenix Chandra Krintz University of California, Santa Barbara Microsoft Faculty Summit July, 2005

Microsoft Faculty Summit, July Problem Statement Software is deployed Poorly optimized With bugs Minimally tested Goal of our work Efficient and accurate profiling of deployed software  Remote profiling  Include users in the process -- transparently To enable more effective software evolution  Couple dynamic compilation and software updating  Collect execution behavior to improve coverage testing Increasingly complex For a wide-range of devices

Microsoft Faculty Summit, July Problem Statement Software is deployed Poorly optimized With bugs Minimally tested Goal of our work Efficient and accurate profiling  Remote profiling  Include users in the process -- transparently To enable more effective software evolution  Couple dynamic compilation and software updating  Collect execution behavior to improve coverage testing Increasingly complex For a wide-range of devices

Microsoft Faculty Summit, July Our Phoenix-Based Research Efficient, flexible, and accurate profile collection Avoid computation/communication interruption Gather important profile types (paths, data, methods…) Our extensions to Phoenix: 1. Turn profiling on and off dynamically Program execution sampling 2. Trigger sampling to enable Highly accurate profiles (similar to exhaustive profiles) With very low overhead (sample very seldomly)

Microsoft Faculty Summit, July Toggling Profile Collection When to sample the executing program Periodically Randomly According to program behavior

Microsoft Faculty Summit, July Toggling Profile Collection When to sample the executing program According to program behavior Method entry Method call

Microsoft Faculty Summit, July Sample According to Program Behavior Duplicate code One copy is instrumented, one is not Alternate execution between them [Arnold’01] Method entry Method entry Method call

Microsoft Faculty Summit, July Toggling Profile Collection Duplicate code One copy is instrumented, one is not Alternate execution between them Method entry Method entry Threshold-based counters Method call

Microsoft Faculty Summit, July Toggling Profile Collection Duplicate code One copy is instrumented, one is not Alternate execution between them Method entry Method entry Method call Control transfers to uninstrumented code Control transfers to instrumented code

Microsoft Faculty Summit, July Toggling Profile Collection Duplicate code One copy is instrumented, one is not Alternate execution between them Method entry Method entry Method call Control transfers to uninstrumented code Control transfers to instrumented code Can also stay in instrumented code for longer periods of time (based on thresholds), i.e., bursts [Hirzel’01,Chilimbi’04]

Microsoft Faculty Summit, July Toggling Profile Collection Phoenix implementation Duplicate code within the same method [Arnold’01] Insert instrumentation in one copy Insert branches that jump between the two  Based on counters Users can Specify the type of profile to collect Threshold values  Global or local  Control sampling frequency and burst length

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Our second focus is an intelligent sampling trigger Based on program phases [Sherwood’03]  Repeating patterns in program behavior

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Our second focus is an intelligent sampling trigger Based on program phases [Sherwood’03]  Repeating patterns in program behavior

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Extant approaches to sampling: Periodic sampling

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Extant approaches to sampling: Random sampling

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Extant approaches to sampling: Bursty sampling

Microsoft Faculty Summit, July Toggle Triggers Currently, based on counters However, this may cause us to collect redundant information or miss important activities Our second focus is an intelligent sampling trigger Based on program phases [Nagpurkar’05] Phase-base sampling 5% Error = 55-80% impr.

Microsoft Faculty Summit, July Efficacy of Phase Profiling % sampled vs average error across benchmarks Error = difference between sampled profile and exhaustive profile At 5% error: equates to a 55-80% reduction in overhead % Program Sampled % Error in Block Counts avg random max random periodic phaseaware

Microsoft Faculty Summit, July Conclusions Phoenix provides a framework for program instrumentation, analysis, and optimization Our work Extends Phoenix to enable program sampling  That is parameterizable (frequency, burst length)  Parameters can be changed dynamically Extends sampling to be aware of program behavior  Phase-aware  Enables collection of accurate profiles with very little overhead  55-80% overhead reduction over periodic/random sampling Provides a visualization tool (consumes phase profiles)  Enables users to visualize/reason about program phase behavior

Microsoft Faculty Summit, July Acknowledgements Students involved DirectlyIndirectly Lingli Zhang (prof-guided opt) Sunil Soman (garbage collection) Ricky Tiang (profiling)Hussam Mousa (profile toggling) Priya Nagpurkar (phase profiling)Selim Gurun (embedded systems) Thanks! More Info: Microsoft UCSB RACELab John Lefor Vinod Grover Phoenix Development Team