UPS Sizing for AI Compute: Topology, Battery Chemistry, Runtime, and the kVA Trap
A UPS in front of an AI server is a line item where the gap between doing it right and doing it cheap is more about knowing what you are buying than about spending money. The 6 kVA unit labelled "6000 W" is often not a 6 kW UPS. The line-interactive at a third the cost of double-conversion is fine for an office desktop and will sometimes contribute to a crash on a 4-GPU node.
This is UPS protection on Kentino hardware: 4-GPU and 8-GPU K-AI servers on consumer (RTX 5090, 4090) and workstation (RTX Pro 6000 Blackwell) cards. Cross-references: W04, P01, P03, I04, P06, L05.
Why an AI server needs UPS at all
Not for runtime continuity. Training jobs are checkpointed; inference drains and restarts. If power fails for ninety minutes you lose the job since the last checkpoint — model, data, hardware survive. What the UPS buys:
- Graceful shutdown. A hard-reboot under load is a dirty event — filesystems mid-write may end up inconsistent (the journal handles some, not torn checkpoints or in-flight DB writes). With a UPS the server drains queues, syncs filesystems, SIGTERMs vLLM or SGLang, and powers off through the OS — three to five minutes on a tuned node.
- Transient ride-through. The grid sags for tens to hundreds of ms. Usually PSU hold-up absorbs it; sometimes the server reboots silently. Worse: the GPU sees a 12 V under-voltage for a few ms, pulls back boost, throws ECC errors, and inference output is subtly wrong for minutes until the driver resets. Diagnosed weeks later by noticing perplexity climbed.
- Power conditioning. Double-conversion regenerates output sine from the DC bus. The PSU sees clean 230 V regardless of grid quality.
What a UPS is not for: riding through a sustained outage. Sized for 5 kW at ten minutes it is already several kVA of battery; sized for an hour it is a separate room. For real ride-through you need a generator (P06).
The kVA-vs-kW trap
Apparent power (kVA) is RMS V × RMS I. Real power (kW) is what actually does work. PF = kW / kVA.
For non-linear loads PF < 1.0, and the UPS still supplies the full kVA. Older units quoted VA assuming PF 0.6–0.8. A "6 kVA" UPS from 2010 might have a 4 kW real rating — where most "rated 6000 VA, shut down at 4500 W" surprises come from.
Modern AI PSUs change this. Active PFC since ~2010 pulls PF to ~0.95–0.99. K-AI PSUs (Corsair AX, Seasonic PRIME, Super Flower Leadex, Supermicro CRPS) run PF ≥ 0.97. Modern server PSUs achieve PF ≈ 0.99, so UPS kVA and kW now line up:
| Unit | kVA | kW | PF |
|---|---|---|---|
| APC Smart-UPS SRT 6000 / 8000 | 6 / 8 | 6 / 8 | 1.0 |
| Eaton 9PX 6 kVA Lithium | 6 | 5.4 | 0.9 |
| Eaton 9PX 11 kVA | 11 | 10 | 0.91 |
| Riello Sentinel Dual SDU 10000 | 10 | 10 | 1.0 |
| Vertiv Liebert EXM (modular) | 30–250 | matches | 1.0 |
| Schneider Galaxy VS | matches | 20–150 | 1.0 |
Line-interactive families (Vertiv Liebert PSI5, APC Smart-UPS SMT) are still PF ~0.9. For double-conversion 6 kVA and above, assume kVA ≈ kW within 10% and read the spec sheet. Size by kW, then check kVA covers it.
Double-conversion online vs line-interactive
Three UPS classes; only one is right for AI.
Standby (offline). 8–25 ms transfer, often stepped-sine. €100 office units. Skip.
Line-interactive. Autotransformer for brownout/overvoltage correction without going to battery. 2–10 ms transfer. Vertiv Liebert PSI5, APC Smart-UPS SMT, Eaton 5PX. Good enough for office IT. Not appropriate for AI compute.
Double-conversion online. Load runs permanently from the inverter, fed by a DC bus from rectifier and battery in parallel. On input loss, battery takes over the DC bus — the inverter never knows. Transfer time zero, output fully regenerated. APC Smart-UPS SRT, Eaton 9PX, Vertiv Liebert GXT5/EXM, Riello Sentinel Dual SDU/SDH, Schneider Galaxy VS.
Why double-conversion: a 4–10 ms transfer crashes a PSU near rated capacity (a 5 kW K-AI node at 70% PSU load has ~12 ms hold-up; a 6 ms transfer eats half with no margin for transient peaks). A momentary 12 V droop propagates into the GPU's VRM input — clock drops, ECC errors, sometimes a card falls off the bus. Modern ATX and CRPS PSUs are picky about modified-sine. Double-conversion eliminates all three.
Cost: 6 kVA double-conversion lands €1500–2500; line-interactive €700–1200. For a €30k+ server build plus €5k+ in electrical and cooling, the €1000 delta is the cheapest insurance you will buy.
Sizing math: real-power load + headroom
P_ups_kW = (P_server + P_network + P_workstation_critical) × 1.25
P_ups_kVA = P_ups_kW / PF_load (PF ≈ 0.97 for AI PSUs)
The 1.25 covers GPU transient spikes (a 5090 hitting 600 W for 5 ms) and 10% growth.
| Build | Sustained kW | × 1.25 | UPS kVA min |
|---|---|---|---|
| 4-GPU K-AI | 2.4 | 3.0 | 3 kVA |
| 4-GPU + jump host + switch | 2.7 | 3.4 | 4–5 kVA |
| 8-GPU K-AI | 5.0 | 6.25 | 6–8 kVA |
| 8-GPU + network + storage | 5.5 | 6.9 | 8 kVA |
| 2× 8-GPU rack | 10 | 12.5 | 15–20 kVA |
| 4× 8-GPU rack | 20 | 25 | 30 kVA modular |
Workstations usually do not need UPS — operators reopen SSH after a one-minute outage. Network gear does — a server that survives but cannot reach the operator network during shutdown is in the same bucket as one that died. Include the ToR switch and management AP.
Install sanity: load the UPS to 70–80% of rated kW. Below 50% wastes capex on a less efficient operating point; above 85% leaves no transient headroom and the UPS bypasses on the first GPU spike.
Runtime sizing
Doubling runtime more than doubles battery cost because larger batteries also need a bigger inverter.
| Use case | Target | Notes |
|---|---|---|
| Graceful shutdown only | 5 min | Drain, sync, power-off |
| Ride through brief grid events | 10 min | Covers ~95% of outages |
| Bridge to generator transfer | 2 min | ATS + genset = 10–30 s typical |
| Continue inference through outage | 30+ min | Wrong answer — get a generator |
For K-AI, target 10–15 min at sustained load. Five is technically enough for clean shutdown but leaves no margin if the grid flickers (drops, restores 30 s, drops again). Fifteen lets the operator log in and decide whether to ride out or shut down.
A 6 kVA UPS with internal batteries typically delivers 4–6 min. Ten wants one external battery cabinet, fifteen wants two. Each cabinet is ~30–40% of UPS sticker. Runtime is the single biggest cost lever.
| Runtime | Configuration | EU ex VAT |
|---|---|---|
| 4–5 min | UPS only, internal batteries | €3 000 – 4 500 |
| 8–10 min | UPS + 1× external cabinet (VRLA) | €4 500 – 6 500 |
| 15 min | UPS + 2× external cabinets | €6 500 – 9 000 |
| 30 min | UPS + 4× external cabinets | €11 000 – 15 000 |
| 60 min | UPS + 8× cabinets, or generator instead | €18 000+ — generator |
Generator break-even sits around 20–30 min at 5 kW. Below: batteries. Above: generator + smaller UPS bridge (P06).
Lithium vs VRLA: the 2026 picture
Lithium-ion (LFP — lithium iron phosphate, safe-chemistry stationary) crossed the cost-effectiveness threshold in the last three years, and every dominant vendor now ships lithium variants of their mid-range double-conversion lines.
| Property | VRLA | Lithium (LFP) |
|---|---|---|
| Capex per kWh integrated | €100–200/kWh | €300–500/kWh |
| Capex multiplier | 1× | 2–3× |
| Service lifespan | 3–5 years | 8–10 years |
| Charge cycles to 80% | 200–400 | 1500–3000 |
| Recharge 0 → 90% | 8–12 h | 2–4 h |
| Footprint per kWh | 1× | 0.5–0.7× |
| Tolerated temp | dies fast >25 °C | −10 to 40 °C |
| BMS telemetry | none/basic | rich, per-cell |
| 10-year TCO | 1× baseline | 0.5–0.65× |
TCO depends on how the room ages VRLA. A UPS in a 30 °C closet burns VRLA strings every 18–24 months — lithium pays back in two to three years. A 22 °C lab might run VRLA five years, with lithium paying back over a longer horizon. Lithium TCO is ~35% lower over 10 years; some vendors quote 50%.
Lithium is the default for new installs above 3 kVA. The BMS also means the UPS knows when its battery is dying. VRLA still makes sense for very small (1–3 kVA) protection and replacement packs in non-lithium units.
Concrete picks per K-AI tier
Vendor families, not SKUs — families are stable, model numbers churn.
4-GPU K-AI (2.4 kW sustained, 3.0 kW transient): 3 kVA / 2.7 kW double-conversion, lithium. APC Smart-UPS SRT 3000, Eaton 9PX 3000, Vertiv Liebert GXT5 3000, Riello Sentinel Dual SDU 3000. Internal ~5 min — enough for graceful shutdown. EU €1 500 – 2 500 lithium, €1 000 – 1 600 VRLA. 2U–3U convertible.
8-GPU K-AI (5 kW sustained, 6 kW transient): 6 kVA / 5.4–6 kW double-conversion, lithium. APC Smart-UPS SRT 6000, Eaton 9PX 6000, Vertiv Liebert GXT5 6000, Riello Sentinel Dual SDH 6000. Internal 4–6 min; one external cabinet for 10–12 min. EU €3 000 – 5 000 lithium, €2 000 – 3 500 VRLA, plus €1 000 – 2 000 per cabinet. 4U–6U.
Rack of 4× 8-GPU (20 kW sustained): centralized 20–30 kVA, or per-server 6 kVA. Centralized — APC Smart-UPS SRT 20000, Eaton 9PX 22 kVA, Vertiv Liebert APM, Schneider Galaxy VS 20 kW — €12 000 – 20 000 lithium at 10-min runtime. Per-server — 4× 6 kVA, €16 000 – 22 000 total.
Centralized is more efficient (one inverter at 96–97% vs four at 92–94%), takes less rack space, cheaper per kW above ~15 kW. Per-server is more resilient — one UPS failure drops one server. Single rack, one operator: centralize. Managed-services SLA: distribute.
Monitoring: SNMP, NUT, shutdown chain
A UPS nobody monitors is one that quietly fails its capacity test and lies to you the day you need it. Three layers, day one.
Network management card
snmp_exporter
Load, SoC, runtime, temp
- Watches for
LB(low battery) - Drains vLLM / SGLang queues
- Syncs filesystems
systemctl poweroff
Annual capacity test. Manual discharge once a year. < 80% of rated capacity is end-of-life. The most common UPS failure in the wild is a unit that says "battery OK" while delivering 30 seconds instead of 10 minutes — firmware estimates from charge voltage, not actual capacity. Lithium BMS replaces the test; for VRLA it is mandatory. Cross-reference L05.
The "plugged it in and forgot" trap
Silent battery death. UPS sits for three years. The 30-s self-test passes because the battery still has 30 seconds. Dashboard green. Five-minute outage, inverter cuts out at 45 s, server hard-reboots. Battery dead for 18 months.
Thermal abuse. UPS in a closet with a 4-GPU server dumping 2.4 kW, no cooling, ambient 32–35 °C all summer. VRLA ages at ~2× per 10 °C above 25 °C — rated five-year batteries last 18 months at 35 °C. Lithium is more tolerant but still prefers < 30 °C.
Fix: schedule the test, monitor room temp, sticker the next replacement date on the unit.
Generator integration preview
Above 20–30 min runtime, batteries are wrong. A 10 or 20 kW genset outside, fed through an automatic transfer switch (ATS). On utility loss the ATS signals start, waits for stable output (10–30 s), transfers load. The UPS bridges the gap — battery delivers full load ~60 s with margin. A 5-min UPS runtime is more than enough. Long-duration coverage comes from the fuel tank. P06 covers genset, ATS, interlocks.
What to do next
UPS selection sequence:
- Sum real-power load. Server sustained kW from W04 + network + critical-during-shutdown. Skip workstations unless specifically required. Multiply by 1.25.
- Topology: double-conversion online, full stop.
- Chemistry: lithium for new installs ≥ 3 kVA, VRLA only for very small or replacement packs. Pays back on TCO in 2–4 years.
- Runtime by need. Five min for graceful shutdown, 10–15 for realistic grid events, above 20 add a generator.
- Vendor family from the spec sheet. APC Smart-UPS SRT, Eaton 9PX, Vertiv Liebert GXT5/EXM, Riello Sentinel Dual, Schneider Galaxy VS for larger. Confirm kVA/kW matches, pure-sine output, SNMP card included.
- Monitoring on day one. SNMP into Prometheus, NUT tied to shutdown script, alert thresholds, annual capacity test scheduled. A UPS without monitoring is a placebo with batteries.
- Centralized vs per-server above two nodes. Single rack, one operator: centralize. Managed-services SLA: distribute.
- Site thermally. ≤ 25 °C ideal, ≤ 30 °C tolerable. Not in an unconditioned closet with a server.
- Document. Battery install date, rated runtime, test date, replacement date. Sticker on the unit, in monitoring, in the runbook.
Honest take: most one-server hobby labs do not need UPS — a 4-GPU dev box rides out an outage with a checkpoint restart. Two-server labs should have it — the probability of an outage in any given week is high enough that productivity loss exceeds UPS cost in six months. Anyone running training jobs longer than an hour absolutely needs UPS — the cost of losing a multi-hour run to a brownout is several times the UPS cost, and it happens often enough to make the math obvious.
P06 covers generators and ATS selection for sites where runtime justifies the next step. Cross-references: W04, P01, P03, I04, L05.
This is part of the Kentino Wiki, a reference series on AI compute, robotics, and the systems that connect them. Comments and corrections welcome at info@kentino.com.