The gloves of technology want to ban the leap second to avoid Internet blackouts, France and the United States give the green light


While the leap second that synchronizes clocks with the rotation of the Earth might have been an acceptable solution in 1972, when it was the delight of the scientific community and the telecommunications industry, today UTC would be as bad for numerical applications as it is for scientists. believe the decision of technology gloves. Meta, Microsoft, Google, Amazon and two government agencies, the US National Institute of Standards and Technology (NIST) and its French equivalent, the Bureau international de Poids et Mesures (BIPM) agree that it is time to drop the leap second. For the latter, leap seconds cause more trouble than they’re worth.

Google, Microsoft, Meta and Amazon on Monday launched a public initiative to do away with the leap second, an occasional extra tick that helps synchronize clocks with the Earth’s actual rotation. The American and French authorities in charge of timing are in agreement.

Introduced in 1972, a leap second is a one-second adjustment that is occasionally applied to Universal Time (UTC), to account for the difference between the precise time (International Atomic Time (TAI), measured by atomic clocks ) and the imprecision of the observed solar time (UT1), which varies due to irregularities and the long-term slowing of the Earth’s rotation.

Many computers, including some desktops and laptops, use call service. Network Time Protocol (NTP), which does something very similar to this system: it periodically checks the computer’s time against a more accurate server, which may be connected to an external time source, such as an atomic clock. The NTP protocol also takes into account variable factors, such as the response time of the NTP server or the speed of the network between you and the server, to adjust the time to the nearest second or better on the computer you are using.

Soon after the advent of tick-tock clocks, scientists observed that the time indicated by these (and now by much more accurate clocks) and the time indicated by the position of the Earth were seldom exactly the same. . It turns out that being on an imperfect rotating sphere floating in space, reshaped by earthquakes and volcanic eruptions, and driven by gravitational forces, makes your rotation somewhat irregular.

One of the many contributing factors to irregularities in the Earth’s rotation is the constant melting and refreezing of ice caps on the world’s tallest mountains. This phenomenon can be visualized simply by thinking of a spinning figure skater, who manages his angular velocity by controlling his arms and hands. As he spreads his arms, the angular velocity decreases, which preserves the skater’s momentum. As the skater folds their arms, the angular velocity increases.

These fluctuations in the Earth’s rotational speed mean that even very accurate clocks, such as the atomic clocks used by global timekeeping services, must sometimes be adjusted slightly to align with solar time. There have been 24 such adjustments, called leap seconds, since their introduction in 1972. Their effect on technology has become ever more profound as people have come to rely on fast, accurate and reliable technology.

The UTC time standard, widely used for international timekeeping and as a reference for civil time in most countries, uses TAI and therefore would advance observed solar time unless reduced to UT1 according to the needs. The leap second function exists to provide this adjustment.

Since its introduction, world timekeeping authorities have added a leap second to the world clock (TAI) 27 times. Instead of 23:59:59 becoming 0:0:0 midnight, an additional 23:59:60 is inserted. This causes great annoyance for computers that depend on a network of precise timing servers to schedule events and record the exact sequence of activities such as adding data to a database.

According to them, this time lag causes more problems, such as Internet outages, than benefits. Furthermore, the group believes that it is pointless to worry about leap seconds, since the speed of rotation of the Earth has not changed much throughout history. “We predict that if we stick to TAI without observing leap seconds, we should be fine for at least 2,000 years,” researcher Ahmad Byagowi of Meta, Facebook’s parent company, said in an email. Maybe at that point we should consider a correction.

As the speed of rotation of the Earth varies according to climatic and geological events, UTC leap seconds are irregularly spaced and unpredictable. The insertion of each UTC leap second is usually decided about six months in advance by the International Earth Rotation and Reference Systems Service (IERS), to ensure that the difference between UTC and UT1 readings will never exceed 0. .9 seconds.

The negative impact of leap seconds

The leap second and the time lag it creates are causing problems throughout the industry. One of the easiest ways to cause a breakdown is to incorporate the assumption that time is always moving forward.

1
2
3

start := time.Now()
// faire quelque chose
spent := time.Now().Sub(start)

According to the way spent is used, we may find ourselves in a situation relying on a negative value at a leap second event. Such assumptions have caused many breakdowns.

In 2012, Reddit suffered a massive outage due to a leap second; the site was inaccessible for 30 to 40 minutes. The site remained inaccessible for 30 to 40 minutes. The time change caused a confusion in the high-resolution timer (hrtimer), which caused hyperactivity on the servers and blocked the processors of the machines.

In 2017, Cloudflare published a very detailed article on the impact of a leap second on the company's public DNS. The root cause of the bug that affected their DNS service was the belief that time cannot be turned back. The code took the upstream time values ​​and passed them to Go's rand.Int63n() function. The rand.Int63n() function quickly panicked because the argument was negative, causing the DNS server to fail .

Computers are great at counting. But humans introduce irregularities, like leap seconds, that can get in their way. One of the most famous is the Year 2000 bug, when man-made databases only recorded the last two digits of the year and skewed the calculations when 1999 became 2000. A similar problem will arise in 2038, when a 32-bit number that some computers use to count seconds from January 1, 1970 will no longer be large enough.

Earlier this year, some websites crashed when web browsers hit version 100 because they were programmed to only handle double-digit version numbers. Google has a reliability team for its sites. It is responsible for keeping Google's services and data centers running 24 hours a day, 7 days a week. launched the idea of ​​the leap smear, which consists of modifying the leap second in several small steps over the course of a day.

In general, when a leap second is about to arrive, the NTP protocol stipulates that a server must indicate this to its clients by setting the "Leap Indicator" (LI) field in its response. This indicates that the last minute of this day will count 61 seconds, or 59 seconds. (Leap seconds can, in theory, be used to shorten a day as well, although this has not happened so far). Rather than doing this, Google for example patched the NTP server software on its internal Stratum 2 NTP servers to not set LI, and indicated a small lie on the time, modulating this lie on a window of time w before midnight:

lying(you) = (1.0 -cos(ft*t/w)) / 2.0

This ensured that telling its servers a lie about the time would not trigger unwanted behavior in NTP clients, such as causing them to suspect the time servers to be fake and apply local corrections themselves. . It was also to ensure that the updates were small enough that software running on the servers and performing sync actions or having locks would not lose those locks or abort any operations. This also meant that these software programs did not have to be aware of or resist the leap second.

Adding a leap second causes problems for computers. And at some point you would have to subtract one too - which never happened - and that would probably reveal new problems. This could have a devastating effect on software that relies on timers or schedulers, Byagowi and Oleg Obleukhov, an engineer at Meta, said in a blog post.

At Meta, we support the industry effort to stop introducing new leap seconds and stay at the current level of 27. 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. More recently, it has become common to jam a leap second by simply slowing down or speeding up the clock. There is no universal way to do this, Meta chooses to spread the leap second over 17 hours, starting at 00:00:00 UTC, depending on the content of the time zone data packet.

Meta chose a duration of 17 hours primarily because the scrubbing occurs on layer 2, where hundreds of NTP servers are scrubbing at the same time.

In order for the difference between them to be tolerable, the steps should be minimal. If the steps are too large, NTP clients may consider certain devices to be faulty and exclude them from quorum, which may result in a failure. The 00:00:00 UTC starting point is also not standardized, and there are many possible options. For example, some companies start the day before 00:00:00 UTC for 24 hours; others do it two hours before the event, and still others just on the edge.

Sources: Meta, BIPM

And you?

What is your opinion on the subject?

See as well :

Version 100 of Chrome, Edge and Firefox could break many websites, Microsoft's plan is to send a three-digit version number in the User-Agent header

After the transition to New Year, several companies are experiencing the bug of the year 2020 named Y2K20, because of a lazy solution used to fix the millennium bug

Leave a Comment