Meta wants to get rid of leap seconds, which sync computer time with Earth’s rotation.
And Meta isn’t the only one who thinks so. The US National Institute of Standards and Technology (NIST), its French counterpart, the Bureau International des Poids et Mesures (or BIPM), Amazon, Google and Microsoft want to end leap seconds.
Accurate to the second
Why ? As Meta explains on her blog: “We run into problems every time a leap second is introduced. And because it’s a rare event, it devastates the community every time it happens.”
Therefore, Meta concludes, we should simply “stop leap seconds in the future.”
Computers need accurate time for just about everything they do—security, identification, networks, and so on. Some systems rely on Global Positioning System (GPS) devices and the GPSD daemon to get accurate time.
The problem is that the Earth’s rotation time is not absolute; The speed of the Earth’s rotation varies with geological events. For example, ice caps and ice-topped mountains are constantly melting and freezing, which affects the angular velocity of the Earth’s rotation. This causes our days to slow down or speed up.
The International Earth Rotation and Reference Systems Service (IERS) tracks this phenomenon and sometimes adds a leap second to the year. This is done in Coordinated Universal Time (UTC), which is the standard universal time system.
Why do we have leap seconds?
In 1972, IERS introduced the idea of leap seconds. This periodic update of UTC allowed computers to synchronize with observable solar time (UT1) and take into account the slowing of the Earth’s rotation in the long term. Astronomers and navigators were happy, but programmers and IT administrators were not.
UTC is used by the Internet Network Time Protocol (NTP) to set the time. For its part, NTP allows all our devices connected to the Internet to synchronize with each other.
How does NTP know what time it is? By synchronizing NTP servers with atomic clocks. NTP is based on a hierarchy of levels, where each level is assigned a number called a stratum. Tier 1 (primary) servers at the lowest level are directly synchronized with national time services via satellite, radio or modem. Tier 2 (secondary) servers are synchronized with Tier 1 servers, and so on. Typically, NTP clients and servers connect to Layer 2 servers.
So far so good, but how do the stratum 1 servers keep in sync with the clock? Many of them use GPSD. This service tracks one or more GPS to determine location, track, speed, and to the best of our knowledge, time.
The problem is that this system is complex and prone to failure. If you are a system or network administrator, you already know this. The meta-researchers insist that “introducing new leap seconds is a risky practice that does more harm than good, and we believe it’s time to introduce new technologies to replace it.”
In the past, leap seconds have caused programs to crash or even data to be corrupted due to abnormal data storage timestamps. For example, Reddit and CloudFlare have experienced major crashes due to extra seconds.
As Linux founder Linus Torvalds said in response to an issue that plagued Reddit, “Almost every time we have a leap second, we find something. This is really annoying because it’s a classic case of code that is almost never executed and therefore not tested by users in their normal environment. »
Worse yet, the Meta notes that “with the changing pattern of the Earth’s rotation, it is very likely that at some point in the future we will have a negative leap second. The timestamp will look like this: 23:59:58 -> 00:00:00. »
What will happen then? We don’t know. “The impact of a negative leap second has never been tested on a large scale; this can be devastating for software that uses timers or schedulers. »
Meta explains: “With increasing demand for watch accuracy across all industries, the leap second is now doing more harm than good, resulting in crashes and downtime. So we should just “stop future leap seconds”.
What if our computer clock doesn’t align with the stars above us? For the Meta, this is a problem for developers of astronomical applications, not mere mortals.