1 © NOKIA Nokia Research Center / 18.05.04 Performance Data Collection: Hybrid Approach Edu Metz, Raimondas Lencevicius Software Performance Architecture.

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

CompSci Applets & Video Games. CompSci Applets & Video Games The Plan  Applets  Demo on making and running a simple applet from scratch.
Fast Paths in Concurrent Programs Wen Xu, Princeton University Sanjeev Kumar, Intel Labs. Kai Li, Princeton University.
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Operating System Kernels1 Operating System Support for Performance Monitoring Witawas Srisa-an Chapter: not in the book.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
1 EE249 Discussion System Architecture Directions for Networked Sensors (J. Hill, et al) Presented By: Sarah Bergbreiter EE249 Discussion Section October.
Feasibility Criteria for Investigating Potential Application Areas of AI Planning T.L.McCluskey, The University of Huddersfield,UK
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
Performance Evaluation of Real-Time Operating Systems
Cortex-M3 Debugging System
Power Containers: An OS Facility for Fine-Grained Power and Energy Management on Multicore Servers Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao.
Timing and Race Condition Verification of Real-time Systems Yann–Hang Lee, Gerald Gannod, and Karam Chatha Dept. of Computer Science and Eng. Arizona State.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements Insik Shin, Insup Lee, & Sang Lyul Min CIS, Penn, USACSE,
Applets & Video Games 1 Last Edited 1/10/04CPS4: Java for Video Games Applets &
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Checkpointing and Recovery. Purpose Consider a long running application –Regularly checkpoint the application Expensive task –In case of failure, restore.
Multi-core Programming VTune Analyzer Basics. 2 Basics of VTune™ Performance Analyzer Topics What is the VTune™ Performance Analyzer? Performance tuning.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Adaptive Optimization in the Jalapeño JVM Matthew Arnold Stephen Fink David Grove Michael Hind Peter F. Sweeney Source: UIUC.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Real-Time Java on JOP Martin Schöberl. Real-Time Java on JOP2 Overview RTSJ – why not Simple RT profile Scheduler implementation User defined scheduling.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Scheduling policies for real- time embedded systems.
1 Performance Analysis with Vampir ZIH, Technische Universität Dresden.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Towards real-time camera based logos detection Mathieu Delalandre Laboratory of Computer Science, RFAI group, Tours city, France Osaka Prefecture Partnership.
* Third party brands and names are the property of their respective owners. Performance Tuning Linux* Applications LinuxWorld Conference & Expo Gary Carleton.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Operating System Principles And Multitasking
Real-time Databases Presented by Parimala kyathsandra CSE 666 fall 2006 Instructor Prof. Subra ganesan.
Monitoring and Managing Server Performance. Server Monitoring To become familiar with the server’s performance – typical behavior Prevent problems before.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CISC Machine Learning for Solving Systems Problems Presented by: Eunjung Park Dept of Computer & Information Sciences University of Delaware Solutions.
Company LOGO Network Management Architecture By Dr. Shadi Masadeh 1.
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
An operating system for a large-scale computer that is used by many people at once is a very complex system. It contains many millions of lines of instructions.
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Real-Time Operating Systems RTOS For Embedded systems.
HERON.
Digital Control CSE 421.
Improving the support for ARM in IgProf
Topic 3 (Textbook - Chapter 3) Processes
Unified Modeling Language
Hyperthreading Technology
What we need to be able to count to tune programs
CSCI1600: Embedded and Real Time Software
Department of Computer Science University of California, Santa Barbara
Scheduling.
Outline Chapter 2 (cont) Chapter 3: Processes Virtual machines
Department of Computer Science University of California, Santa Barbara
CSCI1600: Embedded and Real Time Software
Embedded System Development Lecture 12 4/4/2007
Presentation transcript:

1 © NOKIA Nokia Research Center / Performance Data Collection: Hybrid Approach Edu Metz, Raimondas Lencevicius Software Performance Architecture Group Nokia Research Center 5 Wayside Road, Burlington, MA 01803, USA

2 © NOKIA Nokia Research Center / Motivation Performance profiling of complex embedded software is important Profiling = monitoring software execution + obtained data analysis 2 ways to collect data Event tracing Sampling Both have drawbacks and advantages What to use?

3 © NOKIA Nokia Research Center / Position Data collection should be performed using hybrid approach that combines completeness of event tracing with low cost of sampling

4 © NOKIA Nokia Research Center / Overview Event tracing Sampling Hybrid data collection with example Why it will fail Why it will succeed

5 © NOKIA Nokia Research Center / Event Tracing Record events occurring during system execution Component entry and exit Function calls Execution states Message communication Resource usage Complete record of information If event was recorded, it did occur; if it was not recorded, it did not occur Allows complete analysis of event relationships in time Event tracing comes at a cost Trace instrumentation takes time Changes behavior of software system Could violate real-time constraints and timing requirements in real-time systems Disproportional overhead for different software components Large data volume

6 © NOKIA Nokia Research Center / Sampling Intermittent recording of software system’s state Program counter Call stack Scheduled and blocked tasks Can be done strictly periodically or with certain randomness Overhead may be orders of magnitude less than event tracing Has its own downsides Granularity of information determined by sampling frequency Needs “reasonable” data collection interval to provide accurate data Loss of information completeness May complicate application-level information extraction

7 © NOKIA Nokia Research Center / Hybrid Approach Often a way to minimize drawbacks of two techniques is to use them both! Trace a subset of events Sample the rest Provide low overhead with adequate information completeness But… how not to inherit drawbacks of two techniques? Worst case: high overhead and not enough information for causality determination Intelligent selection of what should be traced and what should be sampled is needed

8 © NOKIA Nokia Research Center / Hybrid Approach Example: Profiling with Tasks System contains a number of communicating tasks Performance engineer needs to understand what parts of software consume most of the processor time and how this influences task messaging and scheduling Using only event tracing would lead to large overhead Using sampling would not provide complete information about task messaging Hybrid approach solves the problem Low overhead due to sampling of inside task activities Complete information of task messaging through event tracing - low overhead due to infrequent tracing

9 © NOKIA Nokia Research Center / Hybrid Approach Heuristics What should be traced? Infrequent events Task switches Peripheral activations and deactivations Events that have causality relationships Message sends and receives Interrupts (maybe) Events for which relative time to other event is necessary Video frame display Events for which the absolute time is necessary Events connected with real world: alarm clock What should be sampled? Frequent events Function calls (maybe) Bytecode/CPU op execution Events for which causality is not important Heap size (maybe)

10 © NOKIA Nokia Research Center / Related Work We do not know any hybrid profilers A lot of sampling profilers Intel Vtune – either sample or trace Hollingsworth et al. – collect all and then sample the collection buffers periodically

11 © NOKIA Nokia Research Center / Why it will Fail Intelligent selection of what should be traced and what should be sampled is difficult Bad tracing/sampling selection may lead to large overhead and missing information Trace instrumentation is still required with all its drawbacks Yields two sets of profiling data that need to be reconciled

12 © NOKIA Nokia Research Center / Why it will Succeed Solves the issue of obtaining complete causality information with low overhead Allows collecting infrequent events even in short program runs Limits profiling data volume

13 © NOKIA Nokia Research Center / Questions ?