{ "$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" ] }