Host-Target Reference Implementation
Before using the data streams optimizer and cache allocation tools on the same system, see the instructions in Compatibility between DSO and Cache Allocation to avoid possible technical and performance issues.
The host-target reference implementation demonstrates the workflows
described in Developer Workflow Overview. The host
system is a development machine. The target system is the machine being
tuned.
Pre-Production Phase
The pre-production steps are divided between the host and target, as
shown in the following diagram.

Steps:
- You will confirm that the Data Streams Optimizer Setting is enabled.
- You will do your work on the host system. The reference implementation includes samples of the input files:requirements file,workload validation script, andenvironment file. You will need to update the target connection settings file with credential information (hostname,username) for the target system you would like to tune. For more information about the target connection settings file, see Step 3: Preproduction: Generate a Tuning Config.If you plan to use software SRAM together with the data streams optimizer, ensure that theSoftwareSRAMcompatibility option is enabled in the requirements file before using the data streams optimizer.The tool uses scripts that automate various aspects of the tool flow. The scripts support the target environments described in Default Setup, but you can customize them for other OSes or firmware. For more information about customizing these scripts, including examples of scripts for Windows OS*, see Custom OS/Firmware Support for DSO.
- On the host system, run the data streams optimizer with the input files. The rest of the workflow is automated by the tool. At each step, the tool will display status messages on the console.
- On the host system, the tool finds a tuning configuration.
- The tool wraps the tuning configuration in acapsule. A capsule is a binary used to change a system’s tuning configuration by updating certain areas of the firmware, known as “subregions.” The tool uses software calledsubregion capsule toolto create the capsule.
- The tool connects to the target system via SSH.
- The tool moves the capsule to the target system.
- On the target system, the tool applies the capsule using software calledfwupdate.
- The tool reboots the target system. The tuning configuration is applied to the target system.
- The tool runs your workload validation script. The script tests whether the workload executed successfully having met the requirements specified, and accordingly returns success or failure.
- If the script returns failure, the tool selects another configuration. The tool repeats the configuration and validation process until the requirements are met or the tool is unable to identify any other configurations.
- If the requirements are met, the tool generates atuning configuration fileon the host system. The file specifies the selected tuning configuration. You will use the file to tune your production environment.
To accomplish this flow, the host and target use certain components.

The host uses the following components:
- Requirements file and environment file
- Data streams optimizer
- Subregion capsule tool
The target uses the following components:
- Workload validation script
- fwupdate tool
- Yocto Project-based OS
- Reference BIOS
The host and target are connected via SSH.
Production Phase
The production steps are divided between the host and target, as shown
in the following diagram.

Steps:
- Confirm that the Data Streams Optimizer Setting is enabled.
- Work on the host system. First, acquire thetuning configuration filefrom the pre-production phase.
- Run the data streams optimizer with the tuning configuration file as input. The rest of the workflow is automated by the tool. At each step, the tool will display status messages on the console.
- The tool creates a capsule based on the tuning configuration file. Unlike the pre-production phase, the tool does not need the subregion capsule tool software.
- The tool connects to the target system via SSH.
- The tool moves the capsule to the target system.
- On the target system, the tool applies the capsule.
- The tool reboots the target system. The tuning configuration is applied to the target system.
To accomplish this flow, the host and target use certain components.

The host uses the following components:
- Tuning configuration file
- Data streams optimizer
The target uses the following components:
- fwupdate tool
- Yocto Project-based OS
- Reference BIOS
The host and target are connected via SSH.
Security
The Data Streams Optimizer subregion in the boot firmware capsule must be signed to preserve the integrity of the subregion data. If the subregion data signers aren’t the subregion data producers, a trusted relationship between the signers and producers must be established to ensure that the subregion data doesn’t contain malware before signing in order to prevent any supply chain attacks.
In
pre-production
environments during your experiments with performance, you can use test keys created during Intel® TCC Tools installation or generated by yourself. Keys are used by the Capsule Create Script.In
production
environments, you must use securely generated product keys as described in the white paper Intel® Time Coordinated Computing (Intel® TCC) Security for UEFI BIOS or in Security Features section of the Slim Bootloader documentation.Next Steps
Try the reference implementation:
Get Started with a Sample.