SlideShare a Scribd company logo
1 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Why this module?


                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.


     Ver. 1.0                                                         Slide 1 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Objectives


                In this session, you will learn to:
                   Identify the need for application optimization
                   Identify the application optimization process




     Ver. 1.0                                                       Slide 2 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Exploring Application Optimization


                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.




     Ver. 1.0                                                         Slide 3 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Exploring Application Optimization (Contd.)


                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




     Ver. 1.0                                                          Slide 4 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                             Slide 5 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                                    Slide 6 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                             Slide 7 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                                 Slide 8 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Exploring Application Optimization (Contd.)


                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              Highest level of optimization

                ►   Application level         Middle level of optimization

                ►   Microarchitecture level   Lowest level of optimization




     Ver. 1.0                                                                 Slide 9 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Exploring Application Optimization (Contd.)



                Optimization Level   Optimization Goals      Focus Areas            Performance
                                                                                    Improvement Level

                System Level         Improving application   Network problems       Three times
                                     interaction with the    Disk performance       improvement
                                     system                  Memory usage

                Application Level    Improving algorithms    Data structures        Two times
                                                             Function-calling       improvement
                                                             sequence
                                                             Threading algorithm
                Microarchitecture    Improving application   Data availability in   1.1-1.5 times
                Level                interaction with the    cache                  improvement
                                     processor               Code availability in
                                                             cache
                                                             Data alignment




     Ver. 1.0                                                                                       Slide 10 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Just a minute


                What are threaded applications?
                The performance of an application depends upon what all
                factors?




                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.

     Ver. 1.0                                                            Slide 11 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process


                During optimization, you need to:
                   Identify optimization goals
                   Follow the appropriate optimization method
                   Stop the process when the desired level of optimization is
                   achieved




     Ver. 1.0                                                             Slide 12 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                       Slide 13 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process (Contd.)



                Start Here                    Gather Performance
                                                     Data
                If the desired
                      level of
                optimization is
                not achieved.               If the desired level
                                            of optimization
                                            is achieved.
                                                                          Analyze Data
                        Test Results                   Stop             and Identify Issues




                               Implement                           Generate Alternatives
                             Enhancements                           to Resolve Issues




     Ver. 1.0                                                                                 Slide 14 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

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




     Ver. 1.0                                                         Slide 15 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process (Contd.)


                Analyze performance-related data to identify:
                    Hotspots
                    Bottlenecks
                Bottlenecks can be:
                ►   Memory operations            Input/output (I/O) operations access
                                                 memory to read orto access the data
                                                 The time required write data.
                ►   Memory alignment
                                                 As a result, the speed of I/O and
                                                 depends on how the objects
                ►   Floating point operations    Floating-point operations consumeof
                                                 operations is limited bymemory. This is
                                                 variables reside in the the speed
                                                 both space andalignment.
                                                 called memory time. input/output
                                                 memory.
                ►   System calls                 System calls include
                                                 They increase the time and space
                                                 operations to disks, devices, and
                                                 complexity.
                                                 operating systems.
                                                 During the non availability of the
                                                 resources, processor might have to
                                                 wait, which further leads to
                                                 bottlenecks.




     Ver. 1.0                                                                Slide 16 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process (Contd.)


                Alternatives to resolve issues can be:
                ►   Optimizing memory operations
                ►   Optimizing floating point operations
                ►   Optimizing system calls

                    If you need only small part that operations the
                    The total numberaof floating-point are located at a
                    Accessing memory locations of a service thatmust be
                    operating system as possible.
                    reduced from each other will require more processor time
                    distance as much offers, you can build custom routines.
                    and might retard performance.
                    This must be loaded in the memory before routines
                    Data is more efficient than loading the largerexecutingthat
                    the operating system that access
                    instructions, so code provides. memory sequentially.
                    Therefore, writethat 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.




     Ver. 1.0                                                                     Slide 17 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process (Contd.)


                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




     Ver. 1.0                                                             Slide 18 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Application Optimization Process (Contd.)


                Test enhancements to ensure that:
                   The results the optimized version computed are correct
                   The performance of the optimized version meets the desired
                   level




     Ver. 1.0                                                          Slide 19 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Just a minute


                What do you mean by hotspot?




                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.




     Ver. 1.0                                                             Slide 20 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Tools for Performance Optimization


                Various optimizing tools help in analyzing the:
                   Application code usage
                   System level resource usage by the application
                Commonly used tools are:
                   Perfmon
                   JProfiler
                   VTune




     Ver. 1.0                                                       Slide 21 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Identifying the Tools for Performance Optimization (Contd.)


                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




     Ver. 1.0                                                                Slide 22 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Summary


                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.




     Ver. 1.0                                                            Slide 23 of 24
Code Optimization and Performance Tuning Using Intel VTune
Installing Windows XP Professional Using Attended Installation

Summary (Contd.)


                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




     Ver. 1.0                                                         Slide 24 of 24

More Related Content

What's hot

Softchoice Webinar: IBM PureSystems launch
 Softchoice Webinar: IBM PureSystems launch Softchoice Webinar: IBM PureSystems launch
Softchoice Webinar: IBM PureSystems launchSoftchoice Corporation
 
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and Symantec
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and SymantecTolly report: Trend Micro Deep Security 7.5 vs. McAfee and Symantec
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and SymantecUNIT4 IT Solutions
 
Ugif 04 2011 informix fug-paris
Ugif 04 2011   informix fug-parisUgif 04 2011   informix fug-paris
Ugif 04 2011 informix fug-parisUGIF
 
Comp tia a+_session_11
Comp tia a+_session_11Comp tia a+_session_11
Comp tia a+_session_11Niit Care
 
Printing Press Benefits From Windows 7 Professional upgrade - Case Study
Printing Press Benefits From Windows 7 Professional upgrade - Case StudyPrinting Press Benefits From Windows 7 Professional upgrade - Case Study
Printing Press Benefits From Windows 7 Professional upgrade - Case StudyWindows 7 Professional
 
Comp tia a+_session_02
Comp tia a+_session_02Comp tia a+_session_02
Comp tia a+_session_02Niit Care
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareengPINKU29
 
Moxa Tech White Paper - Choosing An Embedded Operating System
Moxa Tech White Paper - Choosing An Embedded Operating SystemMoxa Tech White Paper - Choosing An Embedded Operating System
Moxa Tech White Paper - Choosing An Embedded Operating SystemDigital River
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Intel® Software
 
Tcp performance Final Report
Tcp performance Final Report Tcp performance Final Report
Tcp performance Final Report ambitlick
 
National%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspectiveNational%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspectivekalimullahmohd89
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9Ian Sommerville
 
The Benefits of Upgrading
The Benefits of UpgradingThe Benefits of Upgrading
The Benefits of UpgradingAnthony D'Ugo
 

What's hot (17)

Softchoice Webinar: IBM PureSystems launch
 Softchoice Webinar: IBM PureSystems launch Softchoice Webinar: IBM PureSystems launch
Softchoice Webinar: IBM PureSystems launch
 
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and Symantec
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and SymantecTolly report: Trend Micro Deep Security 7.5 vs. McAfee and Symantec
Tolly report: Trend Micro Deep Security 7.5 vs. McAfee and Symantec
 
Ugif 04 2011 informix fug-paris
Ugif 04 2011   informix fug-parisUgif 04 2011   informix fug-paris
Ugif 04 2011 informix fug-paris
 
Comp tia a+_session_11
Comp tia a+_session_11Comp tia a+_session_11
Comp tia a+_session_11
 
Printing Press Benefits From Windows 7 Professional upgrade - Case Study
Printing Press Benefits From Windows 7 Professional upgrade - Case StudyPrinting Press Benefits From Windows 7 Professional upgrade - Case Study
Printing Press Benefits From Windows 7 Professional upgrade - Case Study
 
4213ijsea06
4213ijsea064213ijsea06
4213ijsea06
 
Comp tia a+_session_02
Comp tia a+_session_02Comp tia a+_session_02
Comp tia a+_session_02
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Moxa Tech White Paper - Choosing An Embedded Operating System
Moxa Tech White Paper - Choosing An Embedded Operating SystemMoxa Tech White Paper - Choosing An Embedded Operating System
Moxa Tech White Paper - Choosing An Embedded Operating System
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
 
Tcp performance Final Report
Tcp performance Final Report Tcp performance Final Report
Tcp performance Final Report
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
National%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspectiveNational%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspective
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
The Benefits of Upgrading
The Benefits of UpgradingThe Benefits of Upgrading
The Benefits of Upgrading
 

Similar to 01 intel v_tune_session_01

10 intel v_tune_session_14
10 intel  v_tune_session_1410 intel  v_tune_session_14
10 intel v_tune_session_14Niit Care
 
01 intel v_tune_session_01
01 intel v_tune_session_0101 intel v_tune_session_01
01 intel v_tune_session_01Vivek 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
 
04 intel v_tune_session_05
04 intel v_tune_session_0504 intel v_tune_session_05
04 intel v_tune_session_05Niit Care
 
11 intel v_tune_session_16
11 intel v_tune_session_1611 intel v_tune_session_16
11 intel v_tune_session_16Niit Care
 
Develop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyDevelop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyIntel IT Center
 
Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Leonid Grinshpan, Ph.D.
 
08 intel v_tune_session_11
08 intel v_tune_session_1108 intel v_tune_session_11
08 intel v_tune_session_11Niit Care
 
Software Development Tools for Intel® IoT Platforms
Software Development Tools for Intel® IoT PlatformsSoftware Development Tools for Intel® IoT Platforms
Software Development Tools for Intel® IoT PlatformsIntel® Software
 
05 intel v_tune_session_07
05 intel v_tune_session_0705 intel v_tune_session_07
05 intel v_tune_session_07Niit Care
 
Intel® Xeon® Scalable Processors Enabled Applications Marketing Guide
Intel® Xeon® Scalable Processors Enabled Applications Marketing GuideIntel® Xeon® Scalable Processors Enabled Applications Marketing Guide
Intel® Xeon® Scalable Processors Enabled Applications Marketing GuideIntel IT Center
 
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingHetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingIntel® Software
 
Inside story on Intel Data Center @ IDF 2013
Inside story on Intel Data Center @ IDF 2013Inside story on Intel Data Center @ IDF 2013
Inside story on Intel Data Center @ IDF 2013Intel IT Center
 
Intel® Xeon® Processor E5-2600 v4 Product Family EAMG
Intel® Xeon® Processor E5-2600 v4 Product Family EAMGIntel® Xeon® Processor E5-2600 v4 Product Family EAMG
Intel® Xeon® Processor E5-2600 v4 Product Family EAMGIntel IT Center
 
How Microsoft Technologies And Windows Vista Improve Supporting
How Microsoft Technologies And Windows Vista Improve SupportingHow Microsoft Technologies And Windows Vista Improve Supporting
How Microsoft Technologies And Windows Vista Improve SupportingMicrosoft TechNet
 
Re-Imagining the Data Center with Intel
Re-Imagining the Data Center with IntelRe-Imagining the Data Center with Intel
Re-Imagining the Data Center with IntelIntel IT Center
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxBrad Dixon
 

Similar to 01 intel v_tune_session_01 (20)

10 intel v_tune_session_14
10 intel  v_tune_session_1410 intel  v_tune_session_14
10 intel v_tune_session_14
 
01 intel v_tune_session_01
01 intel v_tune_session_0101 intel v_tune_session_01
01 intel v_tune_session_01
 
09 intel v_tune_session_13
09 intel v_tune_session_1309 intel v_tune_session_13
09 intel v_tune_session_13
 
04 intel v_tune_session_05
04 intel v_tune_session_0504 intel v_tune_session_05
04 intel v_tune_session_05
 
11 intel v_tune_session_16
11 intel v_tune_session_1611 intel v_tune_session_16
11 intel v_tune_session_16
 
Develop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyDevelop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster Ready
 
Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...
 
08 intel v_tune_session_11
08 intel v_tune_session_1108 intel v_tune_session_11
08 intel v_tune_session_11
 
Software Development Tools for Intel® IoT Platforms
Software Development Tools for Intel® IoT PlatformsSoftware Development Tools for Intel® IoT Platforms
Software Development Tools for Intel® IoT Platforms
 
05 intel v_tune_session_07
05 intel v_tune_session_0705 intel v_tune_session_07
05 intel v_tune_session_07
 
Intel® Xeon® Scalable Processors Enabled Applications Marketing Guide
Intel® Xeon® Scalable Processors Enabled Applications Marketing GuideIntel® Xeon® Scalable Processors Enabled Applications Marketing Guide
Intel® Xeon® Scalable Processors Enabled Applications Marketing Guide
 
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingHetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
 
Ch21.pptx
Ch21.pptxCh21.pptx
Ch21.pptx
 
Inside story on Intel Data Center @ IDF 2013
Inside story on Intel Data Center @ IDF 2013Inside story on Intel Data Center @ IDF 2013
Inside story on Intel Data Center @ IDF 2013
 
Intel® Xeon® Processor E5-2600 v4 Product Family EAMG
Intel® Xeon® Processor E5-2600 v4 Product Family EAMGIntel® Xeon® Processor E5-2600 v4 Product Family EAMG
Intel® Xeon® Processor E5-2600 v4 Product Family EAMG
 
Ch21
Ch21Ch21
Ch21
 
Feasible
FeasibleFeasible
Feasible
 
How Microsoft Technologies And Windows Vista Improve Supporting
How Microsoft Technologies And Windows Vista Improve SupportingHow Microsoft Technologies And Windows Vista Improve Supporting
How Microsoft Technologies And Windows Vista Improve Supporting
 
Re-Imagining the Data Center with Intel
Re-Imagining the Data Center with IntelRe-Imagining the Data Center with Intel
Re-Imagining the Data Center with Intel
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with Linux
 

More from Niit Care (20)

Ajs 1 b
Ajs 1 bAjs 1 b
Ajs 1 b
 
Ajs 4 b
Ajs 4 bAjs 4 b
Ajs 4 b
 
Ajs 4 a
Ajs 4 aAjs 4 a
Ajs 4 a
 
Ajs 4 c
Ajs 4 cAjs 4 c
Ajs 4 c
 
Ajs 3 b
Ajs 3 bAjs 3 b
Ajs 3 b
 
Ajs 3 a
Ajs 3 aAjs 3 a
Ajs 3 a
 
Ajs 3 c
Ajs 3 cAjs 3 c
Ajs 3 c
 
Ajs 2 b
Ajs 2 bAjs 2 b
Ajs 2 b
 
Ajs 2 a
Ajs 2 aAjs 2 a
Ajs 2 a
 
Ajs 2 c
Ajs 2 cAjs 2 c
Ajs 2 c
 
Ajs 1 a
Ajs 1 aAjs 1 a
Ajs 1 a
 
Ajs 1 c
Ajs 1 cAjs 1 c
Ajs 1 c
 
Dacj 4 2-c
Dacj 4 2-cDacj 4 2-c
Dacj 4 2-c
 
Dacj 4 2-b
Dacj 4 2-bDacj 4 2-b
Dacj 4 2-b
 
Dacj 4 2-a
Dacj 4 2-aDacj 4 2-a
Dacj 4 2-a
 
Dacj 4 1-c
Dacj 4 1-cDacj 4 1-c
Dacj 4 1-c
 
Dacj 4 1-b
Dacj 4 1-bDacj 4 1-b
Dacj 4 1-b
 
Dacj 4 1-a
Dacj 4 1-aDacj 4 1-a
Dacj 4 1-a
 
Dacj 1-2 b
Dacj 1-2 bDacj 1-2 b
Dacj 1-2 b
 
Dacj 1-3 c
Dacj 1-3 cDacj 1-3 c
Dacj 1-3 c
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

01 intel v_tune_session_01

  • 1. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Why this module? 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. Ver. 1.0 Slide 1 of 24
  • 2. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Objectives In this session, you will learn to: Identify the need for application optimization Identify the application optimization process Ver. 1.0 Slide 2 of 24
  • 3. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Exploring Application Optimization 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. Ver. 1.0 Slide 3 of 24
  • 4. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Exploring Application Optimization (Contd.) 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 Ver. 1.0 Slide 4 of 24
  • 5. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 5 of 24
  • 6. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 6 of 24
  • 7. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 7 of 24
  • 8. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 8 of 24
  • 9. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Exploring Application Optimization (Contd.) 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 Highest level of optimization ► Application level Middle level of optimization ► Microarchitecture level Lowest level of optimization Ver. 1.0 Slide 9 of 24
  • 10. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Exploring Application Optimization (Contd.) Optimization Level Optimization Goals Focus Areas Performance Improvement Level System Level Improving application Network problems Three times interaction with the Disk performance improvement system Memory usage Application Level Improving algorithms Data structures Two times Function-calling improvement sequence Threading algorithm Microarchitecture Improving application Data availability in 1.1-1.5 times Level interaction with the cache improvement processor Code availability in cache Data alignment Ver. 1.0 Slide 10 of 24
  • 11. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Just a minute What are threaded applications? The performance of an application depends upon what all factors? 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. Ver. 1.0 Slide 11 of 24
  • 12. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process During optimization, you need to: Identify optimization goals Follow the appropriate optimization method Stop the process when the desired level of optimization is achieved Ver. 1.0 Slide 12 of 24
  • 13. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 13 of 24
  • 14. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process (Contd.) Start Here Gather Performance Data If the desired level of optimization is not achieved. If the desired level of optimization is achieved. Analyze Data Test Results Stop and Identify Issues Implement Generate Alternatives Enhancements to Resolve Issues Ver. 1.0 Slide 14 of 24
  • 15. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation 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 Ver. 1.0 Slide 15 of 24
  • 16. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process (Contd.) Analyze performance-related data to identify: Hotspots Bottlenecks Bottlenecks can be: ► Memory operations Input/output (I/O) operations access memory to read orto access the data The time required write data. ► Memory alignment As a result, the speed of I/O and depends on how the objects ► Floating point operations Floating-point operations consumeof operations is limited bymemory. This is variables reside in the the speed both space andalignment. called memory time. input/output memory. ► System calls System calls include They increase the time and space operations to disks, devices, and complexity. operating systems. During the non availability of the resources, processor might have to wait, which further leads to bottlenecks. Ver. 1.0 Slide 16 of 24
  • 17. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process (Contd.) Alternatives to resolve issues can be: ► Optimizing memory operations ► Optimizing floating point operations ► Optimizing system calls If you need only small part that operations the The total numberaof floating-point are located at a Accessing memory locations of a service thatmust be operating system as possible. reduced from each other will require more processor time distance as much offers, you can build custom routines. and might retard performance. This must be loaded in the memory before routines Data is more efficient than loading the largerexecutingthat the operating system that access instructions, so code provides. memory sequentially. Therefore, writethat 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. Ver. 1.0 Slide 17 of 24
  • 18. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process (Contd.) 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 Ver. 1.0 Slide 18 of 24
  • 19. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Application Optimization Process (Contd.) Test enhancements to ensure that: The results the optimized version computed are correct The performance of the optimized version meets the desired level Ver. 1.0 Slide 19 of 24
  • 20. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Just a minute What do you mean by hotspot? 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. Ver. 1.0 Slide 20 of 24
  • 21. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Tools for Performance Optimization Various optimizing tools help in analyzing the: Application code usage System level resource usage by the application Commonly used tools are: Perfmon JProfiler VTune Ver. 1.0 Slide 21 of 24
  • 22. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Identifying the Tools for Performance Optimization (Contd.) 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 Ver. 1.0 Slide 22 of 24
  • 23. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Summary 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. Ver. 1.0 Slide 23 of 24
  • 24. Code Optimization and Performance Tuning Using Intel VTune Installing Windows XP Professional Using Attended Installation Summary (Contd.) 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 Ver. 1.0 Slide 24 of 24

Editor's Notes

  1. Ask the students, what they expect from the session. Explain the objectives of the session.
  2. Ask the students, what they expect from the session. Explain the objectives of the session.
  3. Ask the students, what they expect from the session. Explain the objectives of the session.
  4. Ask them to identify the reasons for slowing down of the client/server applications and how they can speed up the execution of the application.
  5. In this slide, the faculty can give the example of database-dependant applications. Ask the student the meaning of triggers.
  6. In this slide, ask the student the meaning of a thread. Tell the students that threads enables you to increase the performance of your application to a great extend.
  7. Ask the students to identify the different levels at which you can optimize the performance of an application. Ask students what is complier optimization? Compiler optimization techniques are optimization techniques that have been programmed into a compiler. These techniques are automatically applied by the compiler whenever they are appropriate. Explain that compiler optimization is application level tuning. Compiler optimization techniques are optimization techniques that have been programmed into a compiler. These techniques are automatically applied by the compiler whenever they are appropriate. For example, you can tune the compiler for performing database read and write operations.
  8. System level of optimization involves tuning the application with respect to system level DLLs and APIs. Optimizing performance at application level involves predicting the run-time of applications, improving algorithms, using performance libraries and implementing threading. Computer architecture level of tuning is used for specific applications. For example, if a large banking corporation uses only database applications, the processor that they use must be fast enough to support some minimum number of transactions. In this case, the micro architecture of the processor can be tuned so that it performs database transaction very fast. Though, some other capabilities of the processor might be reduced. FAQ(Data alignment)- Alignment refers to the property of memory address. It is expressed as the numeric address modulo power of two. CPU executes the instructions that operate on the data, which is stored in the memory.
  9. Ask the students the series of steps to optimize application performance Explain to the students that the method of optimization which you will follow depends on optimizing goals. Explain that identifying the optimizing goals and the appropriate optimization method is necessary to get best output in shortest amount of time.
  10. Explain the Application Optimization Cycle.
  11. Explain to the students that the optimization process is an iterative process, consists of five steps, and that you need to reiterate through the cycle until the desired level of optimization is achieved.
  12. Ask the students the need to collect performance data. Explain that you need to collect performance data based on the focus area, such as processor utilization, memory utilization, or execution time. Also explain the various ways to collect performance data.
  13. Explain that you need to identify the areas that are taking more time to execute and also the resources or bottlenecks that are causing the application to run slowly. Ask the students to identify the common bottlenecks that can cause the computing process to slow down. Explain the common bottlenecks, such as speed of I/O operations limited by the speed of memory, improper data alignment in the memory leading to delay in accessing data Floating point operations in a program might be a bottleneck as it leads to increase in time and space complexity. Also explain the general analysis strategy to analyze the performance, such as identifying the routines and data structures that take up major portion of application time
  14. Explain the various alternatives that can be used to resolve performance issues. For example: if a data structure too large to fit in the memory is retarding the application performance then you can use smaller data structures to increase memory. Explain that memory operations can be optimized by writing codes that accesses memory sequentially. Ask the student, why sequential access of memory is more efficient? (FAQ Global data structure)
  15. Ask the students the various ways to implement the enhancement in an application to optimize performance.
  16. Ask the students the need to test the enhancements implemented.
  17. Ask the students to name few tools that you can use to optimize application performance Ask what does these tools analyze which help in optimizing application performance?
  18. Explain that the performance analysis tools provide maximum support for low level languages Explain the features of various tools and how these tools help in optimizing application performance.
  19. Summarize the session.
  20. Summarize the session.