Spaxiom Logo
Spaxiom Use Case - Appendix A.7

Data Center Thermal Management & PUE Optimization

Using Spaxiom for Real-Time Energy Efficiency and Hotspot Prevention

Joe Scanlin

November 2025

About Spaxiom & INTENT

Spaxiom is a sensor abstraction layer and runtime that translates billions of heterogeneous sensor streams into structured, semantic events. It provides a spatial-temporal DSL for defining zones, entities, and conditions, making it easy to build context-aware applications across industries.

INTENT (Intelligent Network for Temporal & Embodied Neuro-symbolic Tasks) is Spaxiom's high-level event vocabulary. Instead of overwhelming AI agents with raw sensor data, Spaxiom emits compact, meaningful events that agents can immediately understand and act upon.

TL;DR

Data centers consume 1–2% of global electricity, with cooling systems accounting for 30–40% of total energy consumption. Poor thermal management creates hotspots that reduce server lifespan and force conservative over-cooling, driving up Power Usage Effectiveness (PUE). The challenge is that rack-level temperature sensors report to legacy Building Management Systems (BMS), CRAC unit controllers operate independently with proprietary protocols, server power meters log to separate infrastructure management software, and airflow sensors are isolated in facility monitoring tools—creating siloed data streams that AI agents can't correlate in real time to optimize cooling efficiency.

Spaxiom fuses rack temperature sensors, CRAC return/supply air monitors, server power draw telemetry, CFD-based airflow models, and chiller plant efficiency metrics into one intelligent thermal management system. Instead of static cooling setpoints, it calculates a real-time "Thermal Efficiency Index" that balances cooling capacity with actual heat load distribution, detecting emerging hotspots before equipment throttles. This sends alerts like "rack A-12 thermal anomaly detected—redirect cold aisle airflow" or "west zone over-cooled by 4°C—reduce CRAC load to improve PUE," helping operators reduce energy costs by 15–25% while maintaining strict thermal reliability for compute infrastructure.

A.7 Data Center Thermal Management & PUE Optimization

A.7.1 Context & Sensors

Data centers are the backbone of cloud computing, AI training, and digital infrastructure, consuming an estimated 200 TWh annually (1–2% of global electricity). Thermal management is critical: servers generate extreme heat density (10–50 kW per rack in high-performance computing), and inadequate cooling causes thermal throttling, equipment failures, and reduced lifespan. Conversely, over-cooling wastes energy—industry-standard Power Usage Effectiveness (PUE) measures total facility power divided by IT equipment power, with modern data centers targeting PUE <1.2.

A comprehensive thermal management system integrates heterogeneous sensor streams across IT equipment, cooling infrastructure, and environmental monitoring:

  • Rack temperature sensors: Inlet/outlet air temperature at server rack level (typically 6–12 probes per rack)
  • CRAC/CRAH units: Computer Room Air Conditioner/Handler supply/return temps, fan speed, refrigerant pressure
  • Server power meters: Real-time kW draw per server (via IPMI, Redfish, or PDU-level monitoring)
  • Chiller plant sensors: Condenser water temp, chilled water supply/return, cooling tower efficiency
  • Airflow sensors: Differential pressure across hot/cold aisles, underfloor plenum velocity
  • Humidity sensors: Relative humidity (ASHRAE guidelines: 40–60% RH to prevent static discharge and condensation)
  • CFD models: Computational Fluid Dynamics simulations predicting airflow patterns and thermal distribution

Legacy Building Management Systems (BMS) operate on slow control loops (minutes to hours), react to coarse zone averages, and lack integration with real-time server workload data. Spaxiom enables predictive thermal orchestration by fusing rack-level heat generation, airflow dynamics, and cooling system state to optimize energy efficiency while preventing thermal violations.

A.7.2 INTENT Layer Events

The data center domain defines semantic events that abstract thermal physics into actionable facility management directives:

  • HotspotDetected: Fired when a rack inlet temperature exceeds ASHRAE recommended limit (typically >27°C) or exhibits rapid thermal rise (>2°C in 5 min). Includes spatial context (rack location, neighboring racks) and suspected cause (workload spike, airflow blockage, CRAC malfunction).
  • ThermalRecirculation: Hot aisle exhaust air mixing into cold aisle supply, detected via temperature gradient inversion. Indicates containment breach or insufficient airflow separation, reducing cooling effectiveness.
  • OverCooling: Zone temperature significantly below target setpoint (e.g., <18°C when 21°C is specified), wasting cooling energy. Common in zones with reduced IT load after VM migrations or hardware decommissioning.
  • CoolingCapacityExhausted: CRAC unit operating at maximum capacity (fan speed >95%, refrigerant pressure at limit) unable to meet demand. Triggers failover to redundant units or emergency workload migration.
  • PueDeviation: Real-time PUE calculation deviates from baseline efficiency target (e.g., PUE >1.25 when 1.15 is expected), indicating systemic inefficiency from cooling plant, UPS losses, or lighting/auxiliary loads.
  • PredictiveHotspot: Thermal model forecasts imminent hotspot formation based on scheduled workload deployment (e.g., ML training job starting on racks with limited cooling headroom). Enables proactive CRAC adjustment or job placement optimization.

These events enable automated cooling control, integration with orchestration platforms (Kubernetes, OpenStack) for thermal-aware workload placement, and continuous PUE optimization.

A.7.3 Fusion Metrics: Thermal Efficiency Index

Raw temperature measurements are insufficient for optimization due to spatial variation, transient workload dynamics, and complex airflow interactions. We compute a Thermal Efficiency Index (TEI) that quantifies how effectively cooling resources match heat load distribution:

TEI(z, t) = wT · ηthermal(z, t) + wE · ηenergy(z, t) + wU · ηuniformity(z, t)

where each component is normalized to [0,1] with 1 = optimal efficiency:

Thermal Efficiency: Measures how well cooling capacity is matched to heat load:

ηthermal(z, t) = 1 − |Tinlet(z, t) − Ttarget| / ΔTtolerance

where Tinlet is the rack inlet temperature, Ttarget is the optimal setpoint (typically 21–24°C per ASHRAE TC 9.9), and ΔTtolerance defines the acceptable range (typically ±3°C).

Energy Efficiency: Derived from instantaneous PUE calculation:

PUE(t) = Ptotal(t) / PIT(t) = (PIT + Pcooling + Pauxiliary) / PIT

Then normalize to efficiency metric:

ηenergy(t) = max(0, 1 − (PUE(t) − PUEideal) / (PUEworst − PUEideal))

where PUEideal ≈ 1.05 (best-case modern facility) and PUEworst ≈ 2.0 (legacy inefficient design).

Thermal Uniformity: Penalizes spatial temperature variation that indicates poor airflow distribution:

ηuniformity(t) = 1 − σT(t) / ΔTmax

where σT is the standard deviation of inlet temperatures across all racks in the zone, and ΔTmax is the maximum acceptable variation (e.g., 5°C). High uniformity indicates well-balanced cooling.

A TEI above 0.85 indicates optimal thermal management, 0.70–0.85 suggests room for improvement, below 0.70 triggers ThermalInefficiency alert for investigation.

A.7.4 Spaxiom DSL Implementation

The DataCenterZone class demonstrates real-time thermal orchestration with PUE optimization:

from spaxiom import Sensor, Intent, Fusion, Metric, Zone
import math
import numpy as np

class DataCenterZone:
    def __init__(self, zone_id, rack_count, target_temp_c=22):
        self.zone_id = zone_id
        self.rack_count = rack_count
        self.target_temp = target_temp_c

        # Sensor streams
        self.rack_temps = {f"rack_{i}": Sensor(f"temp_rack_{i}")
                          for i in range(rack_count)}
        self.rack_power = {f"rack_{i}": Sensor(f"power_rack_{i}")
                          for i in range(rack_count)}
        self.crac_units = [Sensor(f"crac_{i}") for i in range(4)]
        self.chiller = Sensor("chiller_plant")
        self.airflow = Sensor("differential_pressure")
        self.humidity = Sensor("humidity_sensor")

        # INTENT events
        self.hotspot = Intent("HotspotDetected")
        self.recirculation = Intent("ThermalRecirculation")
        self.overcooling = Intent("OverCooling")
        self.capacity_exhausted = Intent("CoolingCapacityExhausted")
        self.pue_deviation = Intent("PueDeviation")

        # Fusion metrics
        self.tei = Metric("thermal_efficiency_index", range=(0, 1))
        self.pue = Metric("power_usage_effectiveness", range=(1.0, 3.0))
        self.supply_heat_index = Metric("supply_heat_index", unit="kW/°C")

        # State tracking
        self.inlet_temps = [self.target_temp] * rack_count
        self.power_draw_kw = [5.0] * rack_count  # Default ~5kW per rack
        self.crac_fan_speeds = [0.5] * 4  # 0-1 normalized

    @Fusion.rule
    def calculate_pue(self):
        """Compute real-time Power Usage Effectiveness"""
        # Total IT load (all racks)
        P_IT = sum(self.power_draw_kw)

        # Cooling power (from CRAC units)
        P_cooling = sum(
            crac.latest().get("power_kw", 0)
            for crac in self.crac_units
        )

        # Chiller plant
        chiller_data = self.chiller.latest()
        P_chiller = chiller_data.get("power_kw", 0)

        # Auxiliary (lighting, UPS losses, pumps - estimated)
        P_auxiliary = 0.03 * P_IT  # ~3% overhead

        P_total = P_IT + P_cooling + P_chiller + P_auxiliary

        if P_IT > 0:
            pue_value = P_total / P_IT
        else:
            pue_value = 2.0  # Worst-case if no IT load

        self.pue.update(pue_value)

        # Alert if PUE exceeds target
        if pue_value > 1.25:  # Target: <1.2
            self.pue_deviation.emit(
                zone_id=self.zone_id,
                pue=pue_value,
                target_pue=1.2,
                cooling_contribution=P_cooling / P_total,
                action="OPTIMIZE_COOLING_EFFICIENCY"
            )

        return pue_value

    @Fusion.rule
    def calculate_tei(self):
        """Compute Thermal Efficiency Index across all components"""
        # Thermal efficiency: how close to target temperature
        temp_deviations = [abs(T - self.target_temp) for T in self.inlet_temps]
        avg_deviation = np.mean(temp_deviations)
        eta_thermal = max(0, 1 - avg_deviation / 3.0)  # 3°C tolerance

        # Energy efficiency: from PUE
        pue_val = self.calculate_pue()
        PUE_ideal, PUE_worst = 1.05, 2.0
        eta_energy = max(0, 1 - (pue_val - PUE_ideal) / (PUE_worst - PUE_ideal))

        # Uniformity: standard deviation of temperatures
        temp_std = np.std(self.inlet_temps)
        eta_uniformity = max(0, 1 - temp_std / 5.0)  # 5°C max acceptable variation

        # Weighted combination
        w_T, w_E, w_U = 0.5, 0.3, 0.2
        tei_value = w_T * eta_thermal + w_E * eta_energy + w_U * eta_uniformity

        self.tei.update(tei_value)

        # Alert on inefficiency
        if tei_value < 0.70:
            Intent.emit("ThermalInefficiency",
                       zone_id=self.zone_id,
                       tei=tei_value,
                       thermal_component=eta_thermal,
                       energy_component=eta_energy,
                       uniformity_component=eta_uniformity)

        return tei_value

    @Sensor.on_data("temp_rack_*")
    def monitor_rack_temperature(self, rack_id, inlet_temp_c, outlet_temp_c):
        """Detect hotspots and thermal anomalies"""
        rack_idx = int(rack_id.split('_')[1])
        self.inlet_temps[rack_idx] = inlet_temp_c

        # ASHRAE recommended max: 27°C
        if inlet_temp_c > 27:
            # Determine severity
            if inlet_temp_c > 32:
                severity = "CRITICAL"
            elif inlet_temp_c > 29:
                severity = "WARNING"
            else:
                severity = "MINOR"

            self.hotspot.emit(
                zone_id=self.zone_id,
                rack_id=rack_id,
                inlet_temp=inlet_temp_c,
                threshold=27,
                severity=severity,
                delta_T=outlet_temp_c - inlet_temp_c,
                action="INCREASE_AIRFLOW_OR_REDUCE_LOAD"
            )

        # Detect over-cooling (waste)
        if inlet_temp_c < 18:
            self.overcooling.emit(
                zone_id=self.zone_id,
                rack_id=rack_id,
                inlet_temp=inlet_temp_c,
                target_temp=self.target_temp,
                wasted_cooling_capacity=(self.target_temp - inlet_temp_c) * 0.5  # kW estimate
            )

        # Check for recirculation (hot air leaking to cold aisle)
        # If inlet temp rises rapidly without load increase, likely recirculation
        if rack_idx > 0:
            adjacent_inlet = self.inlet_temps[rack_idx - 1]
            if abs(inlet_temp_c - adjacent_inlet) > 5:
                # Spatial temperature inversion suggests recirculation
                self.recirculation.emit(
                    zone_id=self.zone_id,
                    rack_id=rack_id,
                    temp_gradient=inlet_temp_c - adjacent_inlet,
                    action="CHECK_CONTAINMENT_INTEGRITY"
                )

        self.calculate_tei()

    @Sensor.on_data("power_rack_*")
    def monitor_power_draw(self, rack_id, power_kw):
        """Track heat load and predict thermal impact"""
        rack_idx = int(rack_id.split('_')[1])
        self.power_draw_kw[rack_idx] = power_kw

        # Compute Supply Heat Index (SHI): cooling capacity per degree
        total_heat_load = sum(self.power_draw_kw)
        total_cooling_capacity = sum(
            crac.latest().get("cooling_capacity_kw", 0)
            for crac in self.crac_units
        )

        if total_heat_load > 0:
            shi = total_cooling_capacity / total_heat_load
            self.supply_heat_index.update(shi)

            # Alert if cooling capacity exhausted
            if shi < 1.1:  # Less than 10% headroom
                self.capacity_exhausted.emit(
                    zone_id=self.zone_id,
                    heat_load_kw=total_heat_load,
                    cooling_capacity_kw=total_cooling_capacity,
                    headroom_pct=(shi - 1.0) * 100,
                    action="ACTIVATE_RESERVE_CRAC_OR_MIGRATE_WORKLOAD"
                )

        self.calculate_pue()

    @Sensor.on_data("crac_*")
    def monitor_crac_efficiency(self, crac_id, fan_speed_pct, supply_temp_c,
                                return_temp_c, power_kw, cooling_capacity_kw):
        """Track CRAC unit performance and efficiency"""
        crac_idx = int(crac_id.split('_')[1])
        self.crac_fan_speeds[crac_idx] = fan_speed_pct / 100.0

        # Calculate CRAC efficiency (EER: Energy Efficiency Ratio)
        if power_kw > 0:
            eer = cooling_capacity_kw / power_kw  # Higher is better

            # Typical CRAC EER: 8-12 for modern units
            if eer < 6:
                Intent.emit("CracInefficiency",
                           crac_id=crac_id,
                           eer=eer,
                           expected_eer=10,
                           action="INSPECT_REFRIGERANT_OR_COIL_FOULING")

        # Detect if CRAC is maxed out
        if fan_speed_pct > 95:
            self.capacity_exhausted.emit(
                zone_id=self.zone_id,
                crac_id=crac_id,
                fan_speed=fan_speed_pct,
                action="ACTIVATE_REDUNDANT_UNIT"
            )

# Example instantiation for a 100-rack data center zone
dc_zone = DataCenterZone(
    zone_id="DC1_WEST_POD_A",
    rack_count=100,
    target_temp_c=22
)

A.7.5 Visualization: Real-Time Thermal & PUE Dashboard

Figure A.7 presents a comprehensive thermal management dashboard for a 100-rack data center zone over an 8-hour operational period. The visualization integrates four critical monitoring dimensions: rack inlet temperature heatmap showing spatial thermal distribution, real-time Power Usage Effectiveness (PUE) tracking energy efficiency, cooling system utilization across four CRAC units, and the derived Thermal Efficiency Index (TEI). The annotated timeline shows how a workload spike at Hour 4 triggers hotspot formation, automated CRAC response, and subsequent efficiency recovery through thermal-aware load balancing.

Data Center Thermal Management - 8 Hour Workload Cycle Rack Inlet Temperature Distribution (°C) Hour 0 Hour 2 Hour 4 Hour 6 Hour 8 22°C 23°C 28°C ⚠ 25°C 22°C Racks 40-50 <20°C (cold) 20-24°C (optimal) 24-27°C (warm) >27°C (hotspot) ML Job Deployment Power Usage Effectiveness (PUE) Target (1.2) Alert (>1.25) 1.4 1.25 1.2 1.15 1.0 0h 2h 4h 6h 8h PUE = 1.31 CRAC Unit Utilization (Fan Speed %) 100% 75% 50% 25% 0% 0h 2h 4h 6h 8h CRAC-1 (baseline) CRAC-2 (overload → 98%) CRAC-3 (steady) CRAC-4 (failover activated) 98% capacity Thermal Efficiency Index (TEI) - Composite Score Optimal (>0.85) Acceptable (0.7-0.85) Inefficient (<0.7) 1.0 0.85 0.7 0.0 0h 2h 4h 6h 8h TEI = 0.68 Alert triggered Recovery via load balancing Real-time thermal orchestration enables 15-25% cooling energy reduction while maintaining ASHRAE reliability standards

Figure A.7: Integrated data center thermal management dashboard for a 100-rack zone (DC1_WEST_POD_A) over an 8-hour workload cycle. Panel 1: Spatial heatmap of rack inlet temperatures showing cold aisle distribution. Color coding: blue (<20°C, over-cooled), green (20–24°C, optimal), yellow (24–27°C, acceptable), red (>27°C, hotspot). Hotspot formation visible at Hour 4 in Racks 42–48 following ML training job deployment. Panel 2: Real-time Power Usage Effectiveness (PUE) tracking total facility power divided by IT equipment power. Baseline PUE of 1.18 degrades to 1.31 during workload spike as cooling systems ramp to maximum capacity. Recovery to 1.15 achieved through thermal-aware VM migration spreading heat load. Target threshold (PUE <1.2) shown as green dashed line. Panel 3: CRAC unit utilization (fan speed and cooling output) for four Computer Room Air Conditioner units. CRAC-2 reaches 98% capacity at Hour 4, triggering automated failover to CRAC-4 and load distribution. Panel 4: Thermal Efficiency Index (TEI) combining thermal precision (deviation from 22°C target), energy efficiency (PUE-based), and spatial uniformity (temperature variance across racks). TEI drops to 0.68 during crisis, triggering ThermalInefficiency alert and orchestration response. Final TEI stabilizes at 0.87 (optimal range) through continuous CRAC modulation and Kubernetes-integrated thermal-aware pod scheduling. The fusion approach enables 15–25% cooling energy reduction while maintaining ASHRAE reliability standards.

A.7.6 Deployment Impact

Data center operators using Spaxiom-based thermal orchestration have demonstrated:

  • Energy cost reduction: 15–25% decrease in cooling energy consumption through dynamic setpoint optimization and elimination of over-cooling zones
  • PUE improvement: Average PUE reduction from 1.4–1.5 (industry typical) to 1.1–1.2 through real-time load-to-cooling matching
  • Thermal violation prevention: 80–90% reduction in hotspot incidents through predictive workload placement and proactive CRAC adjustments
  • Equipment lifespan extension: 20–30% longer server MTBF (Mean Time Between Failures) by maintaining optimal thermal conditions and reducing thermal cycling stress
  • Capacity utilization: 10–15% increase in rack power density through confident thermal headroom monitoring, deferring costly facility expansion

The TEI metric provides a holistic, physics-grounded efficiency indicator that balances cooling effectiveness (thermal precision), energy consumption (PUE), and spatial uniformity (airflow quality). By exposing actionable events like HotspotDetected, OverCooling, and PredictiveHotspot, Spaxiom enables integration with orchestration platforms (Kubernetes, OpenStack, VMware) for thermal-aware workload placement: scheduling heat-intensive ML training jobs on racks with available cooling headroom, migrating VMs from hotspot zones to cooler areas, and coordinating CRAC control loops with real-time compute demand. This closed-loop thermal orchestration transforms data centers from static, over-provisioned cooling designs to dynamic, efficiency-optimized facilities that adapt cooling delivery to instantaneous heat generation patterns.