mlos_bench.environments.script_env
Base scriptable benchmark environment.
TODO: Document how variable propogation works in the script environments using shell_env_params, required_args, const_args, etc.
Classes
Base Environment that runs scripts for the different phases (e.g., |
Module Contents
- class mlos_bench.environments.script_env.ScriptEnv(*, name: str, config: dict, global_config: dict | None = None, tunables: mlos_bench.tunables.tunable_groups.TunableGroups | None = None, service: mlos_bench.services.base_service.Service | None = None)[source]
Bases:
mlos_bench.environments.base_environment.Environment
Base Environment that runs scripts for the different phases (e.g.,
Environment.setup()
,Environment.run()
,Environment.teardown()
, etc.)Create a new environment for script execution.
- Parameters:
name (str) – Human-readable name of the environment.
config (dict) –
Free-format dictionary that contains the benchmark environment configuration. Each config must have at least the tunable_params and the const_args sections. It must also have at least one of the following parameters: {setup, run, teardown}. Additional parameters:
- shell_env_params - an array of parameters to pass to the script
as shell environment variables, and
- shell_env_params_rename - a dictionary of {to: from} mappings
of the script parameters. If not specified, replace all non-alphanumeric characters with underscores.
If neither shell_env_params nor shell_env_params_rename are specified, no additional shell parameters will be passed to the script.
global_config (dict) – Free-format dictionary of global parameters (e.g., security credentials) to be mixed in into the “const_args” section of the local config.
tunables (TunableGroups) – A collection of tunable parameters for all environments.
service (Service) – An optional service object (e.g., providing methods to deploy or reboot a VM, etc.).