Mystery of 60-Second Fluctuations in Power Grids Solved
123 points by _Microft 2 days ago | 53 comments

schobi 4 hours ago
The press release is rather light on details. They found that it is every 60seconds (duh!) and generators (or such). So what exactly is it? (Make and model?)

Seems like they did not find the exact manufacturer or the exact devices and were not able to change firmware then?

reply
manarth 3 hours ago
The paper has a little more details:

  "following our communication with the manufacturer, a software update was issued that removed the strict periodicity of the current peaks in one battery block of the investigated UPS system"
https://www.nature.com/articles/s41560-026-02144-0

Given the issue is so widespread (international, affecting pretty much every grid), it's likely that multiple manufacturers use similar approaches.

reply
hyperman1 37 minutes ago
You see the same thing with e.g. cron jobs, where everyone schedules on xx:00 or xx:30. No communication needed, it's just natural. More senior people recognize this and add randomness to their start times or skew a bit.
reply
truekonrads 21 minutes ago
You ought to use RandomizedDelaySec=xxx
reply
manarth 3 hours ago
reply
qrios 8 hours ago
reply
_Microft 6 hours ago
It had both ended up in the second chance pool.
reply
Blackarea 7 hours ago
> It really was years of detective work

Doesn't seem that complicated from the article though. They say that they immediately knew it was clock based due to the strict interval. With REA etc. it might become easier to proof, but I guess it's a measurement problem that only appears in large networks?

Can someone with more understanding explain why this was apparently so difficult to find out?

reply
nomel 4 hours ago
There are many millions of devices connected that draw power, and increasingly so, supply power.
reply
Animats 3 hours ago
The effect is apparently small enough that they had to use Fourier analysis over many minutes to see it in the noise.
reply
iofiiiiiiiii 4 hours ago
If it were not a substantial research effort spanning years, it would not get funded. This motivates academic researchers to ensure that every topic is explored thoroughly and at great length.
reply
peesem 5 hours ago
i'm confused, why would a system simply checking its own power state be taking so much electricity as to show up on grid measurements? unless they mean that the systems are choosing to start charging the batteries, but then it's a continuous load and not a spike at the start of the minute, right?
reply
theo939eirn 4 hours ago
It can be that part of battery is disconnected, to estimate cells voltage. You can not measure voltage while another source is chsrging battery. Or capacitors are charging.
reply
deepsun 4 hours ago
I think you can. RC toys do that all the time. Maybe the measurement is less precise, but you usually don't need super precise voltage, especially if you know your capacitance and measure current.
reply
LoganDark 2 hours ago
Current doesn't tell you if the battery is leaking charge, or otherwise failing to store it though. Vastly increased losses could be a sign of failure, for example. In any case it's important to be sure.
reply
wolfi1 7 minutes ago
temperature is also a problem
reply
SV_BubbleTime 6 hours ago
>unusually regular

Oh I’m sure there is a German phrase for this.

reply
Jakob 2 hours ago
I would go with “allzuregelmäßig”.

Similar to “allzuschön um wahr zu sein”, “allzugroß” etc.

reply
donutdonot 2 hours ago
However this is not a single word, but would be split as "allzu regelmäßig" cf. https://www.korrekturen.de/wortliste/allzuoft.shtml
reply
loehnsberg 2 hours ago
Not a scholar of languages, but maybe something like "mit unheimlicher Regelmäßigkeit" (with un-home-ly regular-like-ness, read "home" like in "family" -> "familiar").
reply
quink 5 hours ago
Thinking about it tactically, I’ll go with taktisch. :) Takt-isch.
reply
wolfi1 6 minutes ago
rather tak-tisch if we are talking hyphenation
reply
speakspokespok 2 hours ago
verdächtig !
reply
moi2388 5 hours ago
Surely you mean Tick-Tacktisch?
reply
jgilias 5 hours ago
uhrwerksmäßig
reply
Someone 3 hours ago
That doesn’t capture the “unusually” in “unusually regular”
reply
aa-jv 18 minutes ago
Ungewöhnlichregelmäßig or Hyperregelmäßig works for me, but then there is Regelmäßigkeitsmonsterhaft.

Still, I think we can push the limits to Bürokratieapokalyptischhyperregelmäßigkeitsgötterungeheuerhaft and feel pretty comfortable with it.

reply
pseudohadamard 2 days ago
The water-hammer effect, or in this case electron-hammer effect, is why you don't reboot every Windows server in the data center at exactly 2am, to stagger the load shift over time. Surprised that the power guys didn't realize that switching a presumably multi-hundred-MW load in and out at the top of each minute would cause a problem.
reply
dylan604 7 hours ago
Sounds like they've been set up as cron tasks. I've always been unhappy with the 1 minute granularity of cron tasks. Only thing I could come up with was putting a sleep(random()) type of line to avoid a thundering herd type of issue.
reply
compumike 6 hours ago
Yes it’s a real effect. I’ve just hardcoded offsets on various jobs:

  * * * * * sleep 17 && …
etc.

That way I still maintain a per-job 60-second cadence consistently (which random would not), but don’t do it right on the top of the minute.

reply
dylan604 6 hours ago
That's interesting as it is also visible with a crontab -l so that new scripts can avoid using the same second. However, if you have a farm of machines with the same hardcoded value, they will all still stampede at the same time just not at the top of the minute. By allowing a random value, their start times are slightly offset with in the minute. Is the precise 60s consistent interval really that critical or just that each machine checks once per minute-ish?
reply
Magniquick 6 hours ago
Systemd timers do this natively btw, no need to hardcode And imho are also friendlier.
reply
Cyph0n 6 hours ago
But systemd bad :[
reply
falserum 2 hours ago
People slowly are getting used to it. (Less so with journalctl)
reply
stonogo 5 hours ago
BSD cron has supported jitter for decades. This is strictly a linux problem.
reply
nlehuen 5 hours ago
The Google internal equivalent to cron has a ? placeholder in the scheduling spec syntax letting the scheduler deterministically pick an arbitrary valid value within the field range. So ? 2 ... will pick any minute between 02:00 and 02:59 (and I suspect any second within that minute). The value is derived from a hash of the job definition, so overall this spreads the cron load within the hour.

Obviously cron jobs are not all equal in terms of load and duration, and hours are not all equal in terms of usage, but that still helps prevent trivial spikes similar to the one mentioned in the article (disclaimer: I'm not aware of a recent counterfactual experiment proving this, but that seems a fair assumption).

reply
sdenton4 5 hours ago
I suppose one would end up with checks happening on a random second instead of a random minute - reducing the size of the spike by a factor of 60, but still spiky.
reply
hobofan 3 hours ago
It seems more like one or multiple suppliers of battery systems not taking into account that the decentralized deployments of their system could have that effect. If it's not regulated and an open market, this was bound to happen sooner or later.
reply
0xbadcafebee 6 hours ago
In computer/systems/distributed engineering this is called request smoothing or traffic shaping, and it's implemented by adding jitter, which is a random time offset/pad added to the interval.

The funny thing is, modern electrical codes already account for this phenomenon. In order to implement Net Metering (selling your power to the grid), modern standards implement two kinds of jitter:

- Sandia Frequency Shift: a minute shift in the power frequency generated by inverters. If the grid is connected, this is effectively eliminated; if the inverter is disconnected from the grid, it detects the frequency has shifted and disconnects the inverter from the grid.

- Slip-Mode Frequency Shift: basically the same thing, but phase shift (which I don't understand).

Both of these are used for anti-islanding (don't create an island of power). When the inverter detects it's isolated and stops outputting current, it then has to check every 5 minutes, with jitter, for whether the grid is restored or not. It has to add random jitter, because otherwise all the mini battery/solar installs will come online at the same time and swamp the grid, causing another outage.

reply
metalman 2 days ago
power guys got surprised as rest of the grid load is human randomised and even huge factories will come on one chonk at a time, vs miilisecond co ordinated load switching at scale, with batteries as the load of the initial surge into even fully charged batteries can be almost infinite, and the whole calculation around grid scale turbines is that they run at very precise rpm's for stability and longevity, but worse, and a big fail, as battery storage is supposed to help with that, not be the problem. bet it gets fixed realy fast as those grid guys definitly get listened to.
reply
rswail 4 hours ago
> grid scale turbines is that they run at very precise rpm's for stability and longevity

The turbines/generators set the grid frequency itself.

Having the batteries disconnect/connect would cause the generators to slow down and then speed up (or vice versa) which makes the rest of the grid frequency fluctuate as well.

It may also trigger the FCAS part of the grid that is paid to keep the frequency within the required range which is +/- 10mHz-200mHz.

https://mainsfrequency.com/frequ_info_en.php

reply
dylan604 7 hours ago
> as the load of the initial surge into even fully charged batteries can be almost infinite

There was an post a couple of days ago about a telco debrief of an interesting outage that happened. Several things went wrong like the audible bell was manually silence from being heard as a step in routine working but was forgotten to put back into normal mode once work was complete. The actual loss in power triggered the automatic switch to the batteries, but something else seemingly benign happened at the same time so that when power was restored, the batteries had been depleted to the point the charging process could not start because of something similar to this. I wish I could remember the write up, as it was really well written about the cascades of failures that occurred.

reply
froindt 7 hours ago
I believe this is what you're referring to.

https://news.ycombinator.com/item?id=50153229&hl=en-US

reply
dylan604 6 hours ago
Yes, thanks for allowing me to offload my RAM to yours!
reply
snthpy 5 hours ago
You'd think they'd randomise offsets to avoid a thundering herd effect, like anyone scheduling multiple processes does?
reply
heisenbit 4 hours ago
To anyone herding a herd this is obvious. To people crafting animals less so.
reply
Black616Angel 4 hours ago
Apparently not everyone does ;)
reply
yummybrainz 2 days ago
Thanks for sharing, very cool!
reply
vachina 5 hours ago
> turbines slow down momentarily before accelerating back to their original rotational speed. This increases wear and tear.

Why though? Due to increased torque?

reply
lnx01 2 hours ago
Stuxnet damaged gas centrifuges by introducing a subtle change in rotational speed over time, eventually the motors failed mechanically.

https://en.wikipedia.org/wiki/Stuxnet

reply
bajard 3 hours ago
Because a variation in force is a cycle of stress, which is more destructive than constant force. It's called hysteresis, leading to material fatigue.
reply
toomuchtodo 4 hours ago
When the battery storage systems all temporarily pause providing grid inertia due to the state of charge check they’re performing, grid synchronized spinning mass has to compensate, which slows it down (transferring the kinetic energy to electrical energy), and then is sped back up as battery storage resumes inertia support.

Broadly speaking, it’s a collective momentum problem. If part of the system inertia sags, another part needs to step in to compensate for the inertia loss, otherwise you have brownouts and eventually, a blackout.

https://neutrino-energy.com/technology/grid-inertia/

reply
EdwardDiego 51 minutes ago
I wish that article wasn't written entirely in Claude speak, it has some useful information, but the obvious AI voice will repel readers.
reply