BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Meta社がうるう秒を処理するためにPrecision Time Protocolを使用する方法

Meta社がうるう秒を処理するためにPrecision Time Protocolを使用する方法

原文リンク(2025-04-11)

多くのシステムは、調整、ログ記録、セキュリティ、分散オペレーションにおいて、正確で一貫性のある時間管理に依存している。金融取引、データベースのレプリケーション、スケジュールされたタスクなど、時間に敏感なプロセスでは、1秒のズレでさえ障害を引き起こす可能性がある。分散データベース、テレメトリーパイプライン、イベント駆動アーキテクチャのような厳密な同期が必要なシステムでは、うるう秒の取り扱いを誤ると、データの損失、重複、不整合につながる可能性がある。そのため、うるう秒を正確に管理することで、高精度の時刻に依存する環境全体のシステムの信頼性と一貫性を確保できる。

うるう秒という概念に馴染みのない人のために説明しておくと、地球の自転の不規則性を考慮し、協定世界時(UTC)に定期的な調整を加えることで、原子時間と天文時間の同期を確保するものである。正確な時間管理のためには必要な調整であるが、PTP(Precision Time Protocol:高精度時刻プロトコル)のように高精度の同期を必要とするシステムにとっては難題となる。PTPは、ネットワーク内の時計をマイクロ秒以下の精度で同期させるように設計されているため、うるう秒の扱いが特に重要になる。

ネットワークタイムプロトコル(NTP)システムでは、従来のうるう秒の処理方法であるスミアリング(余分な1秒を一定期間に分散させ、混乱を最小限に抑える方法)がよく採用されている。しかし、PTPシステムでは、より高い精度が要求されるため、同様の手法を適用するのは問題がある。最小限の調整でさえ同期エラーにつながる可能性があり、PTPが維持しようとする厳しい精度基準に違反する。

この問題に対処するため、Meta社はPTPサービスに統合されたアルゴリズム的アプローチを開発した。この方法は、 fbclockライブラリに実装された自己スミアリング技術であり、ナノ秒のタイムスタンプの可能な限り早い時刻と遅い時刻を表す時刻値のタプルを返すことで、「不確実性の窓」(WOU:Window of Uncertainty)を提供する。うるう秒が発生すると、ライブラリはこれらの値を62.5マイクロ秒ごとに1ナノ秒ずつシフトさせることで調整する。このステートレスで再現可能なアプローチにより、システムは手動で操作することなく自動的にうるう秒を処理できる。

この自己スミアリング戦略には、うるう秒のシームレスな処理や、PTPシステムに要求される高精度の維持など、いくつかの利点がある。しかし、トレードオフも生じる。たとえば、NTPの2次スミアリングなど、異なるスミアリング方法を使用するシステムと統合する場合、不一致が生じる可能性があり、スミアリング期間中に同期の問題が発生する可能性がある。

PTPを利用するような高精度環境でうるう秒を管理するには、同期の精度を維持するための革新的なソリューションが必要である。Metaのアルゴリズム的アプローチは、テーラーメイドの戦略によってうるう秒がもたらす課題に効果的に対処し、時間に敏感なシステムの信頼性と精度を確保する方法を例証している。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT