Smart Configurator Specification
Requirements
# | 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
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.