Smart Configurator Specification

Smart Configurator Specification

Target release

2.0

Epic

https://senbox.atlassian.net/browse/SIITBX-3https://senbox.atlassian.net/browse/SIITBX-30https://senbox.atlassian.net/browse/SIITBX-31https://senbox.atlassian.net/browse/SIITBX-32

Document status

DRAFT

Document owner

@Nicolas Ducoin (Unlicensed)

Designer

@Nicolas Ducoin (Unlicensed)

Developers

 

QA

 

 

Requirements

#

Title

User Story

Importance

Notes

#

Title

User Story

Importance

Notes

1

Optimizing global settings

Optimum settings for files location and Java virtual machine settings are computed by running hardware benchmark (disks) , detecting hardware types (RAM, OS), and using these values to retrieve optimum values from a database.

Must Have

S2 RQT 87

2

Optimizing processing settings

For processing related settings (tile size, cache size, nb threads, etc.), optimum values are computed by running benchmarks for a combination of settings on a predefined graph. The user is able to define the values to be tested and the graph.

Must Have

S2 RQT 88

3

Manual configuration

The optimizer presents the values of the set parameters to the user and offers the possibility to set the parameters manually.

Must Have

S2 RQT 89

4

Launch mode

The optimiser can be launched during the installation.

It is also be possible to re-run the optimizer after installation to update/reset the parameter values.

Must Have

S2 RQT 90

 

Goals

Find automatically the best parameters for SNAP, considering hardware and a processing chain.

Background and strategic fit

Currently, the GPF works by processing single tiles instead of entire images allowing processing of data larger than the available RAM by using tiled processing within their own threads. However, its tile cache memory and the Java VM’s heap space can be exhausted if it is not properly configured for large data volumes specifically for the user's computer system. Tile sizes and tile cache sizes are static values defined in a configuration file. Maximum heap space is a VM setting. Most users are unaware how to properly set and adjust these settings, this will be done by the Smart Configurator.

Assumptions

  • The predefined graph needs to compute fast enough to run a "reasonable" combination of parameters in an "acceptable" time.

Use Cases

Use Case 1, installation

The administrator starts the installer up to the smart configurator page

[The administrator chooses to launch the smart configurator]

  • The smart configurator computes default optimum parameters

  • The smart configurator displays HMI showing these parameters

  • The administrator checks and changes some values and clicks “Ok”

[The administrator chooses NOT to launch the smart configurator]

  • The smart configurator computes default optimum parameters in the background

The installer proposes to launch the Toolbox

Use Case 2, from SNAP

The radiometry expert starts the Toolbox, then the Smart Configurator

The Smart Configurator displays the parameters values

The radiometry expert chooses the “land” processing graph

The radiometry expert adds and remove values for possible cache size, tile size or number of threads

The radiometry expert starts the bechmark

The Smart Configurator computes all combinations for the "land" processing graph and displays the fastest parameters

The radiometry expert changes some settings

The radiometry expert clicks

  • [Ok] The new settings are applied, the Smart Configurator exits

  • [Reset] Actual settings are restored

  • [Cancel] Actual settings are restored, the Smart Configurator exits

User interaction and design

The smart configurator has two zones

  • The System zone for hardware dependant settings (Global settings)

  • The Processing zone for processing dependant settings

Three main actions are possible:

  • Ok: set up the settings and quit

  • Apply: set up the settings and keep the SmartConfigurator Opened

  • Cancel: quit without applying changed settings

  • Help: display help for the smart configurator

 

Smart Conf. GUI
Smart Conf. GUI

 

For System settings

  • Compute update values from the detected hardware. Modified fields are highlighted.

  • Reset revert all System fields to the saved values

 

For Processing settings

  • The processing graph tests is chosen between all available graph on the Proc. graph combo box

  • Compute is performing running the chosen processing graph with all combination of "benchmark" values, and sets up values witch gave the shortest time. Modified values are highlighted.

  • Reset revert all processing fields to the saved values

Not Doing

  • Local parameters will not be computed from a database. This option was considered and presented to the developer forum since running benchmarks for a combination of parameters will take a very long time, but it was rejected since such a database was considered to hard do build as we can't estimate optimum parameters for all hardware types.

  • Collecting user information to know on which hardware is ran the toolbox would be interesting, at least to compute optimum default parameters.