Batsim proposes [experiment scripts](../tools/experiments) to manage the execution of Batsim simulations.
- A first script manages the execution of one instance (Batsim and the scheduler). This script is robust enough to stop Batsim when the scheduler crashes and vice versa. It waits for the socket to be usable before actually running the instance. It stores outputs from the two processes. It is asynchronous, which minimizes the management overhead and the latency between instances.
- A second script manages the execution of multiple instances (by calling the previous script). It uses a master/slave-like pattern, which allows to execute multiple instances at the same time. SSH remote executions can be done via this script, which simplifies greatly the execution of large simulation campaigns when lots of computation machines are available.
## Experiment description (without analysis)
The experiment conducted in this tutorial could for example be described in the following yaml file:
``` yaml
base_output_directory: /tmp/batsim_tests/demo
base_variables:
batsim_dir: /path/to/batsim/directory
# These pre commands are done before executing any instance