BACK TO WORK
LIVE DEMO
ENGINEERING DEMONSTRATIONPythonControl SystemsReinforcement Learning
Connecting to ADCTM API...

ADCTM

Autonomous Data Centre Thermal Management

A physics-grounded simulation and control framework for evaluating autonomous thermal-management strategies under dynamic computational workloads, thermal disturbances, and hardware degradation.

View on GitHub
SECTION 02·CLOSED-LOOP INSTRUMENTATION

Interactive Thermal Simulation

Live Python Simulation Runtime
Step00 / 24
Target Setpoint61.0°C
Safe Threshold74.0°C
Cumulative Energy3.75
Safety Violations0
CHILLERS NOMINAL
THERMAL RACK ZONES (5 ZONES DEPLOYED)AMBIENT: 44.0°C
Zone 01#0
68.0°C
Δ +7.0°C
Cooling75%
Workload82%
Zone 02#1
69.0°C
Δ +8.0°C
Cooling75%
Workload86%
Zone 03#2
69.5°C
Δ +8.5°C
Cooling75%
Workload80%
Zone 04#3
68.0°C
Δ +7.0°C
Cooling75%
Workload78%
Zone 05#4
69.0°C
Δ +8.0°C
Cooling75%
Workload88%
t = 0t = 24
Controller:
Task:
SECTION 03·CLOSED-LOOP CONTROL TOPOLOGY

System Architecture

The closed-loop interaction between dynamic computational heat generation, physical multi-zone thermal diffusion, real-time telemetry monitoring, autonomous controller decision, and multi-objective performance evaluation.

PIPELINE DATA FLOWCLICK ANY NODE TO INSPECT SUBSYSTEM
01. Computational WorkloadCPU & GPU dynamic stochastic walks (W_i,t)
HEAT INFLUX
↓
02. Thermal Dynamics EnvironmentMulti-zone racks · 1D Laplacian diffusion · Chiller fault
PHYSICS ODE
↓
03. Telemetry & Sensor MonitoringZone temperatures, workloads, Tamb, target, safe limits
OBSERVATION
↓
04. Autonomous ControllerDecoupled or neural policy dispatching C_i in [0, 1]
ACTIVE: RULE_BASED
Rule-Based
Heuristic
PID
Classical
PPO (RL)
Neural Net
Zero
Passive
↓
05. Cooling Actuation

Continuous CRAH fan RPM & chilled-water valve extraction.

06. Evaluation & Scoring

4-part composite score + 10 industrial metrics feedback.

Closed-Loop Telemetry Recirculation (t → t+1)24 Steps / Episode
LAYER 3 // POLICY DECISION

Autonomous Controller

Unified BaseController interface dispatching continuous per-zone cooling actions in [0.0, 1.0].

TECHNICAL SPECIFICATIONS
Supported ParadigmsRule-Based, PID, PPO (RL), Zero
Action SpaceContinuous [0.0, 1.0] per zone
PPO InferenceStable-Baselines3 MLP continuous actor
Active in live Python simulation runtime.
SECTION 04·FIRST-PRINCIPLES SIMULATION

Thermodynamic Physics Engine

ADCTM models multi-zone rack cooling using a physics-grounded discrete-time thermal ordinary differential equation (ODE), incorporating heat generation, active extraction, ambient dissipation, and inter-zone conduction.

Heat Generation

Server computation drives temperature rises linearly with processor utilization.

α = 7.5 °C / unit load
Active Extraction

CRAH fan modulation and chilled water loops actively extract thermal energy from server racks.

β = 8.0 °C / unit cooling
Ambient Bleed

Passive Newtonian convective thermal exchange with facility hall ambient air.

γ = 0.10 · (Tamb = 44.0°C)
Thermal Diffusion

Conduction between adjacent rack zones governed by a discrete 1D spatial Laplacian.

κ = 0.05 conduction factor
SECTION 06·EMPIRICAL VERIFICATION

Canonical Benchmark Dashboard

Deterministic evaluation on Task: Medium (5 zones, 24 steps, seed 202, chiller degradation at step 10) under the exact same computational workload sequence.

GROUND TRUTH RUN · SEED 202
STRATEGIC POLICY TRADEOFF QUADRANT

Thermal Quality vs. Actuation Energy Expenditure

Low Undercooling (Safety) vs. Low Total Energy
QUADRANT I // AGGRESSIVE PROTECTIONPPO POLICY

Prioritizes thermal safety margin above all else. Drastically eliminates undercooling (-95.8%) and cuts response time to 2.0 steps, but expends 57.5% more cooling energy and produces 1,386°C·steps overcooling.

Undercooling: 19.48Energy: 100.16Overcooling: 1386.92
QUADRANT II // IDEAL PARETO OPTIMUMRESEARCH GOAL

Zero thermal undercooling combined with minimal cooling actuation energy. This is the open research objective: optimizing thermal protection per unit of cooling energy.

Target: Undercooling < 25.0 · Cooling Energy < 50.0
QUADRANT III // PASSIVE RUNAWAYZERO BASELINE

Zero active energy expended (0.00), but leads to immediate critical thermal failure: 23 safety violations, 105.0°C peak temperature ceiling, and 3,653°C·steps of undercooling.

Violations: 23 stepsEnergy: 0.00Headroom: -31.0°C
QUADRANT IV // BALANCED CONSERVATISMRULE-BASED & PID

Moderate cooling energy expenditure (63.60 – 68.81) and minimal overcooling (1.10 – 10.18), but slower deadband convergence (6.2 – 21.8 steps) resulting in moderate sustained undercooling.

Rule Energy: 63.60PID Energy: 68.81Overcooling: < 11.0
Overlay:
Chiller Degradation (Step 10)Target 61.0°CSafety Limit 74.0°C105°C90°C74°C61°C44°Ct=0t=4t=8t=12t=16t=20t=24
Canonical Ground-Truth Results Table (Task: Medium, 24 Steps, Seed 202)Source: tests/test_canonical_benchmark_regression.py
Industrial MetricRule-BasedPID ControllerPPO (RL Agent)Zero (Passive)
Mean Temperature64.86°C62.58°C49.60°C91.44°C
Peak Temperature68.78°C65.96°C65.23°C105.00°C
Thermal Headroom+5.22°C+8.04°C+8.77°C-31.00°C
Safety Violations0 steps0 steps0 steps23 steps
Cooling Energy63.6068.81100.16 (+57.5%)0.00
Undercooling (°C·steps)463.92199.5019.48 (-95.8%)3653.03
Overcooling (°C·steps)1.1010.181386.920.00
Response Time (steps)21.86.22.0 (-90.8%)Failed (24.0)
SECTION 07·EMPIRICAL INTERPRETATION

What Did the Controller Actually Learn?

Interpreting reinforcement learning benchmarks requires intellectual honesty. A lower mean temperature is not an unqualified victory in industrial facility management.

FINDING 01REACTION TIME

Rapid Convergence to Safe Deadband

PPO reaches the target thermal deadband in 2.0 steps, compared to 21.8 steps for the rule-based heuristic and 6.2 steps for PID. By proactively saturating cooling actuators immediately upon workload spikes, it reduces total undercooling by 95.8% (19.48 vs. 463.92 °C·steps).

Response speedup: -90.8%
FINDING 02ENERGY PENALTY

The Cost of Aggressive Overcooling

Because the reward function penalizes safety violations heavily, PPO learned that being substantially too cold (mean 49.60°C) is safer than approaching the 74.0°C threshold. Consequently, it consumes 57.5% more cooling energy (100.16 vs 63.60) and incurs 1,386.92 °C·steps of overcooling.

Energy delta: +57.5% Actuation
FINDING 03DISTURBANCE

Chiller Degradation Robustness

When the step 10 hardware fault halves Zone 03 chiller effectiveness, the baseline rule-based controller exhibits a thermal transient spike to 68.78°C. PPO, already maintaining high thermal headroom (+8.77°C), absorbs the 50% capacity loss with zero safety boundary violations.

Safety Headroom: +8.77°C
Core Systems Conclusion
"The next optimization frontier is not simply better thermal control. It is better thermal control per unit of cooling energy."

ADCTM demonstrates that naive reinforcement learning agents readily discover safety-first policies by aggressively overcooling. Achieving industrial sustainability requires multi-objective Pareto optimization, asymmetric temperature deadband rewards, and explicit chiller actuator slew-rate constraints.

SECTION 09·SYSTEM FOUNDATIONS

Production Engineering Stack

Python 3.10+

Core runtime & physical ODE simulation harness

NumPy

Vectorized 1D Laplacian thermal diffusion & bounded walks

Pydantic v2

Strict schema validation for observations, configs & telemetry

Stable-Baselines3

Continuous Proximal Policy Optimization (PPO) actor-critic

FastAPI

Asynchronous simulation execution & telemetry bridge

Next.js 15 / React 19

High-density technical instrumentation & SVG data visualization

TypeScript

Static end-to-end interface typing & client safety

REPRODUCIBILITY & CLI

Run the Benchmark on Your Own Machine

PEP 517 / 621 PACKAGED

ADCTM is packaged under src/adctm and includes an automated 91-test pytest regression suite locking down all numerical ground truths.

Install package in editable mode with RL dependencies:
$ pip install -e ".[rl,server]"
Run the canonical comparative benchmark across all controllers:
$ adctm benchmark --task medium --controller all
Verify canonical benchmark numerical regression test suite:
$ pytest tests/test_canonical_benchmark_regression.py
OPEN SOURCE REPOSITORY

Inspect the Full Implementation on GitHub

Explore the environment dynamics, controller implementations, benchmark runner, and Docker containerization. Distributed under the MIT License.