Skip to main content
OpenDC2 is no longer being developed

This page documents OpenDC2. OpenDC3 can still run OpenDC2 experiment files with opendc --legacy run, but new features are only added to OpenDC3. See the OpenDC3 documentation, or Migrating to OpenDC3.

Topology

A topology defines the hardware that is simulated. It is a JSON file that an experiment refers to with pathToFile. A topology consists of one or more clusters. Each cluster has hosts, a power source and an optional battery.

topology
└── clusters
├── powerSource
├── battery
└── hosts
├── cpu, memory, gpu
├── cpuPowerModel, gpuPowerModel
└── cpuDistributionPolicy, gpuDistributionPolicy

Topology​

FieldTypeDefaultDescription
clusterslist of clustersrequiredThe clusters in the topology.

Cluster​

FieldTypeDefaultDescription
namestring"Cluster"Name of the cluster.
countinteger1The number of identical clusters to create.
hostslist of hostsrequiredThe hosts in the cluster.
powerSourcePower sourceunlimited power, no carbon traceThe power source of the cluster.
batteryBatteryno batteryA battery that stores energy for the cluster.

Example​

A topology with two identical clusters of 16 hosts, which use the carbon trace of the Netherlands:

{
"clusters": [
{
"name": "C01",
"count": 2,
"hosts": [
{
"name": "H01",
"count": 16,
"cpu": { "coreCount": 32, "coreSpeed": "2.1 GHz" },
"memory": { "memorySize": "256 GiB" },
"cpuPowerModel": { "modelType": "linear", "idlePower": "100 W", "maxPower": "350 W" }
}
],
"powerSource": {
"carbonTracePath": "carbon_traces/NL_2021-2024.parquet"
}
}
]
}