自 2008 年以来,我们不再使用时钟步长对我们的服务器应用闰秒,而是在每次闰前后的几个小时内“涂抹”额外的秒。闰涂抹适用于所有 Google 服务,包括我们所有的 API。许多组织使用涂片时钟,如果涂片相同会很有帮助。毕竟,钟表的目的是在不同的地方读取相同的时间。我们鼓励任何涂抹闰秒的人在 UTC 时间从中午到中午使用 24 小时线性涂抹。这种涂抹结合了经验表明适用于许多分布式计算应用程序的特性:持续时间长,频率变化很小。涂片的变化约为 11.6 ppm。这在大多数机器的石英振荡器的制造和热误差范围内,并且远低于 NTP 的 500 ppm 最大压摆率。将拖尾置于闰秒的中心,而不是让它在闰秒开始或结束,最大限度地减少了最大偏移。与余弦拖尾相比,线性拖尾更简单,更容易计算,并且最大限度地减少了最大频率变化。
24 小时持续时间已被其他实施涂抹的人广泛采用。我们以前使用 20 小时涂抹持续时间,但更改为与更流行的中午到中午的间隔保持一致。我们计划在未来的所有闰秒中使用此涂抹。亚马逊使用这种涂抹 AWS。在您的系统中使用它的一种方法是将它们配置为使用 Google 公共 NTP。在这个例子中,我们假设在 2021 年 12 月末有一个闰秒,尽管实际时间表尚未公布。拖尾时间从 2021-12-31 12:00:00UTC 开始,一直持续到 2022-01-01 12:00:00UTC。在此期间之前和之后,拖尾时钟和报时服务与应用闰秒的时钟一致。在涂片期间,时钟的运行速度比平时稍慢。拖尾时标中的每一秒时间比地球时间中实现的 SI 秒长约 11.6 微秒。在闰秒开始时,拖尾时间略低于 UTC 的 0.5 秒。 UTC 插入一个额外的秒,而涂抹的时间继续不间断。当闰秒结束时,这会导致拖尾时间比 UTC 快不到 0.5 秒。通过继续以相同的减慢速度运行时钟,在接下来的 12 小时内持续的拖尾会减少这种偏移。到 12:00:00,smeared 和leapingclocks 再次一致。
在涂抹的 86,401 SI 秒内,86,400 指示秒中的拉伸加起来等于跳跃所需的额外 SI 秒。从中午到中午 86,399 SI 秒的加速时钟会抹掉负闰秒,如果真的发生的话。谷歌 2008 年的涂片是飞跃前 20 小时的余弦涂片(04:00:00 到 00:00:00)。这是我们唯一一次使用余弦涂抹。谷歌的第二次跳跃是以跳跃为中心的 20 小时线性涂抹。我们在 2012、2015 和 2016 年使用了它。我们的开源 unsmear 库将在涂抹时间和未涂抹 TAI 或 GPST 之间的任一方向进行转换。