1
ISASOn
April 11, 2023
Tukuna Rout
Presenter
April 11, 2023 2
Contents Introduction Features of Intel VTune
Sampling Call graph
Counter Monitor Tuning Assistant
Conclusion
April 11, 2023 3
Introduction• Intel VTune is software from Intel used by the development
companies to analyze their software's and applications performance.
• It also provides boost performance of applications.
• One can work with the VTune analyzer using the graphical
interface and command line interface.
• The VTune(TM) Performance Analyzer can analyze the
performance of Linux applications, Java application
and .NET Applications.
April 11, 2023 4
Features of IntelVTune
These are the four features of Intel VTune
Sampling Call graph Counter Monitor Tuning Assistant
April 11, 2023 5
Sampling
April 11, 2023 6
• It is collecting a set of data for analysis
and representing the analyzed data in a
statistical format.
• Calculates the actual performance of an
application over a period of time and for
various processor events.
• It monitors all the software executing on
your system including the operating
system, JIT-compiled Java applications
and .NET applications.
• Sampling does not modify binary files or
executables.
• It helps us to identify:- Hotspots and
Bottlenecks.
April 11, 2023 7
Sampling Mechanism
• TIME-BASED SAMPLING (TBS):-
• EVENT-BASED SAMPLING (EBS): -
Difference Between TBS and EBS
April 11, 2023 8
WHAT HAPPENS DURING SAMPLING Waits for the delay sampling
time. Interrupts the processor. Stores the execution.FEATURES OF SAMPLING
Collection - Multiple event sampling Remote sampling Collect sampling
Diff. between EBS & TBS
April 11, 2023 9
Views - Thread view Summary view Process view Module view
Accessories – Sampling toolbar Tabbed windows Microsoft Excel Selection Summary panel Event summary panel Multi-processor
Call graph
Introduction
The call graph collector of the VTune(TM) Performance Analyzer collects information about the program flow of an application, that is, the number of function calls to some other function and the amount of time each function spent executing its code and/or calling other functions.
Identifying Critical Path The Critical path is the most time-consuming path in a call sequence of an application.
Critical paths can be identified by using call graph.
In a Call graph, critical paths are displayed with a thick red edge and it starts from the thread.
Features of Call graph
Collection Views Accessories
Features of Call graph Contd..
Collection Manual Launching Mode DLL-level Data Collection Instrumentation Filtering Multi-thread, Multi-process COM Tracing
Features of Call graph Contd..
Views
Intel VTune displays the Results of call graph in following three types of views.
Graph View Call list View Functional Summary
Features of Call graph Contd..Graph View
The graph view displays the graphical structure of the application.
It displays the Caller function, Calee function and Time information.
Features of Call graph Contd..Call list View
This view consists of three functions such as Caller function, Calee function and Focus function. It displays information about time and calls of the focus function.
Features of Call graph Contd..Function Summary View
Provides full information on all the application functions in the table format. The rows in the function summary display functions with different background colors according to the hierarchical position.
Features of Call graph Contd..
The function summary view contains:-
Calls Wait Time Total Wait Time Self Time Total Time
Features of Call graph Contd..
Accessories
Filtering option Function Details Unified Java support Timing Option Command Access
Counter Monitor
IntroductionCounter Monitor identifies system-level issues in applications. It is used to track system activities when the application runs on the system.
Counter Monitor collects data for specific performance counter data, such as that of an application, an OS, or a hardware device at different intervals of time. The counter monitor collector monitors and graphically displays the performance counter data.
Features of Counter Monitor
Collection Views Accessories
Features of Counter Monitor Contd..
Collection Trigger Mechanism:- Create triggers to monitor hardware and software counters at predetermined intervals according to criteria that is set.
Features of Counter Monitor Contd..
Views
Runtime Data View Logged Data View Legend Data View Summary Data View
Features of Counter Monitor Contd.. Runtime Data View:- During runtime, the VTune analyzer generates a graph that shows changes as they happen.
Logged Data View:- Displays data logged during an Activity.In the Logged Data view, data from each counter selected for logging is charted with a separate line and color.
Features of Counter Monitor Contd..
Legend View:- . Each line includes a distinct legend symbol for the corresponding counter, representing the point at which data was taken. The vertical Y axis represents counter values (scaled or actual), while the corresponding time is displayed on the horizontal X axis.
Features of Counter Monitor Contd..
Summary Data View:- Displays a statistical view of the counter data.
Features of Counter Monitor Contd..
Accessories
Control Charts:- . Choose a chart style best suited to the data you want to view using the Chart FX Properties.
Working of Counter Monitor
Tuning Assistant
Introduction
The Intel(R) Tuning Assistant provides advice on tuning your system resources and application performance.
Using its multiple knowledge bases, the Tuning Assistant analyzes the data collected by the VTune(TM) Performance Analyzer, identifies performance issues, and provides insights and tuning advice.
Tuning Assistant Concept
Work Load Insight Advice Relevance Score
Features of Tuning Assistant Contains knowledge bases to support Hyper-Threading Technology.
Enables you to compare two or three Activity results.
Provides links from function names directly to the corresponding code section in source view when you provide symbol information Provides advice on performance counter data and disassembly code
Provides static assembly advice.
Understanding Tuning Methodology
System-Level Tuning:– The main objective of system-level tuning is to optimize the utilization of system resources. The tuning speeds up application performance by improving the way the application interacts with the system. This tuning is effective for I/O applications.
Application-Level Tuning- The main purpose of application-level tuning is to reduce the execution time of an application. This can be achieved by improving the algorithms of the applications, implementing threads, and by using APIs.
Micro architecture- Level Tuning- Increases the performance of application by improving the way an application runs on a processor. This type of tuning is used with processor-intensive applications.
STRATEGIES FOR IMPROVING PERFORMANCE OF APPLICATION
Balancing input-output
Improving Threading Model
Improving effi ciency of computation
Types of Advice Sampling-based Advice:- Tuning assistant automatically analyzes the sampling data, identifies performance issues, and provides insights on the issues
Counter Monitor-based Advice:- Tuning assistant performs counter analysis based on all counters measured in activity.
Source-based Advice:- TA uses a compiler technology for source-based advice, which enables you to speed up the execution of code. But it is limited to C,C++ and Java applications.Static Assemble Penalties:-
Information That Tuning Assistant Provides
Insights
Relevance Scale
Tuning Assistance Advice
InsightsIt indicates the problem that could be hindering the performance of the application. Various categories of insights are:-
Top Insights Workload Insights Module Insights Hotspot Insights System Info Static Analysis
Information That Tuning Assistant Provides
Relevance ScaleIndicates the relevance of the insight or advice to a
particular performance issue.
Tuning Assistant AdvicePossible solution to remove or avoid a problem.
(More Information Window of Tuning Assistance Advice)
April 11, 2023 41