For Mobile Internet Devices (MID) running Linux* the standard usage model for the Intel® VTune™ Performance Analyzer is to use a sampling collector on the target to do the performance sampling and then copy the results over to the host machine for analysis. The development model most likely to be used for Microsoft Windows* XP based Netbooks that are based on the Intel® Atom™ processor is however slightly different. It may actually be more convenient to sample and analyze both locally on the netbook itself.
The Intel® VTune™ Performance Analyzer for Windows* (/en-us/articles/intel-vtune-amplifier-xe/) let's you do just that.
For fully validated Intel® Atom™ processor support Intel® VTune™ Performance Analyzer 9.1 Update 4 or newer should be used. If it is not available to you via the registration center, please request access through your Intel Premier Support (https://premier.intel.com ) account.
You can also take advantage of some of the Intel® VTune™ Performance Analyzer features that are not available via target sampling collector. Features like:
- Low Overhead Sampling Profiling: System-wide, event-based sampling finds your bottlenecks with low overhead and can be used to tune libraries, drivers, and application programs.
- Call Graph Profiling: Determines calling sequences and graphically displays the critical path, allowing you to see which functions took the most time to process or were blocked the longest.
- Counter Monitor:Quickly identify system level performance issues using the Counter Monitor to track system activity and resource consumption during runtime.
- Intel Tuning Assistant:Increase productivity using Intel Tuning Assistant to automatically provide advice based on extensive knowledge.
To launch the graphical user interface version of the Intel® VTune™ Performance Analyzer either double-click on the respective icon on your desktop or run: \Shared\Bin\VTuneEnv.exe.
Let's first talk about collecting the sampling data.
You can use the non-intrusive, instruction-address sampling collector to collect, analyze, and display system-wide software performance data. Use the collected data to identify the critical processes, threads, modules, functions, and lines of code running on your system.
During sampling, the VTune™ Performance Analyzer monitors all the software executing on your system including the operating system, JIT-compiled Java* applications, .NET* applications, and device drivers. Sampling does not modify your binary files or executables in order to monitor the performance of your application. The VTune analyzer analyzes the collected samples and displays the hotspots or bottlenecks in the Hotspot view. You can drill down from the hotspots to the source or assembly code. View the source causing the hotspots and get advice on how you can modify your code to remove the bottlenecks and improve the performance of your application.
There are two types of sampling mechanisms you can choose from to collect data:
- Time-based sampling (TBS): collects samples of active instruction addresses at regular time-based intervals (1ms. by default).
- Event-based sampling (EBS): collects samples of active instruction addresses after a specified number of processor events. The available events depend on the processor you are collecting data for.
To start sampling you will first want to create and activity and configure how you would like to collect the sampling data. Once you set up your activity and have it pointing to the PDB Microsoft Codeview symbol information file as well as the actual executable you would like to take sampling data for you are ready to go. The complete source tree does need to be mapped and accessible of course as well, otherwise the Intel® VTune™ Performance Analyzer will not be able to help you map the performance data to the exact source lines where improvements could be made.
To collect sampling data remotely using the VTune™ Performance Analyzer's remote sampling agent, you must prepare the Remote Agent system and/or an application for remote data collection.This can be done via the Advanced Sampling Configuration dialog box.
Once the sampling process is complete you can look at the collected data using Sampling Views. The data can be sorted by processes or modules and it is possible to drill down from there to thread, function, source and even assembly views. The statistical occurrence of a previously defined system event or the time spent in a routine or line can be seen on the right of these views mapped to the module or source file or even source line of your application.
This provides a powerful tool for an in depth understanding of where performance tuning may bring the greatest overll benefit and what may cause perfromance issues in the first place.
This is the core capability of the Intel® VTune™ Performance Analyzer, but beyond that there are tuning assistants that help you with tips and tricks to resolve possible performance issues and there is callgraph profiling which highlights call sequences and dependencies and thus allows to trace performance issues down the callstack to their source.
The Intel® VTune™ Performance Analyzer for Windows* in version 9.1 and higher provides a powerful performance analysis tool that let's you quickly identify performance bottlenecks of your application targeting the Intel® Atom™ Processor. With the Intel® Atom™ Processor having an in-order instruction scheduler it becomes even more important to avoid latencies and dependency stalls and to use a powerful tool like the Intel® VTune™ Performance Analyzer to ensure the best and most responsive user experience possible with your application on the Microsoft Windows* XP based ultra-mobile device or netbook or your choice.