Developer Guide

  • 2021.2
  • 06/11/2021
  • Public
Contents

Compatibility between DSO and Cache Allocation

Before using the data streams optimizer and cache allocation tools on the same system, pay close attention to the information here and repeated throughout the documentation to avoid possible technical and performance issues.
The cache allocation tools use certain underlying components:
  • The cache configurator uses software SRAM technology to create software SRAM buffers. Software SRAM is a software construct that uses hardware capabilities to allocate a portion of the physical address space into the cache. The addresses are less likely to be evicted by the same or other processes.
  • The cache allocation library uses
    software SRAM
    technology and needs either the
    real-time configuration manager (RTCM)
    or a hypervisor that supports software SRAM.
The data streams optimizer applies various tuning configurations to the system to achieve the right balance between power management and performance consistency for real-time applications. Some of the tuning configurations enable power management options that are
not compatible with software SRAM and RTCM
. For example, enabling C-states may be applied in a tuning configuration to save power, but is not a recommended setting for software SRAM and RTCM. If a processor enters package C3 or C6 state, portions of the L2 or L3 cache are powered down, which causes incompatibility with cache partitioning. To avoid this issue, the data streams optimizer offers a compatibility option. When the compatibility option specifies software SRAM is required, tuning configurations that enable C-states will not be selected. If you are using a hypervisor instead of RTCM, consult your hypervisor vendor about compatibility.
To avoid compatibility issues, the ideal flow of working with the tools is as follows:
  1. Decide which combination of tools you will use:
    1. Data streams optimizer + cache configurator for purposes other than creating software SRAM buffers. In this case, you can use the cache configurator to view or partition cache resources, but cannot create software SRAM buffers.
    2. Data streams optimizer + cache configurator to create software SRAM buffers
    3. Data streams optimizer + cache configurator to create software SRAM buffers + cache allocation library with RTCM
    If you configured the system according to Default Setup, the system already has software SRAM buffers and RTCM enabled. The system is equivalent to combination (c).
  2. Based on your decision, you will use the data streams optimizer with or without the
    SoftwareSRAM
    compatibility option set.
    1. For combination (a) above, use the data streams optimizer
      without
      the
      SoftwareSRAM
      compatibility option as described in Create a Requirements File. In this case, you are allowing the data streams optimizer to apply any tuning configuration to the system.
    2. For combinations (b) and (c) above, use the data streams optimizer
      with
      the
      SoftwareSRAM
      compatibility option as described in Create a Requirements File. In this case, the data streams optimizer will apply only tuning configurations compatible with software SRAM and RTCM.
If you are using the data streams optimizer
without
the
SoftwareSRAM
compatibility option, ensure the following system settings:
  • RTCM is
    disabled
    before using the data streams optimizer for the first time and remains disabled afterward. Make sure RTCM is not used for the entire lifecycle of the configured device by you or other users of the device. For details, see Real-Time Configuration Manager (RTCM).
    If you enable RTCM and then disable RTCM after the data streams optimizer has tuned the system, the system may freeze or you may see the error “Could not set up firmware update: Invalid argument. ERROR: Failed to apply buffer capsule” or various other errors due to offline cores. See Troubleshooting for recovery recommendations.
  • Software SRAM option in BIOS is
    disabled
    . For details, see Software SRAM Setting.
    If using data streams optimizer and software SRAM together without the compatibility option set, you may not see lower latencies (when compared to DRAM) when accessing the software SRAM memory regions. If the data streams optimizer was previously used without the
    SoftwareSRAM
    compatibility option and now you want to enable software SRAM, you must first rerun the data streams optimizer with the compatibility option set.

Product and Performance Information

1

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