Mystery of 60-Second Fluctuations in Power Grids Solved

(fz-juelich.de)

67 points | by _Microft 1 day ago

5 comments

  • Blackarea 1 hour 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?

  • qrios 3 hours ago
    • _Microft 1 hour ago
      It had both ended up in the second chance pool.
  • SV_BubbleTime 54 minutes ago
    >unusually regular

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

    • quink 2 minutes ago
      Thinking about it tactically, I’ll go with taktisch. :) Takt-isch.
    • jgilias 3 minutes ago
      uhrwerksmäßig
  • pseudohadamard 1 day 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.
    • dylan604 1 hour 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.
      • nlehuen 17 minutes 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).

      • compumike 1 hour 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.

        • dylan604 1 hour 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?
        • Magniquick 1 hour ago
          Systemd timers do this natively btw, no need to hardcode And imho are also friendlier.
          • stonogo 31 minutes ago
            BSD cron has supported jitter for decades. This is strictly a linux problem.
          • Cyph0n 58 minutes ago
            But systemd bad :[
    • 0xbadcafebee 49 minutes 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.

    • metalman 20 hours 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.
      • dylan604 1 hour 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.

  • yummybrainz 1 day ago
    Thanks for sharing, very cool!