闰秒涂抹

自 2008 年以来,我们没有采用时钟步骤将闰秒应用于我们的服务器,而是在每闰秒前后的小时数中额外留出了“模糊处理”时间。 闰秒模糊处理适用于所有 Google 服务,包括所有 API。

我们建议的标准涂抹

许多组织使用污染时钟,如果涂抹结果相同,会很有帮助。毕竟,时钟的用途是在不同位置读取相同的时间。

我们鼓励任何人采用闰秒作为抹擦时间,采用世界协调时间 (UTC) 24 小时制,从中午到中午 12:00(世界协调时间)

此涂层将经验证明在许多分布式计算应用中效果良好的功能相结合:

  • 长时间设置会使频率变化较小。这道涂油量变化约为 11.6ppm。这处于大多数机器和石英振荡器的制造和热误差范围内,并且低于 NTP 最大 500 ppm 速率。
  • 以抹擦秒为中心居中涂抹,而不用在闰秒处开始或结束,从而最大限度减小最大偏移量。
  • 与余弦涂抹相比,线性涂抹更简单、更易于计算,并且最大程度降低了最大频率变化。
  • 实施涂抹的其他人广泛采用 24 小时制。 我们原来使用 20 小时的涂抹持续时间,但改成了这种更受中午到中午间隔的方式。

我们计划在将来的所有闰秒中使用此涂抹。Amazon 在 AWS 中使用此涂抹。如需在系统中使用此 API,一种方法是将其配置为使用 Google 公共 NTP

标准涂片示例

在此示例中,尽管在 2022 年 12 月底之前,实际时间表尚未公布,但我们会假定此日期为闰秒。

涂抹期从 2022-12-31 12:00:00 UTC 开始,一直持续到 2023-01-01 12:00:00 UTC。 在此时间段之前和之后,污染的时钟和时间服务与应用闰秒的时钟保持一致。

涂抹期间时钟会比平时慢一点。根据陆地时间的实现,smastime scale 的每一秒都比 SI 秒 大约 11.6 微秒。

在闰秒开始时,污染时间正好比 UTC 落后 0.5 秒。UTC 会插入额外的一秒,而经过模糊处理的时间不会中断。这导致当闰秒结束时,会达到均匀分布的不到 0.5 秒的时间。

通过继续以慢速运行时钟,连续涂抹可以减少接下来的 12 小时的偏移时间。到 12:00:00 时,污渍和跳跃时钟会再次达成一致。

泰国航空 无缩略图 UTC 污染时间
2022 年 12 月 31 日 12:00:36.000000 2022 年 12 月 31 日 11:59:59.000000 2022 年 12 月 31 日 11:59:59.000000
2022 年 12 月 31 日 12:00:37.000000 2022 年 12 月 31 日 12:00:00.000000 2022 年 12 月 31 日 12:00:00.000000
2022 年 12 月 31 日 12:00:38.000011 2022 年 12 月 31 日 12:00:01.000011 2022 年 12 月 31 日 12:00:01.000000
2023-01-01 00:00:35.499976 2022-12-31 23:59:58.499976 2022-12-31 23:59:58.000000
2023-01-01 00:00:36.499988 2022 年 12 月 31 日 23:59:59.499988 2022-12-31 23:59:59.000000
2023-01-01 00:00:37.000000 2022-12-31 23:59:60.000000 2022 年 12 月 31 日 23:59:59.500005
2023-01-01 00:00:37.500000 2022-12-31 23:59:60.500000 2023-01-01 00:00:00.000000
2023-01-01 00:00:38.000000 2023-01-01 00:00:00.000000 2023 年 1 月 1 日 00:00:00.499994
2023-01-01 00:00:38.500011 2023 年 1 月 1 日 00:00:00.500011 2023-01-01 00:00:01.000000
2023-01-01 00:00:39.500023 2023 年 1 月 1 日 00:00:01.500023 2023 年 1 月 1 日 00:00:02.000000
2023 年 1 月 1 日 12:00:36.999988 2023 年 1 月 1 日 11:59:58.999988 2023 年 1 月 1 日 11:59:59.000000
2023 年 1 月 1 日 12:00:38.000000 2023 年 1 月 1 日 12:00:00.000000 2023 年 1 月 1 日 12:00:00.000000
2023 年 1 月 1 日 12:00:39.000000 2023 年 1 月 1 日 12:00:01.000000 2023 年 1 月 1 日 12:00:01.000000

在涂抹期的 86401 SI 秒内,标注 86400 秒内的拉伸加上闰秒所需的一个额外的 SI 秒。

一旦出现时钟的负闰秒,即可通过加强从中午到中午 86,399 SI 秒的时钟上油渍。

其他涂料

我们还提出了或实施了一些其他补充方案。

  • UTC-SLS 是闰秒之前 1000 多次的线性涂抹(23:43:20 到 00:00:00)。
  • Google's 2008 涂抹是指在闰秒之前进行 20 小时的余弦涂抹(从 04:00:00 到 00:00:00)。这是我们第一次使用余弦涂抹。
  • Google 的第二次闰秒抹擦是一种以闰秒为中心的 20 小时线性抹擦。我们在 2012 年、2015 年和 2016 年就使用了这种方法。
  • Bloomberg'smear 是在闰秒后超过 2000 秒的线性涂抹(00:00:00 到 00:33:20)。
  • Meinberg 实现了可配置时长的余弦涂抹。

涂抹软件支持

我们的开源不模糊处理库可以在涂抹时间与未模糊处理的 TAI 或 GPST 之间进行双向转换。