Developer Workflow Overview
- Thepreproduction environmentis expected to be the same as the production environment minus the machinery. The interfaces to the machinery are typically simulated (for example, send a signal for movement, sense actual movement that occurred). In addition, the preproduction environment is expected to have testing, debugging, and analysis tools which are not necessarily a part of the final product. Typically all capabilities are tested in the preproduction environment to confirm their functionality, and only then deployed to the production environment.
- Theproduction environmentrefers to the computing hardware and software you will employ to execute your use case that results in revenue generation. An example is an Intel processor with Linux* OS and software to perform parts manufacturing using lathe machinery.
- Test workload: This term refers to your real-time application or any combination of applications that can potentially validate different aspects of performance, such as latency and power consumption. The test workload confirms the data streams optimizer can sufficiently optimize the target system to meet your requirements.
- Workload validation script: The workload validation script runs the test workload you created and validates the performance requirements in a way that the tool can read. This script is one application that the tool will interface with. The script must be able to run your test workload and return 0 if your requirements are met and 1 if your requirements are not met. A description of how the tool uses the script is provided in the steps below.
- If you plan to use software SRAM with the data streams optimizer, ensure that theSoftwareSRAMcompatibility option is enabled in the requirements file before using the data streams optimizer.
- Create the required inputs for the data streams optimizer. These include the test workload, workload validation script, requirements file, and environment file. 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 Data Streams Optimizer.
- Run the data streams optimizer with the input files. The rest of the workflow is automated by the tool.
- The tool finds a tuning configuration based on the information in the requirements file. The tool signs the tuning configuration and wraps it 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 applies the tuning configuration capsule to the target system.
- The tool runs your workload validation script. The script tests whether the workload executed successfully having met your performance requirements, and 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 can’t identify any other configurations.
- If the requirements are met, the tool generates a tuning configuration file that specifies the selected configuration. You will use the file to clone the tuning configuration to your production systems.
- Get the tuning configuration file from the preproduction phase. The file contains the capsule.
- Run the data streams optimizer with the tuning configuration capsule as input.
- The tool applies the tuning configuration to the target system.