-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
To create the configuration, copy config/squirrel_template.cfg
and paste it as squirrel.cfg
in the same directory.
Some values are set by default, but you must adjust squirrel.cfg
to have a working configuration.
Configures the connection to InfluxDB.
[influxdb]
url = <host>
org = <org>
token = <token>
[influxdb.gci.history]
bucket = <your-bucket>
measurement = electricity_maps
field = carbonIntensity
zone = <your-zone>
[influxdb.gci.forecast]
bucket = <your-bucket>
measurement = forecast
field = carbonIntensity
zone = <your-zone>
-
url: URL to the InfluxDB host, including the port. E.g.,
<host>:1234
. - org: InfluxDB organization (workspace for a group of users).
- token: InfluxDB API token.
The subsections influxdb.gci.history
(grid carbon intensity history) and influxdb.gci.forecast
(grid carbon intensity forecast) allow for configuration of how your data model for the respective data looks like. When you use the built-in forecasting method, you will need to configure influx.gci.history
; otherwise, you will need to configure influx.gci.forecast
.
If you don't write forecasting data to InfluxDB, you can use the built-in forecasting based on the historical data from InfluxDB at a slight performance cost. Set use_builtin
to False
when retrieving the forecast data from InfluxDB.
The number of forecasted days and the scheduling scope can also be adjusted here using forecast_days
(should be less or equal to available forecasting data when using forecasting data from InfluxDB).
[forecast]
use_builtin = True
forecast_days = 1
[forecast.builtin]
lookback_days = 2
Configures local paths. viz_path
is the directory where Squirrel visualizations will be stored, and schedule
is the path to the file where the scheduler state will be persisted. Please make sure that the parent directories exist.
In cluster_json
, you can provide a JSON containing the output of scontrol show node --json
. This information will be used as Slurm cluster information. The directory src/sim/data
provides several exemplary Slurm cluster configurations. If you comment out the path, Squirrel calls the scontrol show node --json
command itself.
[local]
viz_path = viz
schedule = schedule.csv
; Comment out cluster_json if you have access to `scontrol show node --json`
cluster_json = src/sim/data/3-node-cluster.json
To create the configuration, copy config/cluster_info_template.cfg
and paste it as cluster_info.cfg
in the same directory.
The default values are for the simulations. You can adjust cluster_info.cfg
at will, depending on your needs.
The nodes
section contains all node-related information.
Tip
Slurm's scontrol show node --json
command provides a JSON output where you can see the hostname of each node.
See documentation
Subsections for Specific Nodes:
- Each node is identified by its hostname (e.g., c1, c12, c2, g1), which are used as subsections of
nodes
(e.g.,nodes.c1
). - Each node has subsections
gpus
and 'cpus` for GPU and CPU details. So far, we support the specification of CPU and GPU TDPs of a node.
[nodes.g1]
[nodes.g1.cpus]
TDP = 180
[nodes.g1.gpus]
TDP = 400
The directory src/sim/data
provides several configuration examples for the exemplary Slurm cluster configurations.