mlos_bench.environments.remote.remote_env module

Remotely executed benchmark/script environment.

e.g. Application Environment

class mlos_bench.environments.remote.remote_env.RemoteEnv(*, name: str, config: dict, global_config: dict | None = None, tunables: TunableGroups | None = None, service: Service | None = None)

Bases: ScriptEnv

Environment to run benchmarks and scripts on a remote host OS.

e.g. Application Environment

Attributes:
parameters

Key/value pairs of all environment parameters (i.e., const_args and tunable_params).

tunable_params

Get the configuration space of the given environment.

Methods

new(*, env_name, class_name, config[, ...])

Factory method for a new environment with a given config.

pprint([indent, level])

Pretty-print the environment configuration.

run()

Runs the run script on the remote environment.

setup(tunables[, global_config])

Check if the environment is ready and set up the application and benchmarks on a remote host.

status()

Check the status of the benchmark environment.

teardown()

Clean up and shut down the remote environment.

run() Tuple[Status, datetime, Dict[str, int | float | str | None] | None]

Runs the run script on the remote environment.

This can be used to, for instance, submit a new experiment to the remote application environment by (re)configuring an application and launching the benchmark, or run a script that collects the results.

Returns:
(status, timestamp, output)(Status, datetime, dict)

3-tuple of (Status, timestamp, output) values, where output is a dict with the results or None if the status is not COMPLETED. If run script is a benchmark, then the score is usually expected to be in the score field.

setup(tunables: TunableGroups, global_config: dict | None = None) bool

Check if the environment is ready and set up the application and benchmarks on a remote host.

Parameters:
tunablesTunableGroups

A collection of tunable OS and application parameters along with their values. Setting these parameters should not require an OS reboot.

global_configdict

Free-format dictionary of global parameters of the environment that are not used in the optimization process.

Returns:
is_successbool

True if operation is successful, false otherwise.

teardown() None

Clean up and shut down the remote environment.