Google reveals 'leap smear' NTP technique
Copes with problems of living on spinning space boulder
Google has to lie to computers in order not to upset them with the vagaries of earthly time.
The text-ads colossus has just written a blog post on how it adjusts its computer systems to deal with leap seconds – by lying to them a bit with a technique it calls "leap smear", where the search giant adds a few milliseconds bit by bit in the time period up to the leap second. It involves blurring time a bit – in a way that computers can deal with. Smart eh?
The Chocolate Factory talks us through the tech in a post on The Google Blog:
The solution we came up with came to be known as the 'leap smear'. We modified our internal Network Time Protocol [NTP] servers to gradually add a couple of milliseconds to every update, varying over a time window before the moment when the leap second actually happens. This meant that when it became time to add an extra second at midnight, our clocks had already taken this into account, by skewing the time over the course of the day. All of our servers were then able to continue as normal with the new year, blissfully unaware that a leap second had just occurred.
Leap days come once every four years, but leap seconds get added on as and when we need them – there have been 24 since 1972 – and make up for the inconsistencies in the length of the earthly year. Inconsistencies that come from being an earthquake-troubled irregularly-shaped spinning piece of rock orbiting its star 150 million kilometers (93 million miles) away.
Since 1972, timekeepers have added (or subtracted) an extra second at the end of a particular day once every few years, but as computer systems have become more complex, having a rogue extra second can cause a lot of trouble.
We can lie to the computer clock, but we can't lie to ourselves forever though. We're still little collections of carbon molecules spinning around on some rock in the abyss. What can we do about that, Google? Eh? Thought so. ®
Sponsored: Optimizing the hybrid cloud