Download presentation
Presentation is loading. Please wait.
Published byBaldwin Bates Modified over 9 years ago
1
Vertical Profiling : Understanding the Behavior of Object-Oriented Applications Sookmyung Women’s Univ. PsLab Sewon,Moon
2
1. Content Introduction Fundamental concept Implementation Case Studies
3
1.Introduction : object-oriented programming languages. Benefit Increased runtime flexibility Reflection, automatic memory management improved security properties Null pointer and array bounds checks, security policies portable deployment representation introduces an additional layer of virtualization, between the application and the OS. Defect Introduces obstacles to understanding application performance.
4
C program Application Operating System Hardware Java /.net program Application Framework Java Library Virtual Machine Native Library Operating System Hardware 1.Introduction : object-oriented programming languages.
5
1.Introduction : Veritcal Profiling Verital Profiling gather more complete profiles, containing information about system behavior on various levels to further the understanding of system behavior through correlation of profile information from different level
6
2. fundamental concept Events atomic occurrence in time that does not have any duration Usually causes the system to change to a different state. States captures the values in all of memory Monitors obseves the behavior of a system scalar variable with a value that changes over time hardware / sofeware performance monitors Counters special kind of performance monitor usually a count of events
7
2. fundamental concept Sofeware Performance Monitors observe the behaviour in the layers above the hardware cover the following parts of the system Application Vitual Machine Memory Manager Runtime Compilers Synchronization Operating System
8
3. Implementation : Jikes RVM open source research virtual machine that executes java bytecodes Jikes RVM is implemented in the Java programming language uses Java threads to implement several subsystems, such as the garbage collector and the adaptive optimization system
9
3. Implementation : Jikes RVM
10
3. Implementation hardware performance monitors processor cycles, L1 cache misses.. software performance monitors In native code In Java code generates a trace file for each Jikes RVM virtual processor, and one meta file trace file contains a sereies of trace records Virtual Processor ID /Compiled Method IDs Thread ID / Thread Yield status Real Time / Real Time Duration Thread Switch Status / Monitor Values Meta file is generated in conjunction with benchmark’s trace files.
11
3. Implementation Performance Analysis metrics sample lists statistics visualizations Use IBM Performance Explorer performance visualization and analysis tool
12
4. Case Studies
13
Benchmarks : SPECjbb2000 VM : Jikes RVM Initialization 1 thread 120000 transactions 50 transactions per time slice
14
4. Case Studies The changes in application behavior during a transaction are not captured in the signal Thus, they expect tha the gradual increase in IPC is not due to the transaction behavior, but due to some other lower-level behavior In prior work they speculated that jbb’s gradual increase in IPC occurs because as jbb runs, more and more of its code gets optimized. Optimized code had a higher IPC than unoptimized code the number of flushes in the load/store unit went down when the IPC increased.
15
4. Case Studies Exploration Need to measure the amount of time spent in optimized code and unoptimized code for each thme slice Use MonitorEnter bytecode instructions Two JVM performance monitor UnoptMonitorEnter OptMonitorEnter
16
4. Case Studies
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.