On June 30th at precisely 23:59:59, the world’s atomic clocks will pause for a single second. Or, to be more precise, they’ll change to the uncharted time of 23:59:60 — before ticking over to the more worldly hour of 00:00:00 on the morning of July 1st, 2015. This addition of a leap second, announced by the Paris Observatory this week, is being added to keep terrestrial clocks in step with the vagaries of astronomical time — in this case, the slowing of the Earth’s rotation. And it's a bit of a headache for computer engineers.
What causes leap seconds? Earthquakes, tidal drag, the weather
Leap seconds are like the Y2K bug in that they threaten to throw out of sync time as measured by computers and time as measured by atomic clocks. But while Y2K was a single instance (computer systems that were used to abbreviating the year to two digits were confused by "2000" and "1900"), the addition of leap seconds are a regular problem. The first was added back in 1972; this year’s will be the 26th, and they're not likely to stop coming. They're also broadly unpredictable: earthquakes, tidal drag, and the weather all affect the rotation of the Earth, and it’s up to the scientists at the International Earth Rotation Service to keep an eye on things and call the changes as they come.
Unfortunately, when the last leap second was added back in 2012, more than a few sites had trouble keeping pace. As reported by Phys.org, Foursquare, Reddit, LinkedIn, and StumbledUpon all crashed when the leap second ticked unexpectedly into place. In the case of Reddit, the problem was eventually traced back to a Linux subsystem that got confused when it checked the Network Time Protocol only to find an extra second. Speaking to Wired about the problem back in 2012, Linux creator Linus Torvalds commented: "Almost every time we have a leap second, we find something. It’s really annoying, because it’s a classic case of code that is basically never run, and thus not tested by users under their normal conditions."
Google solves the problem of the extra second by cutting it into milliseconds
Instead, companies have been forced to create their own workaround, with Google’s "leap smear" perhaps the best-known example. As the company’s site reliability engineer Christopher Pascoe explained in a blog post, the usual fix is to turn back the clocks by one second at the end of the day, essentially playing that second again. However, says Pascoe, this creates problems: "What happens to write operations that happen during that second? Does email that comes in during that second get stored correctly?" Google’s solution is to cut the extra second into milliseconds and then sprinkle these tiny portions of time into the system imperceptibly throughout the day. "This [means] that when it became time to add an extra second at midnight," says Pascoe, "our clocks [have] already taken this into account, by skewing the time over the course of the day."
Could we detach our concept of time from the solar day?
Of course, not every website or company has the sort of engineering resources needed to implement something like a "leap smear," and when June 30th rolls around in the summer, you can expect to see the odd outage or two. Beyond clever engineering though, there's not much to be done. As The Telegraph reports, there are some factions in the US that would like to drop the leap second altogether, but doing so would mean unmooring our concept of time from one of the most fundamental timescales, the solar day, and setting civil time on a path forever diverging from time as measured by our planet. Would it be worth the trouble? We'll get another chance to find out on June 30th.