Leap Smear

Since 2008, instead of applying leap seconds to our servers using clock steps, we have "smeared" the extra second across the hours before and after each leap. The leap smear applies to all Google services, including all our APIs.

Our proposed standard smear

Many organizations use smeared clocks, and it would be helpful if the smears were the same. After all, the purpose of clocks is to read the same time in different places.

We would like to propose to the community, as the best practice for leap seconds in the future, a 24-hour linear smear from noon to noon UTC. We plan to use this smear starting from the next leap second, which is likely to be in 2018 or 2019.

This smear combines the features that experience has shown to work well for many distributed computing applications:

  • The long duration keeps the frequency change small. The change for the smear is about 11.6 ppm. This is within the manufacturing and thermal errors of most machines' quartz oscillators, and well under NTP's 500 ppm maximum slew rate.
  • Centering the smear on the leap second, instead of having it begin or end at the leap second, minimizes the maximum offset.
  • Compared to a cosine smear, the linear smear is simpler, easier to calculate, and minimizes the maximum frequency change.
  • The 24-hour duration has been widely adopted by others implementing smears. We changed our 20-hour smear duration to align with this more popular noon-to-noon interval.

Example of the standard smear

In this example, we will suppose there is a leap second at the end of December 2018, although the actual schedule has not yet been announced.

The smear period starts at 2018-12-31 12:00:00 UTC and continues through 2019-01-01 12:00:00 UTC. Before and after this period, smeared clocks and time service agree with clocks that apply leap seconds.

During the smear, clocks run slightly slower than usual. Each second of time in the smeared timescale is about 11.6 μs longer than an SI second as realized in Terrestrial Time.

At the beginning of the leap second, smeared time is just under 0.5 s behind UTC. UTC inserts an additional second, while smeared time continues uninterrupted. This causes smeared time to become just under 0.5 s ahead of UTC when the leap second ends.

By continuing to run the clocks at the same slowed rate, the ongoing smear reduces this offset over the next twelve hours. By 12:00:00, smeared and leaping clocks agree again.

TAI Unsmeared UTC Smeared time
2018-12-31 12:00:36.000000 2018-12-31 11:59:59.000000 2018-12-31 11:59:59.000000
2018-12-31 12:00:37.000000 2018-12-31 12:00:00.000000 2018-12-31 12:00:00.000000
2018-12-31 12:00:38.000012 2018-12-31 12:00:01.000012 2018-12-31 12:00:01.000000
2019-01-01 00:00:35.499977 2018-12-31 23:59:58.499977 2018-12-31 23:59:58.000000
2019-01-01 00:00:36.499988 2018-12-31 23:59:59.499988 2018-12-31 23:59:59.000000
2019-01-01 00:00:37.000000 2018-12-31 23:59:60.000000 2018-12-31 23:59:59.500006
2019-01-01 00:00:38.500000 2018-12-31 23:59:60.500000 2019-01-01 00:00:00.000000
2019-01-01 00:00:38.000000 2019-01-01 00:00:00.000000 2019-01-01 00:00:00.499994
2019-01-01 00:00:38.500012 2019-01-01 00:00:00.500012 2019-01-01 00:00:01.000000
2019-01-01 00:00:39.500023 2019-01-01 00:00:01.500023 2019-01-01 00:00:02.000000
2019-01-01 12:00:36.999988 2019-01-01 11:59:58.999988 2019-01-01 11:59:59.000000
2019-01-01 12:00:38.000000 2019-01-01 12:00:00.000000 2019-01-01 12:00:00.000000
2019-01-01 12:00:39.000000 2019-01-01 12:00:01.000000 2019-01-01 12:00:01.000000

Over the 86,401 SI seconds of the smear, the stretch in the 86,400 indicated seconds adds up to the one additional SI second required by the leap.

A negative leap second, if one were ever to occur, would be smeared by speeding up clocks over the 86,399 SI seconds from noon to noon.

Other smears

Several other smears have been proposed or implemented.

  • UTC-SLS is a linear smear over 1,000 s before the leap (23:43:20 to 00:00:00).
  • Google's 2008 smear was a 20-hour cosine smear before the leap (04:00:00 to 00:00:00). This was the only time we used a cosine smear.
  • Google's second leap smear was a 20-hour linear smear centered on the leap. We used this in 2012, 2015, and 2016.
  • Bloomberg's smear is a linear smear over 2,000 s after the leap (00:00:00 to 00:33:20).
  • Amazon and Akamai have implemented 24-hour smears.