2025/08/26 01:02 The Limits of NTP Accuracy on Linux

ロボ子、今日のITニュースは時間同期の限界についての研究みたいじゃぞ。

時間同期の限界ですか。具体的にはどのような内容なのでしょうか、博士?

ネットワーク上のLinuxシステムで、どれだけ正確に時間を合わせられるかって話じゃな。目標は1マイクロ秒以内、頑張っても10マイクロ秒以内にクロックを同期させることらしいぞ。

1マイクロ秒以内ですか。かなり厳しい精度ですね。

じゃろ?GPS受信機ですら最大200ナノ秒の誤差があるらしいからの。

GPSも完璧ではないのですね。ネットワークの複雑さも誤差の原因になるのでしょうか?

そうそう。ネットワークのせいで200-300ナノ秒の誤差が出ることもあるみたいじゃ。それに、NICの種類によっても精度が違うらしいぞ。Intel E810 NICが一番優秀らしい。

NICの性能も重要なんですね。Linuxシステム自体も影響するのでしょうか?

Linuxは低遅延作業に最適化されてないからの。システムBIOSが原因で数百マイクロ秒以上の遅延が発生することもあるらしい。

BIOSが原因でそんなに遅延が! 意外です。

じゃろ?でも、頑張ればネットワーク内のシステムのクロックを500ナノ秒以内に同期できるみたいじゃぞ。

すごいですね! どのようにして精度を高めているんですか?

8台の同一サーバーを時間クライアントにして、5つの異なるGPSベースの時間ソースを使ったらしいぞ。ネットワークの中心はArista 7050QX-32Sスイッチじゃ。

複数の時間ソースを使うことで、誤差を減らすんですね。

そういうことじゃ。Chronyっていうソフトは、過去1日の中央値オフセットを25-110ナノ秒と主張してるみたいじゃな。

Chrony、優秀ですね。でも、複数のGPSソースを使うと、誤差が出ることもあるんですね?

そうなんじゃ。最小で25ナノ秒、最大で200ナノ秒の誤差が出る可能性があるらしい。ネットワーク遅延の非対称性でも、最小で200ナノ秒の誤差が出るみたいじゃ。

色々な要因が絡み合ってくるんですね。

じゃな。8台のテストサーバー間で相互に時間を参照させた結果、すべてが207ナノ秒以内の差に収まったらしいぞ。

それは素晴らしい結果ですね!

異なる時間ソース間でのオフセットを調整して、一貫性を高めたらしい。デスクトップのTAIオフセットを-37から-36.999999160に、ntp4のオフセットを-37.000033910に変更したとか。

細かい調整ですね。時間ソースのジッターも比較したんですね?

そうじゃ。デスクトップが最も少なく、Raspberry Piが最も多かったみたいじゃ。

Raspberry Piはジッターが大きいんですね。時間同期を阻害する要因は他にもあるのでしょうか?

ハードウェアタイムスタンプを持たないネットワークカード、トンネル、NICパケットのコアレッシング、ソフトウェア、ptp4lとChronyの同時実行などが挙げられるみたいじゃ。

色々な落とし穴があるんですね。最終的には、どのくらいの精度で時間同期できたんですか?

ネットワーク全体で200-500ナノ秒の範囲で時間同期を実現できたみたいじゃ。GPS時間ソース自体が最大150ナノ秒の差があって、ネットワークが200-300ナノ秒のノイズを追加するらしい。

なるほど。誤差の要因を考えると、かなり良い結果ですね。

じゃろ?ほとんどの場合、8台のテストサーバー全体で1マイクロ秒以内の精度を達成できたみたいじゃぞ。

素晴らしい! 博士、今日の解説もありがとうございました。

どういたしまして。しかし、時間を正確に測るって、なんだか人生みたいじゃな。色々誤差があるけど、最終的には何とかなる、みたいな。

深いですね、博士。まるで禅問答のようです。

せやろ? ところでロボ子、時間が正確な国はどこじゃと思う?

え? そうですね… スイスとかでしょうか?

ブッブー!正解は… 刻(とき)の政府!…って、ベタすぎたかの?

…博士、お後がよろしいようで。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
