Skip to main content

Host

A host is a machine that can execute tasks. A host consist of the following components:

variabletyperequired?defaultdescription
namestringnoHostThe name of the host. This is only important for debugging and post-processing
countintegerno1The amount of hosts of this type are in the cluster
cpuModelCPUyesN/AThe CPUs in the host
memoryMemoryyesN/AThe memory used by the host
cpuPowerModelPower ModelnoDefaultThe power model used to determine the power draw of the cpu
gpuPowerModelPower ModelnoDefaultThe power model used to determine the power draw of the gpu
cpuDistributionPolicyDistribution PolicynoDefaultThe distribution policy used for the CPU
gpuDistributionPolicyDistribution PolicynoDefaultThe distribution policy used for the GPU

CPU

variabletypeUnitrequired?defaultdescription
modelNamestringN/AnounknownThe name of the CPU.
vendorstringN/AnounknownThe vendor of the CPU
archstringN/Anounknownthe micro-architecture of the CPU
countintegerN/Ano1The number of CPUs of this type used by the host
coreCountintegercountyesN/AThe number of cores in the CPU
coreSpeedDoubleMhzyesN/AThe speed of each core in Mhz

Memory

variabletypeUnitrequired?defaultdescription
modelNamestringN/AnounknownThe name of the CPU.
vendorstringN/AnounknownThe vendor of the CPU
archstringN/Anounknownthe micro-architecture of the CPU
memorySizeintegerByteyesN/AThe number of cores in the CPU
memorySpeedDoubleMhzno-1The speed of each core in Mhz. PLACEHOLDER: this currently does nothing.

GPU

GPUS are an optional component of a host. The required fields are only required if the host has GPUs.

variabletypeUnitrequired?defaultdescription
modelNamestringN/AnounknownThe name of the GPU.
vendorstringN/AnounknownThe vendor of the GPU
archstringN/Anounknownthe micro-architecture of the GPU
countintegerN/Ano1The number of GPUs of this type used by the host
coreCountintegercountyesN/AThe number of cores in the GPU
coreSpeedDoubleMhzyesN/AThe speed of each core in Mhz
memorySizeintegerBytenoN/AThe speed of each core in Mhz
memoryBandwidthDoubleBytes per SecondnoN/AThe speed of each core in Mhz
virtualizationOverHeadModelVirtualizationOverHeadModelN/AnoN/AThe virtualization model of the GPU, used to determine the performance

Example - No GPU

{
"name": "H01",
"cpu": {
"coreCount": 16,
"coreSpeed": 2100
},
"memory": {
"memorySize": 100000
},
"CpuPowerModel": {
"modelType": "sqrt",
"idlePower": 32.0,
"maxPower": 180.0
},
"count": 100
}

This example creates 100 hosts with 16 cores and 2.1 Ghz CPU speed, and 100 GB of memory. The power model used is a square root model with a power of 400 W, idle power of 32 W, and max power of 180 W. For more information on the power model, see Power Model.

Example - With GPU

{
"clusters": [
{
"name": "C01",
"hosts": [
{
"name": "DualGpuHost",
"cpu": {
"coreCount": 4,
"coreSpeed": 2000
},
"memory": {
"memorySize": 140457600000
},
"cpuPowerModel": {
"modelType": "linear",
"power": 400.0,
"idlePower": 100.0,
"maxPower": 200.0
},
"cpuDistributionPolicy": {
"type": "MAX_MIN_FAIRNESS"
},
"gpu": {
"coreCount": 2,
"coreSpeed": 2000,
"virtualizationOverHeadModel": {
"type": "CONSTANT",
"percentageOverhead": 0.25
}
},
"gpuPowerModel": {
"modelType": "linear",
"power": 400.0,
"idlePower": 100.0,
"maxPower": 200.0
},
"gpuDistributionPolicy": {
"type": "FIXED_SHARE",
"shareRatio": 0.5
}
}
]
}
]
}

This example creates a host with 4 CPU cores and 2 GPU cores, both with a speed of 2.0 Ghz. The host has 140 GB of memory and uses a linear power model for both CPU and GPU with a power of 400 W, idle power of 100 W, and max power of 200 W. For more information on the power model, see Power Model.