cc-specifications/schema/json/cluster.schema.json
Jan Eitzinger 344fc6fdef Rework schema
* Change cpu to hwthread and gpu to accelerator
* Change sampletime to timestep
* Add Metric Data repository to cluster
2021-11-29 10:26:00 +01:00

113 lines
3.4 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "HPC Cluster description",
"description": "Meta data information of a HPC cluster",
"type": "object",
"properties":{
"cluster_id": {
"description": "The unique identifier of a cluster",
"type": "string"
},
"processor_type": {
"description": "Processor type",
"type": "string"
},
"sockets_per_node": {
"description": "Number of sockets per node",
"type": "integer"
},
"cores_per_socket": {
"description": "Number of cores per socket",
"type": "integer"
},
"threads_per_core": {
"description": "Number of SMT threads per core",
"type": "integer"
},
"flop_rate_scalar": {
"description": "Theoretical node peak flop rate for scalar code in GFlops/s",
"type": "integer"
},
"flop_rate_simd": {
"description": "Theoretical node peak flop rate for SIMD code in GFlops/s",
"type": "integer"
},
"memory_bandwidth": {
"description": "Theoretical node peak memory bandwidth in GB/s",
"type": "integer"
},
"metric_data_repository": {
"description": "Type of the metric data repository for this cluster",
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"influxdb-v1",
"influxdb-v2",
"prometheus",
"cc-metric-store"
]
},
"url": {
"type": "string"
}
}
},
"metric_config": {
"description": "Metric specifications",
"type": "array",
"items": {
"type": "object",
"properties":{
"name": {
"description": "Metric name",
"type": "string"
},
"unit": {
"description": "Metric unit",
"type": "string"
},
"timestep": {
"description": "Frequency of timeseries points",
"type": "integer"
},
"peak": {
"type": "number"
},
"normal": {
"type": "number"
},
"caution": {
"type": "number"
},
"alert": {
"type": "number"
}
}
},
"required":[
"name",
"unit",
"timestep",
"peak",
"normal",
"caution",
"alert"
]
}
},
"required":[
"cluster_id",
"processor_type",
"sockets_per_node",
"cores_per_socket",
"threads_per_core",
"flop_rate_scalar",
"flop_rate_simd",
"memory_bandwidth",
"metric_data_repository",
"metric_config"
]
}