Intel® VTune™ Amplifier - Platform Profiler Overview

 

Intel® VTune™ Amplifier - Platform Profiler Overview

The Intel® VTune™ Amplifier - Platform Profiler provides a way to perform an in-depth, system focused, long term (hours) analysis of a system. It is not intended to perform a detailed, deep dive analysis like Intel® VTune™ Amplifier performance analyzer which is focused at detailed analysis of a shorter data collection. Platform Profiler can identify key points in the workload where VTune™ Amplifier can be used for a detailed analysis.

The Platform Profiler supports analyzing long workload runs and finds time during those runs with high or low performance and system component utilization. This is especially important when the workload implementation is a “black box” where the user does not have access to source code like a performance benchmark.

It helps address questions such as

  1.  How well is the system being utilized?
  2.  Is the hardware underutilized or over-utilized?
  3.  What is the headroom on the system?
  4.  What are the imbalances?
  5.  How does my application or workload behave on this system?

Platform Profiler can help identify opportunities to improve workload performance by identifying system configuration issues such as high processor utilization, high memory use, and I/O bottlenecks, possibly caused by inefficient memory module placement, the need for faster storage, or the need for larger / faster memory.

Platform Profiler displays interactive system topology diagrams and performance metrics related to components in that topology. It display high-level system configuration such as processor, memory storage, PCIe*, and network interfaces, as well as performance metrics observed on the system such as processor and memory utilization, processor frequency, and memory and disk I/O throughput.

The two primary target users of Platform Profiler are software developers and infrastructure architects. Software developers can use performance metrics provided by Platform Profiler to analyze the behavior of their application or workload across various system components and system configurations. Infrastructure architects can analyze hardware performance and utilization across long workload collection runs to find times of low system performance, and use the performance metrics at those times to optimize the hardware configuration for the workload.

Platform Profiler Components

Platform Profile consists of three components: a data collector, a platform profiler server, and a web-based user interface. The data collector collects system-level hardware and operating system performance data and saves the data in human-readable data files. The collector has four commands: vpp-collect-start to begin data collection, vpp-collect-mark to inject text tags into the data collection, vpp-collect-stop to stop data collection (and finalize and compress results), and vpp-collect-upload to upload results to the platform profiler server. The platform profiler server post-processes the data collected into a time-series database, correlates the data with system topology information, and serves the data to clients via a RESTful API. The web-based user interface displays an interactive topology diagram annotated with performance data and correlated, interactive performance graphs with zoom and pan functionality.

 

Platform Profiler Installation

The Platform Profiler installation location depends on the Intel® System Studio 2019 package installed.

With a Linux*-hosted Intel® System Studio 2019 package, the default Platform Profiler installation directory is
          <ISS_INSTALL_DIR>/vtune_amplifier_2019.#.#.######/vpp
where ISS_INSTALL_DIR defaults to /opt/intel/system_studio_2019 or $HOME/system_studio_2019
and the # characters identify the VTune Amplifier build.

With an Intel® System Studio Windows* target package, the default Platform Profiler directory is
          C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2019\vpp.

With an Intel® System Studio Windows* host, Linux* target package, the default Platform Profiler directory is
          C:\IntelSWTools\system_studio_2019\VTune_Amplifier_2019\vpp.

These directories are referred to as <VPP_INSTALL_DIR> below.

Platform Profiler Server on Linux*

The Platform Profiler server requires that Oracle* Java 8 Server VM be installed on the host system.  The following commands will install the Java package on an Ubuntu 16.04 system.
     sudo  add-apt-repository  ppa:webupd8team/java
     sudo  apt-get  update
     sudo  apt-get  install  oracle-java8-installer
     sudo  nano  /etc/environment
        add the following entry:  JAVA_HOME="/usr/lib/jvm/java-8-oracle"
     source  /etc/environment

 

To start the Platform Profiler server, perform the following commands.
     source  <VPP_INSTALL_DIR>/server/vpp-server-vars.sh
        e.g., source  /home/<user>/system_studio_2019/vtune_amplifier_2019.0.1.564228/vpp/server/vpp-server-vars.sh

You should see output similar to the following.

     If prompted to run vpp-server-config (generally, once per installation instance), run
          vpp-server-config

     vpp-server-start

          After starting the Platform Profiler server, you should see output similar to the following.

 

To stop the Platform Profiler server, perform the following commands.
     source  <VPP_INSTALL_DIR>/vppserver/vpp-server-vars.sh
        e.g., source  /home/<user>/system_studio_2019/vtune_amplifier_2019.0.1.564228/vpp/server/vpp-server-vars.sh
     vpp-server-stop

          After stopping the Platform Profiler server, you should see output similar to the following.

 

Platform Profiler Server on Windows*

The Windows*-hosted Platform Profiler server is only included with the Intel® System Studio 2019 for Windows targets.

To start the Platform Profiler server, perform the following commands.
     <VPP_INSTALL_DIR>\vpp-server-vars.sh.cmd
     <VPP_INSTALL_DIR>\vpp-server.exe config
e.g.,
     C:\IntelSWTools\system_studio_2019\VTune_Amplifier_2019\vpp\server\vpp-server-vars.sh.cmd
     C:\IntelSWTools\system_studio_2019\VTune_Amplifier_2019\vpp\server\vpp-server.exe config
     vpp-server-start

 

Platform Profiler Data Collector on Linux* Host

The Platform Profiler data collector requires that dstat be installed on the host system.  The following command will install the dstat package on an Ubuntu 16.04 system.
     sudo  apt  install  dstat

 

After installation, the Platform Profiler data collector can be started in user mode with the following commands.
     source  <VPP_INSTALL_DIR>/collector/vpp-server-vars.sh
        e.g., source  /home/<user>/system_studio_2019/vtune_amplifier_2019.0.1.564228/vpp/collector/vpp-collect-vars.sh
     vpp-collect-start  [-c  "<comment>"]  [-d  <data_dir>]
        where  "[…]" indicates an optional parameter,
                     <comment>  is a free form text comment that provides the data collection context and description to the user, and
                     <data_dir>    specifies the directory in which to save data collection results
Since the Platform Profiler provides a powerful way to compare different workload runs on multiple system configurations, it is strongly recommended that meaningful comments that clearly identify the system configuration and workload variations be used to assist the user to distinguish among these configurations.

After starting Platform Profiler data collection, you should see output similar to the following.

 

While the Platform Profiler data collector is running, the following command will inject a comment into the data collection.
     vpp-collect-mark  "<comment>”
        where  <comment>  is a text string that is placed to remind the user of important events that occurred during the collection.

This injects comments into the data collection that will appear as a mark on the interactive timeline display in the web-based user interface. This is useful for reminding the user of important events that occurred during the data collection, such as the start of a new portion of the workload. The user can zoom in on the collected metrics at a time relative to this point.

 

The following command will stop the Platform Profiler data collector, at which time it will finalize and compress the results.
     vpp-collect-stop
Results are compressed into a file with a name containing the system name, date, and time. For example, myhost_20180702‑0835.tar.gz.

After stopping the Platform Profiler data collection, you should see output similar to the following.

 

To upload the data results to a currently running Platform Profiler server, perform the following command.
     vpp-collect-upload  [-n  <server>]  [-p  <port>]  [-d  <results_directory>]  [-q]  <results_data_file>
        where  "[…]" indicates an optional parameter,
                     <server>  is the network name where the Platform Profiler server is running (default is localhost),
                     <port>     is the TCP/IP port the Platform Profiler server is “listening” on (default is 6543),
                     <results_directory>  is the Platform Profiler directory (grouping) for organizing results
                                                          (this directory must already exist on the server – see below for an example), and
                     <results_data_file>  is the compressed data file generated by the Platform Profiler data collector.

For example,
     vpp-collect-upload  -n  localhost  -p  6543  -d  System_Workload  -q  ${HOSTNAME}_20180702-1204.tar.gz

You should see output similar to the following.

 

Platform Profiler Data Collector on Linux* Target from Windows* Host

To install the Platform Profiler data collector for Linux* target system from a Windows* host system, copy the VTune Amplifier target file vtune_amplifier_target_x86_64.tgz file from the Windows host to the Linux target system.  The target file are in <ISS_INSTALL_DIR>\VTune_amplifier_2019\target\Linux\
where <ISS_INSTALL_DIR> defaults to C:\IntelSWTools\system_studio_2019.

On the Linux target system, extract the files from the tar ball to the desired directory.
For example,   tar  zxvf  vtune_amplifier_target_x86_64.tar.gz  -C  /opt/intel/

At this point, follow the instructions in the “Platform Profiler Data Collector on Linux* Host” section above, substituting the target directory in the previous extraction step for the path to the Platform Profiler data collector directory.  For example, if the target directory in the extraction command was /opt/intel/, the Platform Profiler data collector directory is /opt/intel/vtune_amplifier_2019.0.1.564228/vpp/collector/.

Platform Profiler Data Collector on Windows*

If the Intel® System Studio Windows* target package was installed in the default location, the Platform Profiler data collector directory is C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2019\vpp\collector\.

If the Intel® System Studio Windows* host, Linux* target package was installed in the default location, the Platform Profiler data collector directory is C:\IntelSWTools\system_studio_2019\VTune_Amplifier_2019\vpp\collector\.

After installation, the Platform Profiler data collector can be started in user mode with the following commands.
     With Intel® System Studio Windows* target package installed in the default directory,
          “<VPP_INSTALL_DIR>\collector\vpp-collect-vars.cmd”
             e.g., “C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2019\vpp\collector\vpp-collect-vars.cmd”
     With Intel® System Studio Windows* host, Linux* target package installed in the default directory,
          <VPP_INSTALL_DIR>\collector\vpp-collect-vars.cmd
             e.g., C:\IntelSWTools\system_studio_2019\VTune_Amplifier\vpp\collector\vpp-collect-var.cmd

At this point, the Platform Profiler data collector commands, arguments, etc. are all similar to those described in detail in “Platform Profiler Data Collector on Linux* Host” above.

Platform Profiler Web-based User Interface

The Platform Profiler web-based user interface is best with a Chrome* browser.

The examples in this section assume the Platform Profiler server was configured with the default port number (6543) and is currently running.

Open a browser to http://localhost:6543.

Intel(R) VTune(TM) Amplifier - Platform Profiler Web-based GUI Welcome

 

Click the “Get Started” button to see a Platform Profiler overview and help.

Click the “View Results” menu option to view results that have been uploaded to the server.

The results view will first show the global repository with a list of folders that have been created in the repository.

Platform Profiler Results Repository


 

To create a new data collection folder, click the “New Folder” button, enter the folder name, and click the “Create Folder” button.

To open an existing folder, click on that folder’s name in the repository list.  The data folder view will display all results uploaded to that folder, the creation date of each, and the comment specified when the Platform Profiler data collector was started.

Platform Profiler Results Folder View

 

Click on one of the data collection results names to view the interactive system topology diagrams and performance metrics related to components in that topology.

Platform Profiler Results Overview

 

The drop-down combo box at the top allow changing the view and associated metrics for that view.  Options include overview, socket, core, memory and various disk views.

Hover the mouse over components the interactive topology diagram to see more details about each component or click the component to change the view to focus on that component.

The middle of the display is a time range selector slider bar with “vpp-collect-mark” tick marks (shown in yellow above).  Hover the mouse over the tick marks to see the comment associated with that mark.  The ends of the time range selector can be dragged to zoom in or out of the time line and see the data associated only with that adjusted range.

The bottom of the display contains timelines and histograms representing correlated data in the data collection.  Hover the mouse over the timeline to see specific correlated data for that point in time.

Platform Profiler Results Overview Zoomed Correlated Data

 

Experiment with the interactive topology diagram, different views, and different data timelines to see the power and flexibility of the Platform Profiler.

Platform Profiler Performance Data Metrics

Platform Profiler collects multiple performance metrics to profile the system to answer questions such as:

  1.  How is the system behaving?
  2.  How is the socket behaving?
  3.  How are the core pipelines and private caches behaving?
  4.  How is the memory sub-system behaving?
  5.  How are the attached disks behaving?
  6.  How are interconnects behaving?

Processor metrics collected that support these investigations include processor utilization, processor frequency, cycles per instruction (a measure of efficiency), C-State residencies, and power (Watts). Operation mixes such as memory loads / stores and branch vs. floating point instructions are provided.

Memory metrics include memory consumption, L1 and L2 cache misses, and page faults.

Interconnect metrics include memory, socket, and I/O throughput and latency. Intel® Ultra Path Interconnect (UPI) / QPI throughput, utilization, and sleep state and also collected.

Device metrics, including disk throughput, read and write block sizes, read and write response latencies, IOPS, and queue depth are presented in both a timeline and distribution format.

Network metrics include send / receive throughput and Infiniband* Remote Direct Memory Access (RDMA).

 

* Other names and brands may be claimed as the property of others.

AdjuntoTamaño
Icono PDF VTunePlatformProfilerWhitePaper.pdf1.23 MB
Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.