AI Training Power Swings, Grid Oscillations and BESS Sizing
Model synchronized GPU training pulses, source frequency and bus voltage. Size ramp-limited BESS power and energy, and compare the energy cost of dummy-load gap filling.
AI training power fluctuation becomes a site-level problem when thousands of accelerators reach a communication barrier together. Their individual power drops add coherently, producing a repeated GPU power swing at the grid intake. This calculator connects that workload pattern to source frequency, bus voltage and practical buffering requirements.
Use it when comparing an islanded gas-engine plant, a weak-grid connection, battery smoothing or software gap filling. Engineers can screen a proposed training schedule; students can explore inertia and resonance; operators can test measured compute and communication power against a site's available headroom. The defaults represent one synchronized H100-like job. They are an illustrative source configuration, not a particular engine's test data.
Enter the number of accelerators participating in the same barrier, their two power levels, the training period and the compute duty fraction. Power-chain efficiency converts board power into grid-side demand. Add the steady site load separately; do not multiply all loads by an assumed power usage effectiveness. Unsynchronized jobs should be studied individually or with measured aggregate traces.
For gas engines, use inertia on the entered source power base, governor droop, a combined governor/engine response time and frequency-sensitive load damping. Enter the load-step fraction agreed with the engine supplier. ISO 8528-5:2025 provides the generating-set performance context, but gas-engine acceptance depends on the actual operating point and constant-power load behavior. This tool does not assign a performance class.
For a grid connection, enter short-circuit ratio and X/R for voltage strength, and obtain the equivalent modal inertia, power base, mode frequency and damping from a planning study. Short-circuit ratio alone cannot predict frequency response. The iteration-period chart includes 60 load harmonics, exposing secondary resonance peaks that a fundamental-only screen can miss.
Set a source ramp-rate limit to size a causal moving-average BESS controller. The calculator balances charge and discharge losses over each cycle, then reports inverter power, cyclic energy excursion and pack capacity after the usable SOC window and power-to-energy rating. Pulse energy can be small while repeated charging power demands a much larger battery. Compare its replenishment energy with the extra energy consumed by dummy kernels during communication gaps. Gap filling also raises average source loading.
Play the schematic to follow synchronized load changes and battery power flow. Frequency traces include the start of cycling from a balanced mean operating point. The voltage trace is the constant-PQ, fixed-EMF RMS envelope; it does not represent AVR recovery or converter switching.
This model does not cover protection settings, fault ride-through, UPS control interactions, multi-mode network stability, engine fuel limits, battery thermal management or cycle life. Use site telemetry and equipment models for those studies. Installation work belongs to a qualified person; check against the standard in force.
How it is calculated
Workload and spectrum. The synchronized site swing is , with floor and mean . Harmonic has peak amplitude at . This follows the BSP pulse representation in Chaudhary et al., arXiv:2606.22096, p. 2. Sixty harmonics are retained for the spectrum, RMS period sweep and amplitude-sum frequency screen.
Time-domain source. With , per-unit load perturbation and angle , the implemented equations are
An island has , and entered . A grid-mode equivalent has , and . Grid damping includes the dynamics already represented by that mode. These state equations and their transfer function are derived here; they are not a detailed gas-engine or multi-bus model. Each constant or linear-load interval is propagated with an augmented matrix exponential. Every compute edge, barrier edge and BESS ramp corner is an integration boundary. This solves the linear ODE without smoothing the raw pulses or truncating them to harmonics. Within each interval, each relevant state is a linear particular solution plus the two-pole homogeneous response. All stationary points are located continuously: derivative zeroes are analytic for an unshifted modal response; for a ramp-driven response, analytic derivative turning points bracket each zero for bisection. The real-pole and repeated-pole limits are included. Frequency, mechanical-power and grid-angle extrema therefore do not depend on the plot grid or the simulation horizon's sample spacing. The characteristic poles are rates in s⁻¹; only the modal oscillation frequency is converted to Hz by dividing its imaginary rate by 2π.
The frequency transfer gain is
The period chart shows ; the arithmetic amplitude sum is a conservative bound for the retained harmonics only. The frequency-only accelerator bound uses that sum and does not include voltage, engine headroom or startup.
Voltage. On the same source base, solve the high-voltage root of . Engine impedance uses entered transient reactance; grid impedance uses . Each alternative's fixed internal EMF is set to give unity bus voltage at its own mean load. Voltage extrema and feasibility are evaluated on both sides of every pulse edge and at all ramp corners, requiring positive discriminant and positive squared-voltage root. The BESS supplies active power only, so raw reactive-load pulses remain. Dummy kernels have the entered site power factor.
Buffer and gap filling. Source demand is the causal box average of raw load over , plus a constant loss-replenishment bias. This guarantees the ramp bound even when the averaging window spans several periods. Its harmonic filter is . Brent iteration finds the bias that balances . Exact piecewise-linear power areas give inverter extrema and pack energy; zero crossings are included. Nameplate energy is the larger of cyclic excursion/usable SOC and internal pack power/entered C-rate. These sizes apply to this controller and are not a global optimum. Mean dummy power is ; its added energy and the BESS replenishment energy are multiplied by job runtime. The gap-fill mechanism is supported by Ardestani et al., arXiv:2605.24461, pp. 9–10.
Assumptions
- One deterministic, fully synchronized job, rectangular compute/barrier phases and steady non-GPU load. All accelerator and supply efficiencies are constant. The 700 W / 100 W / 0.90 defaults follow the H100 illustration in arXiv:2606.22096; source, impedance and battery defaults are illustrative user parameters.
- must be expressed on the chosen power base: preserve when changing base. The grid mode is a calibrated equivalent coordinate; SCR does not identify its inertia, frequency or damping.
- Frequency starts at zero deviation with mechanical power dispatched to each alternative's mean load. The BESS has periodic workload history and adequate initial charge. Enabling/disabling the buffer or dummy kernels and their mean-power pickup are not simulated.
- Constant-PQ load at lagging PF, fixed source EMF during the trace, no active/reactive coupling through AVR or volts-per-hertz controls. The source must support the dummy load's higher mean.
- Ideal, immediate bidirectional inverter tracking; equal one-way charge/discharge efficiency. The entered C-rate applies to repeated charging as well as discharging; no degradation, auxiliaries, standby losses or temperature derating.
Where it applies
Use the source model for small frequency and equivalent-angle excursions with an unsaturated governor. Conditions flag a raw excursion above 5% frequency, a grid-mode angle above 0.3 rad, engine mechanical power outside 0…rated power, an OEM load-step exceedance, or loss of the high-voltage constant-power solution. The governor is linear: a flagged saturation requires an equipment model rather than extrapolation.
Voltage is a time-varying algebraic RMS envelope at fixed EMF, not an AVR transient prediction. Engine excitation, turbocharger/fuel/air limits, secondary frequency restoration, UPS current limiting and converter controls are excluded. A weak-grid study can require several modes and location-dependent participation; one equivalent mode cannot represent wide-area dynamics generally.
The raw pulse waveform and continuous linear source dynamics are retained between breakpoints. Continuous stationary-point searches determine the extrema independently of horizon length and display resolution. Reported peaks include a conservative numerical allowance. An unconverged search or frequency allowance above 1 µHz blocks a passing assessment and raises a condition. Time plots evaluate the interval solution at 1,801 display points; playback uses shape-preserving interpolation. A short transient can be visually undersampled in a long trace even though the reported peak includes it; do not read protection timing from the plot. Battery areas include exact sign crossings; the energy curve has about 800 samples per period.
The spectrum and period map stop at harmonic 60. The retained-harmonic sum is not a certified all-frequency bound, and the RMS period map is a steady-state screen, whereas reported transient peaks include startup and only the entered iteration count. Increase that count for lightly damped build-up. The plotted period maximum is a sampled maximum over 0.2…10 s.
ISO 8528-5:2025 (sixth edition) is a performance context, not a load-acceptance curve implemented here. Use the gas-engine manufacturer's agreed constant-power load-step/ramp data and check against the standard in force. No standard tables or performance-class limits are reproduced.
References
- Chaudhary et al., A Pre-Dispatch Resonance Safety Criterion for AI Training Clusters (2026), https://doi.org/10.48550/arXiv.2606.22096 — pulse spectrum, modal forcing and published 39-bus reference amplitudes.
- Ardestani et al., Provisioning to Runtime Optimization of a 100 MW-Scale AI Cluster, v3 (2026), https://doi.org/10.48550/arXiv.2605.24461 — measured large-cluster behavior and software gap filling, pp. 9–10.
- Ko and Zhu, Wide-Area Power System Oscillations from Large-Scale AI Workloads, v2 (2026), https://doi.org/10.48550/arXiv.2508.16457 — limitations of a single-mode equivalent for wide-area studies.
- Li et al., The Unseen AI Disruptions for Power Grids: LLM-Induced Transients (2024), https://doi.org/10.48550/arXiv.2409.11416 — workload-dependent power transients and component power context.
- ISO 8528-5:2025, sixth edition, Generating sets, https://www.iso.org/standard/85960.html — performance context only; check against the standard in force.
- Caterpillar, Constant Power Loads, https://www.cat.com/en_US/by-industry/electric-power/Articles/White-papers/constant-power-loads.html — constant-power load acceptance differs from resistive load-bank behavior.
Inputs
| Input | Symbol | Unit | Default |
|---|---|---|---|
| Synchronized accelerators | N_gpu | 8192 | |
| Compute power per accelerator | P_compute | W | 700 |
| Communication power per accelerator Use measured barrier-phase power when it stays above true idle. | P_idle | W | 100 |
| Power-chain efficiency | eta_chain | 0.9 | |
| Training period | T_iter | s | 1.4 |
| Compute duty fraction | duty | 0.8 | |
| Other site load | P_other | MW | 1 |
| Supply model | source_kind | Islanded gas engines | |
| Nominal frequency | f_nom | Hz | 60 |
| Participating source power base Use the same power base as the inertia constant; for a grid, use a study-derived modal equivalent. | P_base | MW | 20 |
| Inertia constant on this base | H_inertia | s | 2 |
| Governor droop fraction A value of 0.05 means 5% frequency change for one per-unit power change. | R_droop | 0.05 | |
| Governor and engine response time | T_governor | s | 0.25 |
| Frequency-sensitive load damping Per-unit power change per per-unit frequency change. | D_load | 1 | |
| Grid mode frequency | f_mode | Hz | 0.8 |
| Grid modal damping ratio | zeta_mode | 0.05 | |
| OEM accepted load-step fraction Enter the agreed gas-engine step on this power base; no ISO class is assumed. | accepted_step | 0.3 | |
| Site lagging power factor | power_factor | 0.98 | |
| PCC short-circuit ratio Short-circuit MVA divided by the raw site's peak MVA. | SCR_grid | 5 | |
| Engine-side transient reactance Per-unit reactance on the participating source base. | X_engine | 0.15 | |
| Thevenin X/R ratio | XR_ratio | 10 | |
| Maximum source ramp rate | ramp_limit | MW/s | 4 |
| BESS one-way efficiency | eta_bess | 0.96 | |
| Usable state-of-charge fraction | soc_window | 0.8 | |
| Pack power-to-energy limit Use the repeated charge/discharge rating at the required pulse duration. | C_rate | h^-1 | 2 |
| Dummy-load gap-fill fraction | fill_fraction | 1 | |
| Training runtime | job_hours | h | 24 |
| Allowed frequency deviation | df_limit | Hz | 1 |
| Minimum acceptable bus voltage | v_minimum | 0.9 | |
| Simulated training iterations | n_cycles | 24 | |
| Playback time | t_play | s | 1.15 |
Results
With the default inputs above, the calc gives:
| Result | Value |
|---|---|
| Site peak-to-peak swing | 5.4613 MW |
| Mean raw site load | 6.2793 MW |
| Peak raw frequency deviation | 0.7847 Hz |
| Peak BESS frequency deviation | 0.0195 Hz |
| Peak dummy-load frequency deviation | 0 Hz |
| Minimum raw bus voltage | 0.9971 |
| Minimum BESS bus voltage | 0.9982 |
| Minimum bidirectional inverter rating | 4.5512 MW |
| Required cyclic pack energy excursion | 0.3392 kWh |
| Minimum pack energy with power limit | 2,184.5898 kWh |
| Mean BESS replenishment power | 0.0712 MW |
| Additional dummy energy | 26.2144 MWh |
| BESS replenishment energy | 1.7095 MWh |
| Peak smoothed source ramp | 4 MW/s |
| Oscillatory mode frequency | 0.6462 Hz |
| Most influential harmonic | 1 |
| Largest RMS response in sweep | 3.1208 s |
| Frequency and voltage assessment | Raw and BESS meet limits |
| Battery capacity constraint | Pack power rating governs |
| Peak AC battery discharge | 1.0488 MW |
| Peak AC battery charge | 4.5512 MW |
Checked against sources
Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).
Published 100,000-H100 pulse spectrum
Source: Chaudhary et al., arXiv:2606.22096, Table I (p. 2) and p. 4: 100,000 H100s, 700 W compute, approximately 100 W idle, efficiency 0.90 and duty 0.80. Tolerances cover published rounding; formulas use unrounded 600/0.9 W.
Inputs: Synchronized accelerators = 100,000; Other site load = 0 MW; Supply model = Weak-grid equivalent mode; Participating source power base = 22,115 MW; Simulated training iterations = 4; the others as above.
| Result | Source | This calc |
|---|---|---|
| Grid-side swing per accelerator | 667 W | 666.7 W |
| Site peak-to-peak swing | 66.7 MW | 66.667 MW |
| Compute-phase site load | 77.8 MW | 77.778 MW |
| Communication-phase site load | 11.1 ± 0.05 MW | 11.111 MW |
| Raw harmonic peak amplitudes [1] | 24.9 ± 0.05 MW | 24.946 MW |
Published modal resonance and integrated pulse response
Source: Chaudhary et al., arXiv:2606.22096, pp. 4–5, Table III and Fig. 4: 74.8 mHz fundamental and 74.4 mHz integrated square-wave response. The paper's Eq. (5) gain is mapped to a single equivalent coordinate using H×P_base = E_eq/B², with E_eq=18,060 MW·s and B=0.639; H=2 s gives P_base=22,114.953676 MW. This reproduces that published modal transfer, not the complete 39-bus network. Finite 40 s buildup and rounded source values explain the tolerance.
Inputs: Synchronized accelerators = 100,000; Other site load = 0 MW; Supply model = Weak-grid equivalent mode; Participating source power base = 22,115 MW; Grid mode frequency = 0.6 Hz; Grid modal damping ratio = 0.03; Training period = 1.667 s; Maximum source ramp rate = 40 MW/s; the others as above.
| Result | Source | This calc |
|---|---|---|
| Individual raw harmonic frequency amplitudes [1] | 0.0748 ± 1.5 × 10⁻⁴ Hz | 0.0748 Hz |
| Individual raw harmonic frequency amplitudes [2] | 0.0024 ± 5 × 10⁻⁵ Hz | 0.002419 Hz |
| Peak raw frequency deviation | 0.0744 ± 3 × 10⁻⁴ Hz | 0.07434 Hz |
Published detuned first and second harmonics
Source: Chaudhary et al., arXiv:2606.22096, p. 5: at a 2.5 s training period the fundamental is 5.4 mHz and the second harmonic 6.2 mHz. Same E_eq/B² gain mapping as the resonant case. The paper's settled 10.1 mHz waveform maximum is not compared with this tool's full-run maximum, which includes the initial pickup transient.
Inputs: Synchronized accelerators = 100,000; Other site load = 0 MW; Supply model = Weak-grid equivalent mode; Participating source power base = 22,115 MW; Grid mode frequency = 0.6 Hz; Grid modal damping ratio = 0.03; Training period = 2.5 s; Maximum source ramp rate = 40 MW/s; Simulated training iterations = 8; the others as above.
| Result | Source | This calc |
|---|---|---|
| Individual raw harmonic frequency amplitudes [1] | 0.0054 ± 6 × 10⁻⁵ Hz | 0.005372 Hz |
| Individual raw harmonic frequency amplitudes [2] | 0.0062 ± 6 × 10⁻⁵ Hz | 0.006192 Hz |
Lossless full-period buffer: independent energy-area limit
Source: Independent conservation limit derived here: a 1 MW rectangular swing at 50% duty and T=2 s, averaged over one full period, has constant source power. Battery power is ±0.5 MW and the area of either half-cycle is 0.5 MW·s = 0.1388889 kWh. This analytic area check is independent of the breakpoint integration implementation; it is not a published measurement.
Inputs: Synchronized accelerators = 1,500; Other site load = 0 MW; Training period = 2 s; Compute duty fraction = 0.5; Maximum source ramp rate = 0.5 MW/s; BESS one-way efficiency = 1; Simulated training iterations = 4; the others as above.
| Result | Source | This calc |
|---|---|---|
| Minimum bidirectional inverter rating | 0.5 MW | 0.5 MW |
| Required cyclic pack energy excursion | 0.1389 kWh | 0.1389 kWh |
| Mean BESS replenishment power | 0 MW | 0 MW |
| Peak smoothed source ramp | 0 MW/s | 0 MW/s |
| Raw harmonic peak amplitudes [2] | 0 ± 1 × 10⁻¹² MW | 3.898 × 10⁻¹⁷ MW |
Fast transient peaks survive an 80-cycle horizon
Source: Independent review regression, reproduced with Python SciPy 1.15.3 solve_ivp RK45, rtol=2e-11, atol=1e-13, maximum step 0.002 s and derivative-zero events. First-two-cycle raw maximum is 0.3283315933 Hz at 8.0090441413 s; buffered maximum is 0.2829150153 Hz at 0.0089947906 s. An 80-cycle run must retain these peaks. Program: catalog/.work/ai-training-power-swings/peak-regression.py. This is a separate numerical solution of the same equations, not a published measurement.
Inputs: Training period = 10 s; Inertia constant on this base = 0.1 s; Governor and engine response time = 0.02 s; Governor droop fraction = 0.01; Frequency-sensitive load damping = 20; Allowed frequency deviation = 0.2 Hz; Simulated training iterations = 80; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak raw frequency deviation | 0.3283 Hz | 0.3283 Hz |
| Peak BESS frequency deviation | 0.2829 Hz | 0.2829 Hz |
Overdamped continuous extrema
Source: Independent SciPy 1.15.3 RK45 solution with derivative-zero event location (peak-regression.py). Raw maximum at 8.0683723533 s, buffered maximum at 9.3872394560 s. Verifies the two-real-pole branch rather than the oscillatory formula.
Inputs: Inertia constant on this base = 0.1 s; Governor and engine response time = 3 s; Governor droop fraction = 0.15; Frequency-sensitive load damping = 20; Simulated training iterations = 2; Training period = 10 s; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak raw frequency deviation | 0.6899 Hz | 0.6899 Hz |
| Peak BESS frequency deviation | 0.6424 Hz | 0.6424 Hz |
Critical-damping continuous extrema
Source: Independent SciPy 1.15.3 RK45 solution with derivative-zero events (peak-regression.py). Repeated poles at -3 s⁻¹: raw maximum at 8.5000000001 s, buffered maximum at 9.5551023183 s. Confirms the repeated-pole limit without dividing by a zero modal frequency.
Inputs: Inertia constant on this base = 1 s; Governor and engine response time = 1 s; Governor droop fraction = 0.125; Frequency-sensitive load damping = 10; Simulated training iterations = 2; Training period = 10 s; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak raw frequency deviation | 1.134 Hz | 1.134 Hz |
| Peak BESS frequency deviation | 0.9755 Hz | 0.9755 Hz |
Related Resources
Related articles
-
Simulation Under Grid Faults in Wind Power Systems in MATLAB -
Simulation and Performance Analysis of a Grid-Connected Wind Power System Using a Permanent Magnet Synchronous Generator in PLECS -
Direct Power Control Strategies for DFIG Wind Turbines: Implementation, Limitations, and Grid Disturbance Behavior in MATLAB

Responses