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.

Host

A host is a machine on which tasks run. It has a CPU and memory, and can have a GPU.

FieldTypeDefaultDescription
namestring"Host"Name of the host.
countinteger1The number of identical hosts to create.
cpuCPUrequiredThe CPU of the host.
memoryMemoryrequiredThe memory of the host.
gpuGPUno GPUThe GPU of the host.
cpuPowerModelPower modellinear, 200 W idle, 400 W maxPower draw of the CPU.
gpuPowerModelPower modellinear, 200 W idle, 400 W maxPower draw of the GPU.
cpuDistributionPolicyDistribution policyMAX_MIN_FAIRNESSHow the CPU is shared between tasks.
gpuDistributionPolicyDistribution policyMAX_MIN_FAIRNESSHow the GPU is shared between tasks.

CPU​

FieldTypeDefaultDescription
coreCountintegerrequiredThe number of cores per CPU.
coreSpeedFrequencyrequiredThe speed of each core.
countinteger1The number of CPUs in the host.
vendorstring"unknown"The vendor of the CPU.
modelNamestring"unknown"The model of the CPU.
archstring"unknown"The micro-architecture of the CPU.

Memory​

FieldTypeDefaultDescription
memorySizeData sizerequiredThe amount of memory.
memorySpeedFrequencyunspecifiedThe speed of the memory.
vendorstring"unknown"The vendor of the memory.
modelNamestring"unknown"The model of the memory.
archstring"unknown"The memory technology.

GPU​

FieldTypeDefaultDescription
coreCountintegerrequiredThe number of cores per GPU.
coreSpeedFrequencyrequiredThe speed of each core.
countinteger1The number of GPUs in the host.
memorySizeData sizeunspecifiedThe memory of each GPU.
memoryBandwidthData rateunspecifiedThe memory bandwidth of each GPU.
vendorstring"unknown"The vendor of the GPU.
modelNamestring"unknown"The model of the GPU.
architecturestring"unknown"The micro-architecture of the GPU.
virtualizationOverHeadModelVirtualization overheadNONEThe performance lost when the GPU is shared.

Example​

A host with a 4-core CPU and a GPU, whose GPU is shared in fixed shares:

{
"name": "DualGpuHost",
"cpu": { "coreCount": 4, "coreSpeed": "2 GHz" },
"memory": { "memorySize": "128 GiB" },
"cpuPowerModel": { "modelType": "linear", "idlePower": "100 W", "maxPower": "200 W" },
"cpuDistributionPolicy": { "type": "MAX_MIN_FAIRNESS" },
"gpu": {
"coreCount": 2,
"coreSpeed": "2 GHz",
"virtualizationOverHeadModel": { "type": "CONSTANT", "percentageOverhead": 0.25 }
},
"gpuPowerModel": { "modelType": "linear", "idlePower": "100 W", "maxPower": "200 W" },
"gpuDistributionPolicy": { "type": "FIXED_SHARE", "shareRatio": 0.5 }
}