Developer Guide

  • 2021.2
  • 06/11/2021
  • Public
Contents

Custom OS/Firmware Support for DSO

The data streams optimizer uses scripts to automate the tool flow and support portability. The scripts are written for certain firmware and OS, but are intended to be samples that you can adapt for other target environments. Copy and modify the scripts as needed to support your choice of firmware and OS.
This section describes each configurable script.

Scripts in Tuning Workflow

For the data streams optimizer, the tuning workflow is described in Developer Workflow Overview and Host-Target Reference Implementation.
This section describes the software workflow in detail for the host and target systems. The next table represents actions that happen during the tuning process and notes where configurable scripts are used.
Data Streams Optimizer on Host
Data Streams Optimizer on Target
  • Reads the environment file (must contain correct paths to all scripts, some scripts are on the target and some on the host). See Create an Environment File.
  • Reads the requirements file. See Create a Requirements File.
  • Calls the target for processor version.
  • Calls the target to convert requirements Bus Device Function (BDF) into target BDF.
  • Calls the target to obtain the capsule version (Windows* targets only).
  • Calls the target to obtain RTCT information.
  • Reads the database.
  • Selects suitable configurations according to the requirements file.
  • Generates a tuning configuration binary file.
  • Calls Capsule Create Script for binary files (including signing).
  • Copies the output capsule to the target.
  • Runs the capsule apply script on the target.
  • Reboots the target.
  • Waits for the target to reboot.
  • Runs register verification.
  • Runs the workload validation script to test performance (users provide their own script for their configuration)
  • Verifies registers to make sure the tuning configuration has been applied.
  • Runs the validation workload.
  • Waits for the validation workload to finish.
  • Copies the tuning configuration file (json) with multi-stream feedback from the target.
  • Analyzes the validation results and completes the tuning process or runs a new tuning iteration with different tuning parameters starting from “Generates a tuning configuration binary file” step.

Configurable Scripts

The data streams optimizer uses scripts that you can configure for your host and target setup. Intel® TCC Tools provide default implementation of the configurable scripts for UEFI BIOS and for Yocto Project*-based board support package and Windows* OS support.
  • Path to configurable scripts for target systems:
    ${TCC_TOOLS_PATH}/target_scripts
  • Path to configurable scripts for host systems:
    ${TCC_TOOLS_PATH}/host_scripts
The scripts are used in the environment files. Examples of environment files for supported processors are located in the
${TCC_TOOLS_PATH}/demo/environment/
directory on the host system.
You can place scripts anywhere on a host or target system, but be sure to include the correct paths to the scripts in the environment files.
This table provides a short description of each script, the system where the script runs, and links to more details in subsequent sections:
Script
Description
Location
Creates a capsule on the host system
Host system
Applies a capsule to the target system
Target system
Gets the root port for a given BDF address on the target system
Target system
Checks the value for a given register on the target system
Target system
Returns the CPU version from the target system to the host system
Target system
Returns real-time configuration table (RTCT) content from the target system to the host system
Target system
For Windows* OS only: Returns the version of the latest applied capsule from the target system to the host system
Target system

Custom OS Support

The data streams optimizer supports tuning target systems with Yocto Project*-based board support package and Windows* OSes. To adopt the tool for another OS, you will need to update or recreate the following scripts:
You can follow the links above to find more details about the scripts. The amount of changes to scripts depends on your OS capabilities to support scripts requirements.
Requirements on Custom OS
The following requirements must be satisfied in your custom OS if you would like to enable data streams optimizer support on it.
  • OS must support connection with SSH
  • OS must support files copying with SCP

Custom Firmware Support

The data streams optimizer supports tuning target systems with UEFI BIOS. To adopt the tool for another firmware, you will need to update or recreate the following scripts:
The first script creates a capsule with target tuning parameters which can be applied from the firmware you would like to use. The second script applies the capsule with target tuning parameters on the target system. You can follow the links above to find more details about the scripts.
Requirements on Custom Firmware
The following requirements must be satisfied in your custom firmware if you would like to enable data streams optimizer support on it.
  • Firmware must support UEFI capsule update feature – method of authenticated updates in UEFI BIOS

Product and Performance Information

1

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