Google is making its Network Time Protocol (NTP) servers publicly available to organizations that need help keeping their systems running smoothly through a one second addition to clocks the last day of December this year.
Organizations can use Google’s Public NTP service to keep their local system clocks synchronized with the time on virtual machine instances running on the company’s Compute Engine cloud platform or more generally to handle the leap second on Dec. 31.
The International Earth Rotation and Reference Systems Service (IERS), which provides standards and data pertaining to the Earth’s rotation, periodically adds a so-called “leap second” to the Coordinated Universal Time (UTC) standard used around the world in order to account for small changes in the earth’s rotation.
The first leap second was added in 1972. Since then IERS has adjusted UTC a total of 26 times. The last time a leap second was added to the clock was on June 30, 2015, according to data from the U.S. Naval Observatory’s Time Service Dept. Because the leap seconds are added on a very irregular basis, the IERS typically provides a six-month notice of planned additions.
Even so, the additional second can throw off the internal clocks in computer systems causing all kinds of problems. In 2012 for instance, Australia’s Qantas Airlines suffered a two-hour disruption of its airline reservation system as the result of a leap second while several companies using Amazon’s cloud hosting service was knocked offline for the same reason.
"No commonly used operating system is able to handle a minute with 61 seconds,” said Michael Shields, technical lead of Google's Time Team writing in the company's Cloud Platform Blog. "Trying to special-case the leap second has caused many problems in the past."
Google's approach to accommodate the extra second is to run all its internal server clocks infinitesimally slower over a 20-hour window. Instead of bolting on an extra second to clocks at the end of the day, Google's tactic has been to "smear" away the extra second by slowing down system clocks by 0.0014 percent or 14 parts per million, Shields said.
The method that Google currently uses to handle leap seconds is slightly different from the one it adopted in 2011. Back then instead of slowing down the clocks on its NTP servers, the company added the extra second in over a 20-hour window a couple of milliseconds each time.
Both approaches are designed to ensure that the leap second remains invisible to applications and systems that are dependent on careful time sequencing—like events going into a database, Google had noted last year when accommodating the June 2015 leap second.
"All Google services, including all APIs, will be synchronized on smeared time," to accommodate the upcoming leap second, Shields said.
Google cloud customers can configure their Compute Engine virtual machines to use Google's NTP server if they choose to or use external NTP servers. In either case, the safest approach is to avoid relying on a mix of Google's NTP servers and external servers because that could trigger unexpected behavior, Shields warned.
Those who want to synchronize their system clocks with Google's atomic clocks can also use Google's Public NTP service by configuring their network settings to use time.google.com as their NTP server, the company said.