User Guide

Contents

Input and Output Analysis

Use the Input and Output analysis of
Intel® VTune™
Profiler
to locate performance bottlenecks in I/O-intensive applications at both hardware and software levels.
The Input and Output analysis of
Intel® VTune™
Profiler
helps to determine:
The Input and Output analysis features two main types of performance metrics:
  • Platform metrics
    – application-agnostic hardware event-based metrics.
  • API-specific metrics
    – performance metrics for software data planes (DPDK and SPDK) and the Linux* kernel I/O stack.
The full set of Input and Output analysis metrics is available on Intel® Xeon® processors only.

Prerequisites

Depending on the domains you wish to analyze, the following prerequisites need to be fulfilled:
  • PCIe metrics:
    • Per-device PCIe traffic metrics are available starting with server platforms based on Intel® microarchitecture code named Skylake. To collect per-device metrics, use one of the following options:
      • Load the sampling driver
      • Use Linux perf-based collection, available for Linux kernel versions 5.10 and newer
      • Run the analysis with root privileges
      • To collect Intel® DDIO utilization efficiency metrics, make sure that the sampling driver is loaded
  • DPDK metrics:
    make sure DPDK is built with
    VTune
    Profiler
    support
    enabled.
  • SPDK metrics:
    make sure SPDK is built using the
    --with-vtune
    advanced build option.
  • Linux Kernel I/O:
    to collect these metrics,
    VTune
    Profiler
    enables FTrace* collection that requires access to
    debugfs
    . On some systems, this requires that you reconfigure your permissions for the script located in the
    bin
    directory, or use root privileges.

Configure and Run Analysis

  1. Launch
    VTune
    Profiler
    and, optionally, create a new project.
  2. Click the
    Configure Analysis
    button.
  3. In the
    WHERE
    pane, select the target system to profile.
  4. In the
    HOW
    pane, select
    Platform Analysis > Input and Output
    .
  5. In the
    WHAT
    pane, specify your analysis target (application, process, or system).
  6. Depending on your target app and analysis purpose, choose any of the following configuration options:
    Analyze PCIe traffic
    check box
    Collect the data required to:
    • Calculate inbound and outbound PCIe traffic
    • Calculate L3 misses of inbound PCIe requests
    • Calculate average inbound PCIe read and write latency
    • Detect core/IO conflicts
    This option is shown on server platforms based on Intel® microarchitecture code named Sandy Bridge EP and newer.
    Where applicable, this option is enabled by default.
    Locate MMIO accesses
    check box
    Collect the data required to locate code that induces outbound PCIe traffic by accessing device memory through the MMIO address space.
    This option is not available in Profile System mode.
    This option is enabled by default.
    Analyze memory and cross-socket bandwidth
    check box
    Collect the data required to calculate DRAM and Intel® Ultra Path Interconnect (Intel® UPI) or Intel® QuickPath Interconnect (Intel® QPI) bandwidth.
    While DRAM bandwidth data is always collected, Intel® UPI and Intel® QPI cross-socket bandwidth data is only collected when applicable to the system.
    This option is enabled by default.
    Evaluate max DRAM bandwidth
    check box
    Evaluate the maximum achievable local DRAM bandwidth before the collection starts.
    This data is used to scale bandwidth metrics on the timeline and to calculate thresholds.
    To reduce overhead, it is recommended to disable this option when profiling in
    Attach to Process
    mode.
    This option is enabled by default.
    Select API to profile
    check box group
    Select IO APIs to profile:
    • To profile DPDK applications, select the
      DPDK
      checkbox.
    • To profile SPDK applications, select the
      SPDK
      checkbox.
    • To profile Linux kernel I/O, select the
      Kernel IO
      checkbox.
    All options are disabled by default.
    SPDK and Linux kernel I/O metrics cannot be collected simultaneously.
  7. Click
    Start
    to run the analysis.
To run the Input and Output analysis from the command line, enter:
vtune -collect io [-knob <value>] -- <target> [target_options]

View Data

VTune
Profiler
collects the data, generates an
rxxxio
result, and opens the result in the default
Input and Output
viewpoint that displays data according to the selected configuration.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.