SlideShare une entreprise Scribd logo
1  sur  24
Slide 1 of 24
Code Optimization and Performance Tuning Using Intel VTune
With the advent of high-end processing, computers with lower
memory and processing power have became obsolete.
Application performance did not improve substantially even
with upgraded hardware. As a result, code tuning became a
successful approach to get the best performance from
applications.
Code tuning involves optimizing the use of available
resources on the target platform and the source code or the
algorithm. It involves using Profilers to analyze the code and
performance analyzers/monitors to analyze the resource
usage.
This module deals with identifying the factors and areas that
affect the application performance. It deals with how to use
the tool to improve the application performance.
Why this module?
Slide 2 of 24
Code Optimization and Performance Tuning Using Intel VTune
In this session, you will learn to:
Identify the need for application optimization
Identify the application optimization process
Objectives
Slide 3 of 24
Code Optimization and Performance Tuning Using Intel VTune
The performance of an application depends on the:
Source code
Algorithm
Compiler
Computer architecture
Application optimization is the process of obtaining the best
performance from an application on a given hardware and
network specification.
The performance of an application can be improved by
making effective use of the available resources.
Exploring Application Optimization
Slide 4 of 24
Code Optimization and Performance Tuning Using Intel VTune
Application optimization:
Improves application performance
Leads to a better response time
Enables effective utilization of system resources
The following application areas require optimization
significantly:
Client/Server applications
Database-dependent applications
Scientific applications
Threaded applications
Exploring Application Optimization (Contd.)
Slide 5 of 24
Code Optimization and Performance Tuning Using Intel VTune
Exploring Application Optimization (Contd.)
Client/Server applications:
Tend to be slow because various factors affect performance,
such as speed of execution at the client and server sides and
the speed of the connection.
Optimization options requires the following points to be taken
into account:
Identify the areas that decrease performance
Identify alternatives to optimize performance
Slide 6 of 24
Code Optimization and Performance Tuning Using Intel VTune
Exploring Application Optimization (Contd.)
Database-dependent applications:
Are slow because database transactions take a substantial
amount of time
Takes a long time in searching and sorting records due to large
size of databases
Optimization options requires the following points to be taken
into account:
The number of triggers fired with each transaction that occurs
The number of access to the database from the application
The number of records that the application fetches at a time for
processing
Slide 7 of 24
Code Optimization and Performance Tuning Using Intel VTune
Exploring Application Optimization (Contd.)
Scientific applications:
Are used in real-time systems, such as weather forecasting,
aircraft engine automation, and radio electric power generation
Are mostly mission critical and involve many complex
calculations
Optimization options requires the following points to be taken
into account:
Algorithm design
Compiler
Operating system
Processor architecture
Slide 8 of 24
Code Optimization and Performance Tuning Using Intel VTune
Exploring Application Optimization (Contd.)
Threaded applications:
Can be used for lengthy processing and memory reads and
writes
Can be optimized by deciding the optimal number of threads
that are created for an application
The number of threads created also depends on the ability of the
processor and the operating system to handle multiple threads
Slide 9 of 24
Code Optimization and Performance Tuning Using Intel VTune
The performance of an application depends on computer
architecture, application design, and system resources.
As a result, you should analyze application performance at
three levels:
System level
Application level
Microarchitecture level
Exploring Application Optimization (Contd.)
► Highest level of optimization
► Middle level of optimization
► Lowest level of optimization
Slide 10 of 24
Code Optimization and Performance Tuning Using Intel VTune
Exploring Application Optimization (Contd.)
Optimization Level Optimization Goals Focus Areas Performance
Improvement Level
System Level Improving application
interaction with the
system
Network problems
Disk performance
Memory usage
Three times
improvement
Application Level Improving algorithms Data structures
Function-calling
sequence
Threading algorithm
Two times
improvement
Microarchitecture
Level
Improving application
interaction with the
processor
Data availability in
cache
Code availability in
cache
Data alignment
1.1-1.5 times
improvement
Slide 11 of 24
Code Optimization and Performance Tuning Using Intel VTune
Just a minute
Answer:
An application designed to take full advantage of the processor
by using multiple threads is called threaded application.
The performance of an application depends on computer
architecture, application design, and system resources.
What are threaded applications?
The performance of an application depends upon what all
factors?
Slide 12 of 24
Code Optimization and Performance Tuning Using Intel VTune
During optimization, you need to:
Identify optimization goals
Follow the appropriate optimization method
Stop the process when the desired level of optimization is
achieved
Identifying the Application Optimization Process
Slide 13 of 24
Code Optimization and Performance Tuning Using Intel VTune
Identifying the Application Optimization Process (Contd.)
The performance optimization process is an iterative cycle,
which consists of the following phases:
Gather performance data
Analyze data and identify performance issues
Generate alternatives to resolve issues
Implement enhancements
Test enhancements
Slide 14 of 24
Code Optimization and Performance Tuning Using Intel VTune
Identifying the Application Optimization Process (Contd.)
Gather Performance
Data
Test Results
Analyze Data
and Identify Issues
Implement
Enhancements
Generate Alternatives
to Resolve Issues
Start Here
If the desired
level of
optimization is
not achieved. If the desired level
of optimization
is achieved.
Stop
Slide 15 of 24
Code Optimization and Performance Tuning Using Intel VTune
Identifying the Application Optimization Process (Contd.)
Gather performance-related data for:
Processor utilization
Memory utilization
Time taken for execution
To gather performance-related data, you can:
Use timing functions to calculate execution time
Use stop watch to measure execution time
Use performance analysis tool
Slide 16 of 24
Code Optimization and Performance Tuning Using Intel VTune
Analyze performance-related data to identify:
Hotspots
Bottlenecks
Bottlenecks can be:
Memory operations
Memory alignment
Floating point operations
System calls
Identifying the Application Optimization Process (Contd.)
► Input/output (I/O) operations access
memory to read or write data.
As a result, the speed of I/O
operations is limited by the speed of
memory.
► The time required to access the data
depends on how the objects and
variables reside in the memory. This is
called memory alignment.
► Floating-point operations consume
both space and time.
They increase the time and space
complexity.
► System calls include input/output
operations to disks, devices, and
operating systems.
During the non availability of the
resources, processor might have to
wait, which further leads to
bottlenecks.
Slide 17 of 24
Code Optimization and Performance Tuning Using Intel VTune
Alternatives to resolve issues can be:
Optimizing memory operations
Optimizing floating point operations
Optimizing system calls
Identifying the Application Optimization Process (Contd.)
►
Accessing memory locations that are located at a distance
from each other will require more processor time and
might retard performance.
Therefore, write code that access memory sequentially.
►
The total number of floating-point operations must be
reduced as much as possible.
Data must be loaded in the memory before executing
instructions, so that the process need not wait for data.
Optimizing a floating-point operation might significantly
improve the program if it is used many times in the
application.
►
If you need only a small part of a service that the
operating system offers, you can build custom routines.
This is more efficient than loading the larger routines that
the operating system provides.
Slide 18 of 24
Code Optimization and Performance Tuning Using Intel VTune
Implement enhancements by:
Splitting bulky loops
Using optimal data structures
Minimizing the use of global data structures
Simplifying branches
Placing the most likely branch first
Placing decision making constructs outside the loops
Identifying the Application Optimization Process (Contd.)
Slide 19 of 24
Code Optimization and Performance Tuning Using Intel VTune
Test enhancements to ensure that:
The results the optimized version computed are correct
The performance of the optimized version meets the desired
level
Identifying the Application Optimization Process (Contd.)
Slide 20 of 24
Code Optimization and Performance Tuning Using Intel VTune
What do you mean by hotspot?
Just a minute
Answer:
After collecting performance-related data, the data needs to
be analyzed. This analysis is the process of identifying areas
that take more time to execute. These areas are called
hotspots.
Slide 21 of 24
Code Optimization and Performance Tuning Using Intel VTune
Various optimizing tools help in analyzing the:
Application code usage
System level resource usage by the application
Commonly used tools are:
Perfmon
JProfiler
VTune
Identifying the Tools for Performance Optimization
Slide 22 of 24
Code Optimization and Performance Tuning Using Intel VTune
Perfmon:
Used in Windows operating systems, such as Windows XP
Enables you to view the system level resource usage
JProfiler:
Is a Java profiler
Enables you to view performance bottlenecks, memory leaks
and provides data related to the threading issues.
VTune:
Is a tool by Intel
Enables you to find the system resource utilization and
execution time taken by various modules or functions
Identifying the Tools for Performance Optimization (Contd.)
Slide 23 of 24
Code Optimization and Performance Tuning Using Intel VTune
In this session, you learned that:
Application optimization is the process of obtaining the best
performance from an application within the constraints of a
given set of hardware and network resources.
Applications that require performance optimization are:
client/server, database-dependent, scientific, and threaded
applications.
Application performance tuning can be performed at the
system, application, and microarchitecture levels.
Common performance issues include input/output operations,
floating-point operations, and system calls.
Summary
Slide 24 of 24
Code Optimization and Performance Tuning Using Intel VTune
The performance optimization process consists of the following
five steps:
Gather performance data
Analyze data and identify issues
Generate alternatives to resolve issues
Implement enhancements
Test enhancements
Some of the commonly used tools and utilities to optimize
application performance are as follows:
Perfmon
JProfiler
VTune
Summary (Contd.)

Contenu connexe

Tendances

EDA Applications and Benefits for Smart Manufacturing
EDA Applications and Benefits for Smart ManufacturingEDA Applications and Benefits for Smart Manufacturing
EDA Applications and Benefits for Smart ManufacturingKimberly Daich
 
The Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingThe Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingKimberly Daich
 
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Kimberly Daich
 
163912338 ch-13-systems-analysis-and-design
163912338 ch-13-systems-analysis-and-design163912338 ch-13-systems-analysis-and-design
163912338 ch-13-systems-analysis-and-designhomeworkping7
 
Abb matlab5650
Abb matlab5650Abb matlab5650
Abb matlab5650Arjun Dada
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13koolkampus
 
X3 Configurations
X3 ConfigurationsX3 Configurations
X3 ConfigurationsEMAINT
 
Cpu performance matrix
Cpu performance matrixCpu performance matrix
Cpu performance matrixRehman baig
 
Eugrid SecureClient V2.0(Pre Notice)
Eugrid SecureClient V2.0(Pre Notice)Eugrid SecureClient V2.0(Pre Notice)
Eugrid SecureClient V2.0(Pre Notice)Eugrid
 
IRJET- Study and Analysis of Time Factor in the Utilization Process
IRJET- Study and Analysis of Time Factor in the Utilization ProcessIRJET- Study and Analysis of Time Factor in the Utilization Process
IRJET- Study and Analysis of Time Factor in the Utilization ProcessIRJET Journal
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20koolkampus
 

Tendances (15)

EDA Applications and Benefits for Smart Manufacturing
EDA Applications and Benefits for Smart ManufacturingEDA Applications and Benefits for Smart Manufacturing
EDA Applications and Benefits for Smart Manufacturing
 
The Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingThe Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart Manufacturing
 
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
 
163912338 ch-13-systems-analysis-and-design
163912338 ch-13-systems-analysis-and-design163912338 ch-13-systems-analysis-and-design
163912338 ch-13-systems-analysis-and-design
 
Abb matlab5650
Abb matlab5650Abb matlab5650
Abb matlab5650
 
System implemantation
System implemantationSystem implemantation
System implemantation
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13
 
shwetabisht
shwetabishtshwetabisht
shwetabisht
 
X3 Configurations
X3 ConfigurationsX3 Configurations
X3 Configurations
 
Cpu performance matrix
Cpu performance matrixCpu performance matrix
Cpu performance matrix
 
Eugrid SecureClient V2.0(Pre Notice)
Eugrid SecureClient V2.0(Pre Notice)Eugrid SecureClient V2.0(Pre Notice)
Eugrid SecureClient V2.0(Pre Notice)
 
IRJET- Study and Analysis of Time Factor in the Utilization Process
IRJET- Study and Analysis of Time Factor in the Utilization ProcessIRJET- Study and Analysis of Time Factor in the Utilization Process
IRJET- Study and Analysis of Time Factor in the Utilization Process
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
 
E Commerce and TPS
E Commerce and TPSE Commerce and TPS
E Commerce and TPS
 

Similaire à Optimize App Performance Using Intel VTune

02 intel v_tune_session_02
02 intel v_tune_session_0202 intel v_tune_session_02
02 intel v_tune_session_02Vivek chan
 
09 intel v_tune_session_13
09 intel v_tune_session_1309 intel v_tune_session_13
09 intel v_tune_session_13Vivek chan
 
01 intel v_tune_session_01
01 intel v_tune_session_0101 intel v_tune_session_01
01 intel v_tune_session_01Niit Care
 
03 intel v_tune_session_04
03 intel v_tune_session_0403 intel v_tune_session_04
03 intel v_tune_session_04Vivek chan
 
325711-001US-secured-old
325711-001US-secured-old325711-001US-secured-old
325711-001US-secured-oldManoj Punamia
 
Feasibility Analysis.ppt
Feasibility Analysis.pptFeasibility Analysis.ppt
Feasibility Analysis.pptBetshaTizazu2
 
Issue tracking system
Issue tracking systemIssue tracking system
Issue tracking systemAkshay Surve
 
Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionShobha Kumar
 
07 intel v_tune_session_10
07 intel v_tune_session_1007 intel v_tune_session_10
07 intel v_tune_session_10Niit Care
 
Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Sudhendu Rai
 
Performance tuning and optimization on client server
Performance tuning and optimization on client serverPerformance tuning and optimization on client server
Performance tuning and optimization on client serverSatya P. Joshi
 
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONS
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONSA STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONS
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONSecij
 
Programs Developed
Programs DevelopedPrograms Developed
Programs DevelopedHoang Nguyen
 
Introducing Elevate Capacity Management
Introducing Elevate Capacity ManagementIntroducing Elevate Capacity Management
Introducing Elevate Capacity ManagementPrecisely
 
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoT
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoTWhat is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoT
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoTEmbitel Technologies (I) PVT LTD
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
Internet of Things Microservices
Internet of Things MicroservicesInternet of Things Microservices
Internet of Things MicroservicesCapgemini
 

Similaire à Optimize App Performance Using Intel VTune (20)

02 intel v_tune_session_02
02 intel v_tune_session_0202 intel v_tune_session_02
02 intel v_tune_session_02
 
09 intel v_tune_session_13
09 intel v_tune_session_1309 intel v_tune_session_13
09 intel v_tune_session_13
 
01 intel v_tune_session_01
01 intel v_tune_session_0101 intel v_tune_session_01
01 intel v_tune_session_01
 
03 intel v_tune_session_04
03 intel v_tune_session_0403 intel v_tune_session_04
03 intel v_tune_session_04
 
325711-001US-secured-old
325711-001US-secured-old325711-001US-secured-old
325711-001US-secured-old
 
Feasibility Analysis.ppt
Feasibility Analysis.pptFeasibility Analysis.ppt
Feasibility Analysis.ppt
 
Issue tracking system
Issue tracking systemIssue tracking system
Issue tracking system
 
Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solution
 
07 intel v_tune_session_10
07 intel v_tune_session_1007 intel v_tune_session_10
07 intel v_tune_session_10
 
Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...
 
Performance tuning and optimization on client server
Performance tuning and optimization on client serverPerformance tuning and optimization on client server
Performance tuning and optimization on client server
 
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONS
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONSA STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONS
A STUDY OF FORMULATION OF SOFTWARE TEST METRICS FOR INTERNET BASED APPLICATIONS
 
3
33
3
 
Programs Developed
Programs DevelopedPrograms Developed
Programs Developed
 
Introducing Elevate Capacity Management
Introducing Elevate Capacity ManagementIntroducing Elevate Capacity Management
Introducing Elevate Capacity Management
 
ERTS_Unit 1_PPT.pdf
ERTS_Unit 1_PPT.pdfERTS_Unit 1_PPT.pdf
ERTS_Unit 1_PPT.pdf
 
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoT
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoTWhat is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoT
What is Predictive Maintenance? Learn Its Benefits & Role of Industrial IoT
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Internet of Things Microservices
Internet of Things MicroservicesInternet of Things Microservices
Internet of Things Microservices
 
Building information systems
Building information systemsBuilding information systems
Building information systems
 

Plus de Vivek chan

Deceptive Marketing.pdf
Deceptive Marketing.pdfDeceptive Marketing.pdf
Deceptive Marketing.pdfVivek chan
 
brain controled wheel chair.pdf
brain controled wheel chair.pdfbrain controled wheel chair.pdf
brain controled wheel chair.pdfVivek chan
 
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)Vivek chan
 
Manav dharma shashtra tatha shashan paddati munshiram jigyasu
Manav dharma shashtra tatha shashan paddati   munshiram jigyasuManav dharma shashtra tatha shashan paddati   munshiram jigyasu
Manav dharma shashtra tatha shashan paddati munshiram jigyasuVivek chan
 
Self driving and connected cars fooling sensors and tracking drivers
Self driving and connected cars fooling sensors and tracking driversSelf driving and connected cars fooling sensors and tracking drivers
Self driving and connected cars fooling sensors and tracking driversVivek chan
 
EEG Acquisition Device to Control Wheelchair Using Thoughts
EEG Acquisition Device to Control Wheelchair Using ThoughtsEEG Acquisition Device to Control Wheelchair Using Thoughts
EEG Acquisition Device to Control Wheelchair Using ThoughtsVivek chan
 
Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek chan
 
Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek chan
 
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)Vivek chan
 
Net framework session01
Net framework session01Net framework session01
Net framework session01Vivek chan
 
Net framework session03
Net framework session03Net framework session03
Net framework session03Vivek chan
 
Net framework session02
Net framework session02Net framework session02
Net framework session02Vivek chan
 
04 intel v_tune_session_05
04 intel v_tune_session_0504 intel v_tune_session_05
04 intel v_tune_session_05Vivek chan
 
02 asp.net session02
02 asp.net session0202 asp.net session02
02 asp.net session02Vivek chan
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01Vivek chan
 
16 asp.net session23
16 asp.net session2316 asp.net session23
16 asp.net session23Vivek chan
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22Vivek chan
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20Vivek chan
 
13 asp.net session19
13 asp.net session1913 asp.net session19
13 asp.net session19Vivek chan
 
12 asp.net session17
12 asp.net session1712 asp.net session17
12 asp.net session17Vivek chan
 

Plus de Vivek chan (20)

Deceptive Marketing.pdf
Deceptive Marketing.pdfDeceptive Marketing.pdf
Deceptive Marketing.pdf
 
brain controled wheel chair.pdf
brain controled wheel chair.pdfbrain controled wheel chair.pdf
brain controled wheel chair.pdf
 
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)
Mechanism of fullerene synthesis in the ARC REACTOR (Vivek Chan 2013)
 
Manav dharma shashtra tatha shashan paddati munshiram jigyasu
Manav dharma shashtra tatha shashan paddati   munshiram jigyasuManav dharma shashtra tatha shashan paddati   munshiram jigyasu
Manav dharma shashtra tatha shashan paddati munshiram jigyasu
 
Self driving and connected cars fooling sensors and tracking drivers
Self driving and connected cars fooling sensors and tracking driversSelf driving and connected cars fooling sensors and tracking drivers
Self driving and connected cars fooling sensors and tracking drivers
 
EEG Acquisition Device to Control Wheelchair Using Thoughts
EEG Acquisition Device to Control Wheelchair Using ThoughtsEEG Acquisition Device to Control Wheelchair Using Thoughts
EEG Acquisition Device to Control Wheelchair Using Thoughts
 
Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant
 
Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant Vivek Chan | Technology Consultant
Vivek Chan | Technology Consultant
 
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)
Full Shri Ramcharitmanas in Hindi Complete With Meaning (Ramayana)
 
Net framework session01
Net framework session01Net framework session01
Net framework session01
 
Net framework session03
Net framework session03Net framework session03
Net framework session03
 
Net framework session02
Net framework session02Net framework session02
Net framework session02
 
04 intel v_tune_session_05
04 intel v_tune_session_0504 intel v_tune_session_05
04 intel v_tune_session_05
 
02 asp.net session02
02 asp.net session0202 asp.net session02
02 asp.net session02
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01
 
16 asp.net session23
16 asp.net session2316 asp.net session23
16 asp.net session23
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20
 
13 asp.net session19
13 asp.net session1913 asp.net session19
13 asp.net session19
 
12 asp.net session17
12 asp.net session1712 asp.net session17
12 asp.net session17
 

Dernier

Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 

Dernier (20)

Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 

Optimize App Performance Using Intel VTune

  • 1. Slide 1 of 24 Code Optimization and Performance Tuning Using Intel VTune With the advent of high-end processing, computers with lower memory and processing power have became obsolete. Application performance did not improve substantially even with upgraded hardware. As a result, code tuning became a successful approach to get the best performance from applications. Code tuning involves optimizing the use of available resources on the target platform and the source code or the algorithm. It involves using Profilers to analyze the code and performance analyzers/monitors to analyze the resource usage. This module deals with identifying the factors and areas that affect the application performance. It deals with how to use the tool to improve the application performance. Why this module?
  • 2. Slide 2 of 24 Code Optimization and Performance Tuning Using Intel VTune In this session, you will learn to: Identify the need for application optimization Identify the application optimization process Objectives
  • 3. Slide 3 of 24 Code Optimization and Performance Tuning Using Intel VTune The performance of an application depends on the: Source code Algorithm Compiler Computer architecture Application optimization is the process of obtaining the best performance from an application on a given hardware and network specification. The performance of an application can be improved by making effective use of the available resources. Exploring Application Optimization
  • 4. Slide 4 of 24 Code Optimization and Performance Tuning Using Intel VTune Application optimization: Improves application performance Leads to a better response time Enables effective utilization of system resources The following application areas require optimization significantly: Client/Server applications Database-dependent applications Scientific applications Threaded applications Exploring Application Optimization (Contd.)
  • 5. Slide 5 of 24 Code Optimization and Performance Tuning Using Intel VTune Exploring Application Optimization (Contd.) Client/Server applications: Tend to be slow because various factors affect performance, such as speed of execution at the client and server sides and the speed of the connection. Optimization options requires the following points to be taken into account: Identify the areas that decrease performance Identify alternatives to optimize performance
  • 6. Slide 6 of 24 Code Optimization and Performance Tuning Using Intel VTune Exploring Application Optimization (Contd.) Database-dependent applications: Are slow because database transactions take a substantial amount of time Takes a long time in searching and sorting records due to large size of databases Optimization options requires the following points to be taken into account: The number of triggers fired with each transaction that occurs The number of access to the database from the application The number of records that the application fetches at a time for processing
  • 7. Slide 7 of 24 Code Optimization and Performance Tuning Using Intel VTune Exploring Application Optimization (Contd.) Scientific applications: Are used in real-time systems, such as weather forecasting, aircraft engine automation, and radio electric power generation Are mostly mission critical and involve many complex calculations Optimization options requires the following points to be taken into account: Algorithm design Compiler Operating system Processor architecture
  • 8. Slide 8 of 24 Code Optimization and Performance Tuning Using Intel VTune Exploring Application Optimization (Contd.) Threaded applications: Can be used for lengthy processing and memory reads and writes Can be optimized by deciding the optimal number of threads that are created for an application The number of threads created also depends on the ability of the processor and the operating system to handle multiple threads
  • 9. Slide 9 of 24 Code Optimization and Performance Tuning Using Intel VTune The performance of an application depends on computer architecture, application design, and system resources. As a result, you should analyze application performance at three levels: System level Application level Microarchitecture level Exploring Application Optimization (Contd.) ► Highest level of optimization ► Middle level of optimization ► Lowest level of optimization
  • 10. Slide 10 of 24 Code Optimization and Performance Tuning Using Intel VTune Exploring Application Optimization (Contd.) Optimization Level Optimization Goals Focus Areas Performance Improvement Level System Level Improving application interaction with the system Network problems Disk performance Memory usage Three times improvement Application Level Improving algorithms Data structures Function-calling sequence Threading algorithm Two times improvement Microarchitecture Level Improving application interaction with the processor Data availability in cache Code availability in cache Data alignment 1.1-1.5 times improvement
  • 11. Slide 11 of 24 Code Optimization and Performance Tuning Using Intel VTune Just a minute Answer: An application designed to take full advantage of the processor by using multiple threads is called threaded application. The performance of an application depends on computer architecture, application design, and system resources. What are threaded applications? The performance of an application depends upon what all factors?
  • 12. Slide 12 of 24 Code Optimization and Performance Tuning Using Intel VTune During optimization, you need to: Identify optimization goals Follow the appropriate optimization method Stop the process when the desired level of optimization is achieved Identifying the Application Optimization Process
  • 13. Slide 13 of 24 Code Optimization and Performance Tuning Using Intel VTune Identifying the Application Optimization Process (Contd.) The performance optimization process is an iterative cycle, which consists of the following phases: Gather performance data Analyze data and identify performance issues Generate alternatives to resolve issues Implement enhancements Test enhancements
  • 14. Slide 14 of 24 Code Optimization and Performance Tuning Using Intel VTune Identifying the Application Optimization Process (Contd.) Gather Performance Data Test Results Analyze Data and Identify Issues Implement Enhancements Generate Alternatives to Resolve Issues Start Here If the desired level of optimization is not achieved. If the desired level of optimization is achieved. Stop
  • 15. Slide 15 of 24 Code Optimization and Performance Tuning Using Intel VTune Identifying the Application Optimization Process (Contd.) Gather performance-related data for: Processor utilization Memory utilization Time taken for execution To gather performance-related data, you can: Use timing functions to calculate execution time Use stop watch to measure execution time Use performance analysis tool
  • 16. Slide 16 of 24 Code Optimization and Performance Tuning Using Intel VTune Analyze performance-related data to identify: Hotspots Bottlenecks Bottlenecks can be: Memory operations Memory alignment Floating point operations System calls Identifying the Application Optimization Process (Contd.) ► Input/output (I/O) operations access memory to read or write data. As a result, the speed of I/O operations is limited by the speed of memory. ► The time required to access the data depends on how the objects and variables reside in the memory. This is called memory alignment. ► Floating-point operations consume both space and time. They increase the time and space complexity. ► System calls include input/output operations to disks, devices, and operating systems. During the non availability of the resources, processor might have to wait, which further leads to bottlenecks.
  • 17. Slide 17 of 24 Code Optimization and Performance Tuning Using Intel VTune Alternatives to resolve issues can be: Optimizing memory operations Optimizing floating point operations Optimizing system calls Identifying the Application Optimization Process (Contd.) ► Accessing memory locations that are located at a distance from each other will require more processor time and might retard performance. Therefore, write code that access memory sequentially. ► The total number of floating-point operations must be reduced as much as possible. Data must be loaded in the memory before executing instructions, so that the process need not wait for data. Optimizing a floating-point operation might significantly improve the program if it is used many times in the application. ► If you need only a small part of a service that the operating system offers, you can build custom routines. This is more efficient than loading the larger routines that the operating system provides.
  • 18. Slide 18 of 24 Code Optimization and Performance Tuning Using Intel VTune Implement enhancements by: Splitting bulky loops Using optimal data structures Minimizing the use of global data structures Simplifying branches Placing the most likely branch first Placing decision making constructs outside the loops Identifying the Application Optimization Process (Contd.)
  • 19. Slide 19 of 24 Code Optimization and Performance Tuning Using Intel VTune Test enhancements to ensure that: The results the optimized version computed are correct The performance of the optimized version meets the desired level Identifying the Application Optimization Process (Contd.)
  • 20. Slide 20 of 24 Code Optimization and Performance Tuning Using Intel VTune What do you mean by hotspot? Just a minute Answer: After collecting performance-related data, the data needs to be analyzed. This analysis is the process of identifying areas that take more time to execute. These areas are called hotspots.
  • 21. Slide 21 of 24 Code Optimization and Performance Tuning Using Intel VTune Various optimizing tools help in analyzing the: Application code usage System level resource usage by the application Commonly used tools are: Perfmon JProfiler VTune Identifying the Tools for Performance Optimization
  • 22. Slide 22 of 24 Code Optimization and Performance Tuning Using Intel VTune Perfmon: Used in Windows operating systems, such as Windows XP Enables you to view the system level resource usage JProfiler: Is a Java profiler Enables you to view performance bottlenecks, memory leaks and provides data related to the threading issues. VTune: Is a tool by Intel Enables you to find the system resource utilization and execution time taken by various modules or functions Identifying the Tools for Performance Optimization (Contd.)
  • 23. Slide 23 of 24 Code Optimization and Performance Tuning Using Intel VTune In this session, you learned that: Application optimization is the process of obtaining the best performance from an application within the constraints of a given set of hardware and network resources. Applications that require performance optimization are: client/server, database-dependent, scientific, and threaded applications. Application performance tuning can be performed at the system, application, and microarchitecture levels. Common performance issues include input/output operations, floating-point operations, and system calls. Summary
  • 24. Slide 24 of 24 Code Optimization and Performance Tuning Using Intel VTune The performance optimization process consists of the following five steps: Gather performance data Analyze data and identify issues Generate alternatives to resolve issues Implement enhancements Test enhancements Some of the commonly used tools and utilities to optimize application performance are as follows: Perfmon JProfiler VTune Summary (Contd.)