Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. This is FASCINATING.

This is FASCINATING.

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
220 Indlæg 120 Posters 0 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • mattblaze@federate.socialM mattblaze@federate.social

    @hzulla Cron, of course, dates back to a world in which:

    - computers were a significantly smaller part of the load on the power grid
    - we didn't have tightly synchronized clocks everywhere (no NTP yet)
    - we didn't have architectures in which power consumption was as tightly linked to computational load

    Software often outlives all sorts of assumptions!

    itgrrl@infosec.exchangeI This user is from outside of this forum
    itgrrl@infosec.exchangeI This user is from outside of this forum
    itgrrl@infosec.exchange
    wrote sidst redigeret af
    #154

    @mattblaze @hzulla I think we need to add "Software often outlives all sorts of assumptions" to one of the "Falsehoods programmers believe about…" awesome lists – perhaps under "Falsehoods programmers believe about time (yes, even astronomers)"… 🙃

    1 Reply Last reply
    0
    • damonhd@mastodon.socialD damonhd@mastodon.social

      @TimWardCam @hzulla Early adopters are unlikely to bring down the grid by themselves, and the big VPP players are expected to avoid herding also. This is for mainstream timed use, to smear those times.

      I haven't run HA, but inserting even a few seconds randomly before bringing on a timed big load will reduce demand slew rate, so I do it routinely, as I have for servers. Random numbers and primes are two of my favourite robustness tools.

      thomastc@mastodon.gamedev.placeT This user is from outside of this forum
      thomastc@mastodon.gamedev.placeT This user is from outside of this forum
      thomastc@mastodon.gamedev.place
      wrote sidst redigeret af
      #155

      @DamonHD @TimWardCam @hzulla My favourite solution is to forget to enable the NTP server.

      1 Reply Last reply
      0
      • 20002ist@thepit.social2 20002ist@thepit.social

        @SteveBellovin @mattblaze @hzulla brb writing a horror novel called “Children of the Cron.”

        itgrrl@infosec.exchangeI This user is from outside of this forum
        itgrrl@infosec.exchangeI This user is from outside of this forum
        itgrrl@infosec.exchange
        wrote sidst redigeret af
        #156

        @20002ist @SteveBellovin @mattblaze @hzulla

        1 Reply Last reply
        0
        • hzulla@infosec.exchangeH hzulla@infosec.exchange

          This is FASCINATING. Researchers were able to pin down the cause of measurable global 60 second power spikes to software that does regular checks on the minute mark. They found large scale battery installations as one major cause, but obviously this is true for any other computerized system that does cron jobs and has a synchronized clock. As weird as it sounds, adding random 0-59.999s delays to cron jobs in Linux distributions and other software would actually help the power grid.

          https://www.fz-juelich.de/en/news/archive/press-release/2026/mystery-of-60-second-fluctuations-in-power-grids-solved

          petros@literatur.socialP This user is from outside of this forum
          petros@literatur.socialP This user is from outside of this forum
          petros@literatur.social
          wrote sidst redigeret af
          #157

          @hzulla BTW: Under FreeBSD some crons are randomised. #BSD

          1 Reply Last reply
          0
          • hzulla@infosec.exchangeH hzulla@infosec.exchange

            This is FASCINATING. Researchers were able to pin down the cause of measurable global 60 second power spikes to software that does regular checks on the minute mark. They found large scale battery installations as one major cause, but obviously this is true for any other computerized system that does cron jobs and has a synchronized clock. As weird as it sounds, adding random 0-59.999s delays to cron jobs in Linux distributions and other software would actually help the power grid.

            https://www.fz-juelich.de/en/news/archive/press-release/2026/mystery-of-60-second-fluctuations-in-power-grids-solved

            brnrd@bsd.networkB This user is from outside of this forum
            brnrd@bsd.networkB This user is from outside of this forum
            brnrd@bsd.network
            wrote sidst redigeret af
            #158

            @hzulla
            That's what "jitter" does since forever? Or is this a BSD @mibh vixie cron thing?

            -j jitter
            Enable time jitter. Prior to executing commands, cron will sleep a
            random number of seconds in the range from 0 to jitter. This will

            mibh@fosstodon.orgM 1 Reply Last reply
            0
            • drwho@masto.hackers.townD drwho@masto.hackers.town

              @czauner @hzulla Several crond implementations support -J and -J, but they're off by default.

              czauner@social.vivaldi.netC This user is from outside of this forum
              czauner@social.vivaldi.netC This user is from outside of this forum
              czauner@social.vivaldi.net
              wrote sidst redigeret af
              #159

              @drwho Well, then just turn it on. No need to sleep in cron-jobs.

              1 Reply Last reply
              0
              • damonhd@mastodon.socialD damonhd@mastodon.social

                @shaknais Even if it were available, it seems to randomise by whole minutes, so not potentially easing the problem in this article.

                "The RANDOM_DELAY variable allows delaying job startups by random amount of minutes with upper limit specified by the variable."

                My current server cron is Vixie, which does not support this feature.

                shaknais@mastodon.socialS This user is from outside of this forum
                shaknais@mastodon.socialS This user is from outside of this forum
                shaknais@mastodon.social
                wrote sidst redigeret af
                #160

                @DamonHD

                Not following. If it randomises by minutes, that flattens the curve, over minutes, and avoids the thundering herd problem.

                How would it not?

                damonhd@mastodon.socialD 1 Reply Last reply
                0
                • shaknais@mastodon.socialS shaknais@mastodon.social

                  @DamonHD

                  Not following. If it randomises by minutes, that flattens the curve, over minutes, and avoids the thundering herd problem.

                  How would it not?

                  damonhd@mastodon.socialD This user is from outside of this forum
                  damonhd@mastodon.socialD This user is from outside of this forum
                  damonhd@mastodon.social
                  wrote sidst redigeret af
                  #161

                  @shaknais This article refers to things happening (such as CPU use) at the start of each minute. Merely picking a random minute does not make that particular problem go away. Picking a random second within each minute would. (Better still to pick a random very-fine-grained sub-mains-cycle time to avoid creating a new start-of-second surge problem.)

                  shaknais@mastodon.socialS 1 Reply Last reply
                  0
                  • damonhd@mastodon.socialD damonhd@mastodon.social

                    @shaknais This article refers to things happening (such as CPU use) at the start of each minute. Merely picking a random minute does not make that particular problem go away. Picking a random second within each minute would. (Better still to pick a random very-fine-grained sub-mains-cycle time to avoid creating a new start-of-second surge problem.)

                    shaknais@mastodon.socialS This user is from outside of this forum
                    shaknais@mastodon.socialS This user is from outside of this forum
                    shaknais@mastodon.social
                    wrote sidst redigeret af
                    #162

                    @DamonHD Unless everyone picked the same minute, by not seeding their random, you'd be correct.

                    But, everyone has a different minute. And each task has a different minute.

                    damonhd@mastodon.socialD 1 Reply Last reply
                    0
                    • shaknais@mastodon.socialS shaknais@mastodon.social

                      @DamonHD Unless everyone picked the same minute, by not seeding their random, you'd be correct.

                      But, everyone has a different minute. And each task has a different minute.

                      damonhd@mastodon.socialD This user is from outside of this forum
                      damonhd@mastodon.socialD This user is from outside of this forum
                      damonhd@mastodon.social
                      wrote sidst redigeret af
                      #163

                      @shaknais The problem is that the first few seconds of an average minute have a higher load (see the charts in the Nature paper). Spreading across random minutes helps at other levels, but does not eliminate this feature. When looking at the 1/60Hz spectrum, and eg worrying about mechanical wear on physical turbines, it does not matter much in *which* minutes those early-second surges happen, just that they do happen.

                      shaknais@mastodon.socialS 1 Reply Last reply
                      0
                      • damonhd@mastodon.socialD damonhd@mastodon.social

                        @shaknais The problem is that the first few seconds of an average minute have a higher load (see the charts in the Nature paper). Spreading across random minutes helps at other levels, but does not eliminate this feature. When looking at the 1/60Hz spectrum, and eg worrying about mechanical wear on physical turbines, it does not matter much in *which* minutes those early-second surges happen, just that they do happen.

                        shaknais@mastodon.socialS This user is from outside of this forum
                        shaknais@mastodon.socialS This user is from outside of this forum
                        shaknais@mastodon.social
                        wrote sidst redigeret af
                        #164

                        @DamonHD Okay... It doesn't matter which minute, so long as that minute is commonly chosen by _everyone_.

                        Otherwise you could say it spreading across hours wouldn't flatten the curve - a logical fallacy.

                        Because of jitter, not everyone is choosing the same moment. Which means there is a lesser load, and a more distributed load, that gracefully increases, and decreases.

                        If you spread across the 5m interval, it would disappear into the graphs noise.

                        damonhd@mastodon.socialD 1 Reply Last reply
                        0
                        • casandro@f-ckendehoelle.deC casandro@f-ckendehoelle.de

                          @mattblaze @hzulla Which Cron? I mean there are, for good reasons, many different versions of Cron out there. There are Crons that target specific use cases the original writers didn't consider (like having computers that are turned off or in standby from time to time).

                          That's the wonderful thing about Free Software. It's not a "product" but instead a chorus of competing ideas and forks which explore new things.

                          mattblaze@federate.socialM This user is from outside of this forum
                          mattblaze@federate.socialM This user is from outside of this forum
                          mattblaze@federate.social
                          wrote sidst redigeret af
                          #165

                          @casandro @hzulla Um, if open source or free software or whatever buzzword the kids are calling it these days solves this problem, why wasn’t it solved already? As you pointed out, cron’s code has been re-implemented many times over the years.

                          Open source is nice and all, but it didn’t anticipate or solve this.

                          synx508@bsd.networkS 1 Reply Last reply
                          0
                          • shaknais@mastodon.socialS shaknais@mastodon.social

                            @DamonHD Okay... It doesn't matter which minute, so long as that minute is commonly chosen by _everyone_.

                            Otherwise you could say it spreading across hours wouldn't flatten the curve - a logical fallacy.

                            Because of jitter, not everyone is choosing the same moment. Which means there is a lesser load, and a more distributed load, that gracefully increases, and decreases.

                            If you spread across the 5m interval, it would disappear into the graphs noise.

                            damonhd@mastodon.socialD This user is from outside of this forum
                            damonhd@mastodon.socialD This user is from outside of this forum
                            damonhd@mastodon.social
                            wrote sidst redigeret af
                            #166

                            @shaknais Synchronised extra work in the start of ANY minute, as fired off by EVERY cron on the planet, will add to *this* problem. Cron (as I have ever used) does not add jitter to its wakeup on the minute, whichever minute that is. (Picking random minutes does reduce *other* problems.)

                            To be clear: 1/60Hz spikes are independent of 1/3600Hz spikes etc: they should both be dealt with, but have to dealt with separately.

                            shaknais@mastodon.socialS 1 Reply Last reply
                            0
                            • hzulla@infosec.exchangeH hzulla@infosec.exchange

                              It is such an obvious cause once you think about it, and yet before you hear about this, no software developer or maintainer ever considers the possible effects of e.g. a default Debian cron job setting on the global electricity grid.

                              david_chisnall@infosec.exchangeD This user is from outside of this forum
                              david_chisnall@infosec.exchangeD This user is from outside of this forum
                              david_chisnall@infosec.exchange
                              wrote sidst redigeret af
                              #167

                              @hzulla

                              I learned about cron jobs about 25 years ago. I was told then that it’s good to add a random number of minutes to nightly cron jobs to avoid thundering herds problems. Some tools have this built in: freebsd-update cron, for example, sleeps a random number of seconds up to an hour to avoid every machine that uses it hammering the server at the same time.

                              I’m not sure when this stopped being taught.

                              The impact on the electricity grid is a specific case of the same general problem.

                              The thing that surprises me is that @daily is specified to run at an exact time. I had assumed it introduced some jitter to avoid these problems.

                              EDIT: I misremembered the layer of the system responsible for this. On FreeBSD, the main use of @daily is to run periodic daily. This then schedules the periodic tasks, in dependency order. This has a anticongestion_sleeptime setting and will sleep a random amount up to that amount. The default is 3600, so the daily tasks will start at a random time between midnight and 1am.

                              mtconleyuk@mastodonapp.ukM annanannanse@mastodon.socialA 2 Replies Last reply
                              0
                              • damonhd@mastodon.socialD damonhd@mastodon.social

                                @shaknais Synchronised extra work in the start of ANY minute, as fired off by EVERY cron on the planet, will add to *this* problem. Cron (as I have ever used) does not add jitter to its wakeup on the minute, whichever minute that is. (Picking random minutes does reduce *other* problems.)

                                To be clear: 1/60Hz spikes are independent of 1/3600Hz spikes etc: they should both be dealt with, but have to dealt with separately.

                                shaknais@mastodon.socialS This user is from outside of this forum
                                shaknais@mastodon.socialS This user is from outside of this forum
                                shaknais@mastodon.social
                                wrote sidst redigeret af
                                #168

                                @DamonHD How would spreading the start time of processes, across 60 new units, instead of 1, suddenly increase load?

                                How do you get _more_ from _less_? You're distributing.

                                If what you're saying is true, then PFR wouldn't be working in Australia, because that only spreads across 4-seconds for the 1/50Hz. But it is working.

                                damonhd@mastodon.socialD 1 Reply Last reply
                                0
                                • shaknais@mastodon.socialS shaknais@mastodon.social

                                  @DamonHD How would spreading the start time of processes, across 60 new units, instead of 1, suddenly increase load?

                                  How do you get _more_ from _less_? You're distributing.

                                  If what you're saying is true, then PFR wouldn't be working in Australia, because that only spreads across 4-seconds for the 1/50Hz. But it is working.

                                  damonhd@mastodon.socialD This user is from outside of this forum
                                  damonhd@mastodon.socialD This user is from outside of this forum
                                  damonhd@mastodon.social
                                  wrote sidst redigeret af
                                  #169

                                  @shaknais Independent frequency components are independent. I don't know how to say this in other ways.

                                  Spreading the start time from the start of minute 0 to the start of minute X where X is randomly 0, 1, 2, ... 59 (in each case a whole number) still results in average extra load across the hour of the same amount in the start of an average minute.

                                  shaknais@mastodon.socialS 1 Reply Last reply
                                  0
                                  • damonhd@mastodon.socialD damonhd@mastodon.social

                                    @shaknais Independent frequency components are independent. I don't know how to say this in other ways.

                                    Spreading the start time from the start of minute 0 to the start of minute X where X is randomly 0, 1, 2, ... 59 (in each case a whole number) still results in average extra load across the hour of the same amount in the start of an average minute.

                                    shaknais@mastodon.socialS This user is from outside of this forum
                                    shaknais@mastodon.socialS This user is from outside of this forum
                                    shaknais@mastodon.social
                                    wrote sidst redigeret af
                                    #170

                                    @DamonHD Okay... So what the article says Australia is doing and working for dealing with the problem, isn't dealing with the problem. Got it.

                                    damonhd@mastodon.socialD 1 Reply Last reply
                                    0
                                    • shaknais@mastodon.socialS shaknais@mastodon.social

                                      @DamonHD Okay... So what the article says Australia is doing and working for dealing with the problem, isn't dealing with the problem. Got it.

                                      damonhd@mastodon.socialD This user is from outside of this forum
                                      damonhd@mastodon.socialD This user is from outside of this forum
                                      damonhd@mastodon.social
                                      wrote sidst redigeret af
                                      #171

                                      @shaknais They are containing the problem by making the rest of the system work harder to suppress it, but not removing it at source.

                                      Did you look at the linked to Nature paper? It's moderately readable, and explains this better than I am.

                                      "These developments demonstrate that the recurrent 1-min oscillation already has operational relevance, even though current mitigation strategies primarily address amplification rather than the underlying source."

                                      1 Reply Last reply
                                      0
                                      • hzulla@infosec.exchangeH hzulla@infosec.exchange

                                        It is such an obvious cause once you think about it, and yet before you hear about this, no software developer or maintainer ever considers the possible effects of e.g. a default Debian cron job setting on the global electricity grid.

                                        hzulla@infosec.exchangeH This user is from outside of this forum
                                        hzulla@infosec.exchangeH This user is from outside of this forum
                                        hzulla@infosec.exchange
                                        wrote sidst redigeret af
                                        #172

                                        Ok, so this went surprisingly viral. What I learned from the responses so far:

                                        The main "problem" is the synchronised clock and too many developers using the minute mark for task scheduling default settings.

                                        Having mass-deployed systems doing a thing at the exact same time causing trouble has been known to sysadmins for decades. Solutions readily exist for various task schedulers. However, inexperienced developers and maintainers still default to using the minute mark.

                                        Our industry learns and unlearns this phenomenon again and again.

                                        (I personally certainly have experienced this in my line of work, too, but...)

                                        People may be aware of the problem of synchronised tasks on mass-deployed software for their own distributed system, but I'm mostly surprised that the effect is even visible within the global electricity grid.

                                        So while simple solutions exist since forever, it's unclear how our industry can keep this knowledge alive to avoid future generations doing this little mistake all over again and again.

                                        bob_zim@infosec.exchangeB alan@zeroes.caA sehe@fosstodon.orgS 3 Replies Last reply
                                        0
                                        • maya_b@hachyderm.ioM maya_b@hachyderm.io

                                          @hzulla

                                          UK tv broadcasters had to deliberately stagger their commercial breaks as everyone put the kettle on to make tea during the commercials. And none of that non-British 1kW kettle nonsense, proper British kettles are 3kW!

                                          darkling@mstdn.socialD This user is from outside of this forum
                                          darkling@mstdn.socialD This user is from outside of this forum
                                          darkling@mstdn.social
                                          wrote sidst redigeret af
                                          #173

                                          @maya_b @hzulla We have actual *infrastructure* for dealing with making tea. (Dinorwig)

                                          1 Reply Last reply
                                          0
                                          Svar
                                          • Svar som emne
                                          Login for at svare
                                          • Ældste til nyeste
                                          • Nyeste til ældste
                                          • Most Votes


                                          • Log ind

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          Graciously hosted by data.coop
                                          • First post
                                            Last post
                                          0
                                          • Hjem
                                          • Seneste
                                          • Etiketter
                                          • Populære
                                          • Verden
                                          • Bruger
                                          • Grupper