Facebook、高精度な時刻同期システムをオープンソース化 57
ストーリー by nagazou
ローカル同期 部門より
ローカル同期 部門より
Facebookは8月11日、ネットワーク同期用のタイムアプライアンスを構築し、仕様全体をオープンソース化したと発表した。多くのサービスは時刻同期に依存しているが、NTPサービス自体のトラブルやネット接続できないときには時刻補正ができない。このプロジェクトでは、原子時計を搭載したPCI Expressの拡張カード形式にまとめられた時刻管理ボックス「Time Card」を用意した(Time Appliances Project、Facebook、Open-Time-Server GitHub、GIGAZINE、TechCrunch)。
通常は人工衛星からの信号を受信、地上のタイムサーバーの時刻を補正するStratum1 NTPサーバとして機能する。人工衛星との接続が一時的に失われた場合でもTime Card内部に備えられた原子時計で補正が継続できる。こうした時刻管理ボックスはこれまでも存在したが、システムが古くセキュリティ上の問題が存在した。また機能リクエストやセキュリティの修正を要求しても対応に時間が掛かった。またユーザーが保守できない独自のハードウェアは、故障時の交換が難しいことがあった。この問題への解決策として、一般に入手可能な部品から構成されたPCIeカード形式のTime Cardを作成したとしている。また設計過程をオープンソース化することにより、プロジェクトが継続可能にしたかったとしている。
通常は人工衛星からの信号を受信、地上のタイムサーバーの時刻を補正するStratum1 NTPサーバとして機能する。人工衛星との接続が一時的に失われた場合でもTime Card内部に備えられた原子時計で補正が継続できる。こうした時刻管理ボックスはこれまでも存在したが、システムが古くセキュリティ上の問題が存在した。また機能リクエストやセキュリティの修正を要求しても対応に時間が掛かった。またユーザーが保守できない独自のハードウェアは、故障時の交換が難しいことがあった。この問題への解決策として、一般に入手可能な部品から構成されたPCIeカード形式のTime Cardを作成したとしている。また設計過程をオープンソース化することにより、プロジェクトが継続可能にしたかったとしている。
原子時計の精度 (スコア:1)
だけで十分な気がした
原子時計 [wikipedia.org]
高精度のものは10−15(3000万年に1秒)程度、小型化された精度の低いものでも10−11(3000年に1秒)程度の誤差である。
ntpはたまにずれますね。
Re:原子時計の精度 (スコア:5, すばらしい洞察)
Re:原子時計の精度 (スコア:1)
Re:原子時計の精度 (スコア:2, 参考になる)
Re:原子時計の精度 (スコア:2)
女子高生と女子校生くらい、似てて異なる(違)
死して屍 拾う者なし
Re: (スコア:0)
校正しないスラドは?
Re:原子時計の精度 (スコア:3, おもしろおかしい)
ただのスラドだ
Re:原子時計の精度 (スコア:1)
いつものスラドだった
Re: (スコア:0)
昔はちゃんと校正していた、というか訂正はちゃんとしていた。諸悪の根源は、hylom だ。
というわで、「hylom 後のスラドだ。」
Re: (スコア:0)
「hylom後のスラド」でも頑張ってるheadless氏が可哀そう
Re: (スコア:0)
✗「というわで、「hylom 後のスラドだ。」」
◎「というわけで、「hylom 後のスラドだ。」」
#まずは隗より始めよ
Re: (スコア:0)
ていうか説明を読む限りでは人工衛星の電波が受信できない間のバックアップなのに、
原子時計の精度ってオーバースペックじゃないんだろうか
まぁ普通に許容範囲のコストで手に入る部品なら、使わない理由もないが
Re:原子時計の精度 (スコア:3)
数年前からチップスケール原子時計といって9V角電池くらいのモジュールになったものが販売されているので、それが安くなったのであろう、と思って調べてみたらメーカーによりRequest for a Quote円またはサンプル価格で20万円~でした。はて。
# これがチップスケールならThreadripperもマイクロチップ……それはそうか
Re:原子時計の精度 (スコア:1)
Gigazineに
> タイムカードの精度の検証結果は下図の通りで、青いドットで示されているNTPは40マイクロ秒以内に収まっており、オレンジ色のドットで示されているPTPの場合はナノ秒単位の誤差しか発生していないことが分かります
とありますが、ナノ秒の精度が必要ならクォーツでは不十分でしょう
Re: (スコア:0)
>とありますが、ナノ秒の精度が必要ならクォーツでは不十分でしょう
1nano sec = 1e-9 sec
原子時計の精度 1e−11 sec
Re: (スコア:0)
1秒で1e−11秒の誤差だと、1時間で0.6ナノ秒程度の誤差になります(誤差がランダムだとして)
Re: (スコア:0)
>1秒で1e−11秒の誤差だと、1時間で0.6ナノ秒程度の誤差になります(誤差がランダムだとして)
何故積算?
Re: (スコア:0)
積算だと36ナノ秒/1時間になるのでは?
Re: (スコア:0)
そもそも時間の精度と時刻の正確度の話がごっちゃになってるからね。
Re: (スコア:0)
±1e-11秒の「一様分布」だと仮定すると分散は
(2e-11)^2/12
「1秒ごと」のサンプリングの総和だと仮定すると、概ね分散
(2e-11)^2/12 * 3600
の正規分布に従う。
σ = 0.35e-9 秒
0.6がどっから出てきたか知らんが3σで約±1ナノ秒、9σで±3ナノ秒。
仮定に根拠がないので数字遊びだが。
Re: (スコア:0)
ああ、0.6は最初から正規分布を仮定してるのね。
Re: (スコア:0)
正規分布以外だったらその原子時計は壊れてると思う(正論
Re: (スコア:0)
周波数の同期なら原子時計だけでも良いのですが、絶対的な時刻の同期のためには相互の通信/同期信号の受信が必要が必要なんですよね
しかしMicrochipから原子時計のモジュールを買える時代になるとは思わなかった
HPの中古原子時計の価格が暴落するかも
Windows 10でPTP(Precision Time Protocol) (スコア:1)
# うるう秒が無いのを前提にしたソフトがどう振る舞うのか気になる。
原子時計は要求しないにしても (スコア:0)
USB接続な電波時計デバイス&ドライバー的なモノが不十分なのは確かかと。
USBデバイスクラス、無いよね?
Re:原子時計は要求しないにしても (スコア:1)
ワイワイやろーぜ (スコア:0)
ワイワイ言いたいだけど。
$1500~$2000かあ (スコア:0)
10年前にこのボードがあったらなあ。
NTPでサブミリ秒の精度をなんて苦労をしなくてもすんだんだのになあ。
Re: (スコア:0)
20年以上前のことですが、NTPと温度補償水晶発振器で、マイクロ秒くらいの精度で時刻を測っていました。
Re:$1500~$2000かあ (スコア:1)
> 20年以上前のことですが、NTPと温度補償水晶発振器で、マイクロ秒くらいの精度で時刻を測っていました。
うんうん。
ATカットのクリスタルとカウンタがあれば、一応のタイムベースは作れるから。
PICが日本に来たあたりに、PIC使用のJJY補正のタイムベースは作った事はある。
トラ技に持っていったら、ボツったけど。
まあ、実際にはこんな制約があって。
・自作(自社開発)のハードウェアの使用は不可、使用できるハードウェアは大手メーカ品に限る
・予算は10万円程度
・全国の100拠点~500拠点での時間同期(サブミリ秒精度)
その頃にはGPSやCDMAのタイムベースは売られていたけど、価格が理由で使わせて貰えなかった。このfacebook time cardが10年前に調達出来たとして、大手メーカ品辺りの理由で、実際には使えるか(使わせて貰えるか)分かなかった。ただ、強くプッシュすれば可能だったかも。
そんな話ね。
Re: (スコア:0)
興味深い話ですが、100オーダーの数量で10万ってきつそう。自作は下手すりゃ余計金かかりそうだし。
その案件達成できたんですか?
Re: (スコア:0)
> 自作は下手すりゃ余計金かかりそうだし。
金の問題というより、自社開発のハードウェアを抱えたくないってのが、会社(てか親会社、てか発注元)の方針ね。
GPSだと1台10万はきついかな。CDMAも同様にたぶん。JJYなら出来るだろうけど、精度が足りなそう。
> その案件達成できたんですか?
結局、純ソフトで。
でもNTPの乱れがあるので、所定の精度を常に達成出来るとは言い難いシロモノになっちゃった。
発注元の決定だから、こっちとしては知ったこっちゃないわね。(ぉぃぉぃ)
一方、日本では (スコア:0)
PC前に電波時計を置いた
Re: (スコア:0)
前に、NTPで合わせてるPCと電波時計が20秒くらいずれてたことがあった。
どっちが(も?)ずれてるのか調べようと思ったけどちょっと急いでたので後にしたら、気付いた時には概ね合っていた。
つか今も7秒くらいずれてるな。
Re: (スコア:0)
JJYは鉄筋の屋内とか拾わない環境ではマジで全然これっぽっちも拾わない。
長時間JJY拾い損ねてフツーの(もしくはJJYでの補正頼りでフツーより精度の悪い)クォーツ時計になってるとかはままある事。
Re: (スコア:0)
電波時計は置き場所にシビアですね。
建物の中では電波を受信できず、ずれていることが良くあります。
Re:一方、日本では (スコア:2)
ただし、それ以上はズレない不思議
Re: (スコア:0)
目覚まし時計だけど、ぴったり1時間ずれてたことがあります。
Re: (スコア:0)
あれっ、そっれって今回のやつやん
Re: (スコア:0)
家電量販店の時計コーナーはちょっと考えた方が良いよね。標準電波のリピーターを置くとか。
Re: (スコア:0)
ヨドバシカメラ某店の時計売り場の電波時計がてんでバラバラだったので
「不安になるからどうにかしてくれ」と要望を送ったらしばらく立ったら全部補整されていた。
レピータを置いたのかそれとも再同期設定して廻ったのかはわからん
Re:一方、日本では (スコア:1)
毎晩、店員が散歩に連れて行っているとか。
Re: (スコア:0)
ドライブレコーダーとかGPSから時間を取る奴があるけど、あれは電波時計とどちらが正確なのだろう。
GPSの方が電波時計より受信は良好みたいだけど。
Re: (スコア:0)
GPS衛星の時間情報源は各衛星に搭載された原子時計
日本標準電波も同じく原子時計
実用上かわらんよ
高精度な時刻同期の仮定 (スコア:0)
高精度な時刻同期を前提にいろいろ組んだら、いざ想定外の誤差が発生した時やばい障害が起きたりしないか?
もちろん正確な時刻同期はあるに越したこたないが、バグ・うるう秒・擾乱・通信上の問題などいろんな理由で時計は狂うわけで。
いざ問題が起きた時に初めて顕在化するってのはちょっと怖くないか?
もちろんそれなりにテストして色々考えてるんだろうけれど。
どんだけ頑張っても時刻同期ってのは多少の不安定は避けられないからなぁ。
Re: (スコア:0)
機器同士が秒単位の精度でも連携できるように構成されていても、
個々の機器の時計やそれに基づく記録データなんかはもっと高精度の情報がほしいだろ
いざ問題が起こった時なんか特に
Re: (スコア:0)
重力波の到来方向調べるのに使うとか?
ちがうか....
Re:蒸着!! (スコア:0)
つまり!FacebookのNTpを使う事で
ギャバン、シャリバン、シャイダーの蒸着実施時間が
正確に把握できるようになるんですね!
Re: (スコア:0)
シャリバンは赤射、シャイダーは焼結
Re: (スコア:0)
正確にけいじできます