cc-specifications/schema/json/cluster.schema.json
2021-12-16 08:10:36 +01:00

120 lines
3.5 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":{
"ClusterId": {
"description": "The unique identifier of a cluster",
"type": "string"
},
"ProcessorType": {
"description": "Processor type",
"type": "string"
},
"SocketsPerNode": {
"description": "Number of sockets per node",
"type": "integer"
},
"CoresPerSocket": {
"description": "Number of cores per socket",
"type": "integer"
},
"ThreadsPerCore": {
"description": "Number of SMT threads per core",
"type": "integer"
},
"FlopRateScalar": {
"description": "Theoretical node peak flop rate for scalar code in GFlops/s",
"type": "integer"
},
"FlopRateSimd": {
"description": "Theoretical node peak flop rate for SIMD code in GFlops/s",
"type": "integer"
},
"MemoryBandwidth": {
"description": "Theoretical node peak memory bandwidth in GB/s",
"type": "integer"
},
"MetricDataRepository": {
"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"
},
"Token": {
"type": "string"
}
},
"required": [
"Kind",
"Url"
]
},
"MetricConfig": {
"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":[
"ClusterId",
"ProcessorType",
"SocketsPerNode",
"CoresPerSocket",
"ThreadsPerCore",
"FlopRateScalar",
"FlopRateSimd",
"MemoryBandwidth",
"MetricDataRepository",
"MetricConfig"
]
}