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