海外・国内のベンチャー系ニュースサイト | TECHABLE

TECHABLE

Tech Facebookが独自の時刻同期サービス! 精度が従来の100倍に

Tech

Facebookが独自の時刻同期サービス! 精度が従来の100倍に

SHARE ON

このエントリーをはてなブックマークに追加
ネット上のデバイスは、NTPサーバーと通信して時刻のズレを修正している。スマホやパソコンなどでアラームを設定するぶんには通常の仕組みで十分間に合うが、Facebookのようなサービスでは、膨大な量のデータ書き込み順序がズレないよう、すべてのサーバーをミリ秒未満の精度で同期する必要があるという。

このためにFacebookは、サーバーに常駐して時間合わせを担う標準的なプログラム、nptdを新しいものに置き換えてテストしている。

結果、時刻同期を担う常駐プログラムをchronyに移行することにより、ズレを数十ミリ秒単位から数百マイクロ秒単位に改善できたという。

・NTPサービスを4層で構成

Facebookのブログ投稿では、時刻合わせにどれくらいの精度が必要かを説明するうえで、「うるう秒」の例を説明してくれている。地球の自転が不規則なのを補足するために秒単位の追加や削除が必要。ソフトウェアの動作では1秒消えるだけで処理に影響が出るため、うるう秒の増分または減分は、長時間にわたって細かく分散される。

FacebookのNTPサービスは4層で構成されているという。まず、GPSなどで用いられる、グローバルナビゲーション衛星システム(GNSS)、次にこれと同期するFacebookの原子時計、そしてこれと同期するのがNTPサーバー群だ。この時点でうるう秒が修正されるらしい。最後に、データを扱う大規模サーバー群。これらはうるう秒を気にしなくてもよい。

・chronyへの置き換えで時刻同期の精度が向上

FacebookパブリックNTPサービス(time.facebook.com)の技術的基盤でもあるchronyという常駐プログラムを利用したところ、時間同期は、従来のものよりメモリ消費量がわずかに少なくて済み、精度に関しては100倍だったという。

NPTではネットワークでの遅延を計算するために送信パケットにタイムスタンプが押されるが、これをOSでなくネットワークカードがパケット送信直前に行う(ハードウェアタイムスタンプ)ことで、精度がさらに2桁向上するとのこと。

GoogleやAppleなどはすでに独自のNTPサービス機能を持っており、同様に需要がありそうなFacebookが精度の高いNTPサービス機能を持つのも必然といえるだろう。

参照元:Building a more accurate time service at Facebook scale

関連記事

Techableの最新情報をお届けします。
前の記事
次の記事

#関連キーワード


WHAT'S NEW

最新情報