In her hit song, Cher sang: “If I could turn back time.” To her, that would be a good thing. But in the computing world, Meta, formerly Facebook, thinks that would be a very bad thing. In fact, Meta wants to get rid of leap secondsthat keep the calculation time synchronized with the rotation time of the Earth.
Meta is not the only one who feels this way. The US National Institute of Standards and Technology (NIST), its French equivalent (the Bureau International de Poids et Mesures or BIPM), Amazon, Google and Microsoft want to put an end to leap seconds.
Why? As Meta explained in a blog post“We run into problems every time a leap second is introduced. And because it’s such a rare event, it devastates the community every time it happens. With increasing demand for clock precision across industries, leap second is now is causing more harm than good, resulting in riots and blackouts.”
Therefore, Meta concludes, we should simply “stop the future introduction of leap seconds.”
Computers require precise timekeeping for almost everything they do: security, identification, networking, and more. Some systems are based on global positioning system (GPS) devices and the GPSD daemon to tell the exact time.
The problem is that the rotation time of the Earth is not absolute; The rate of spin of the Earth varies in response to geological events. For example, Earth’s polar ice caps and ice-covered mountains are constantly melting and freezing, which affects Earth’s angular speed of rotation. This, in turn, slows down and speeds up our days.
the International Earth Rotation and Reference Systems Service (IERS) track this, and every few years, add a leap second a year this is done for Coordinated Universal Time (UTC)which is the standard universal time system.
Why do we have leap seconds?
In 1972, the IERS introduced the idea of ββleap seconds. This periodic UTC update kept the computer time in sync with observed solar time (UT1) and the long term slowdown in earth’s rotation. That made astronomers and navigators happy, programmers and IT administrators, not so much.
UTC is used by the Internet Network Time Protocol (NTP) to set the time. For its part, NTP keeps all our Internet-connected devices in sync with each other.
How does NTP know what time it is? Synchronizing NTP servers with atomic clocks. NTP is based on a hierarchy of levels, where each level is assigned a number called a stratum. Stratum 1 (primary) servers at the lowest level are directly synchronized with national time services via satellite, radio, or modem. Stratum 2 (secondary) servers are synchronized with stratum 1 servers, and so on. Typically, NTP clients and servers connect to Stratum 2 servers.
So far so good, but how do the stratum 1 servers sync with the clocks? Many of them use GPSD. This service daemon monitors one or more GPS for location, heading, speed and, for our purposes, time.
The problem is that this system is complicated and prone to failure. If you are a system or network administrator, you already know this. Meta researchers insist that “introducing new leap seconds is a risky practice that does more harm than good, and we believe it is time to introduce new technologies to replace it.”
In the past, leap seconds caused programs to crash or even data corruption, due to strange data storage timestamps. For example, both Reddit Y cloud flare have had nasty blackouts due to leap seconds.
As Linux founder Linus Torvalds said in response to the issue that tripped Reddit: “Almost every time we have a leap second, we found something. It’s really annoying, because it’s a classic case of code basically never running and therefore not being tested by users in their normal conditions.”
Worse yet, Meta notes that “with the Earth’s rotation pattern changing, it’s very likely that we will have a negative leap second at some point in the future. The timestamp will look like this: 23:59:58 -> 00 : 00:00”.
What happens then? we don’t know “The impact of a negative leap second has never been tested on a large scale; it could have a devastating effect on software that relies on timers or schedulers.”
Meta explains: βWith increasing demand for clock precision across industries, the leap second is now doing more harm than good, leading to outages and outages.β Therefore, we should simply “stop further introduction of leap seconds”.
Period. End of the statement. What if our computer clocks don’t agree with the stars above us? That’s a problem for astronomy app developers, not the rest of us.
Eventually, we will have to change the clocks again. After all, the lack of leap days eventually led to us losing 10 days when we switched From the Julian to the Gregorian calendar in 1752. But Meta thinks we’ll be fine for the next thousand years with no more leap seconds.