もっと詳しく

膨大な数のサーバー隊列のクロックの同期は、解決済みの問題と思われるかもしれないが、実は今なお難しい問題で、特に要求がナノ秒クラスの精度という場合は難しい。そしてこのことはまた「クロックの時間に基づくシステムを作ってはならない」という命題が、コンピューターサイエンスの公理であり続けている理由でもある。米国時間3月16日、2100万ドル(約25億円)のシリーズAの資金調達ラウンドを発表したClockwork.ioはこれを、ハードウェアのタイムスタンプでは5ナノ秒、ソフトウェアのタイムスタンプでは数百ナノ秒という同期精度でこの状況を変えようとしている。

その技術に基づいて同社は本日、ユーザーにクラウド上やオンプレミスそしてハイブリッドの環境で、レイテンシーが極めて地裁データを提供する最初のプロダクトLatency Senseiをローンチした。ユーザーはそのようなデータを使って自分のネットワークのボトルネックを見つけ、チューンナップすることができる。同社の顧客にはすでにNASDAQやWells Fargo、RBCなどがいる。

画像クレジット:Clockwork

同スタートアップはYilong Geng(イーロン・ゲン)氏とDeepak Merugu(ディーパック・メルグ)氏、そしてスタンフォード大学の「VMwareの創業者たちのコンピューターサイエンス教授」と呼ばれるBalaji Prabhakar(バーラージー・プラバカール)氏らが創業し、VMwareの共同創業者でスタンフォードのコンピューターサイエンス教授であるMendel Rosenblum(メンデル・ローゼンブラム)氏が取締役およびチーフサイエンティストになっている。この由緒正しい顔ぶれからもわかるように、Clockworkのシステムは、チームがスタンフォードで行った学術的な基礎研究がベースとなっている。

今日の多くのコンピューターがクロックの同期に使っているNetwork Time Synchronization Protocol(NTP)と呼ばれる標準形式は至るところで使われているが、あまり正確ではない。その改良はこれまでも行われており、たとえばFacebookは2021年、ハードウェアによるソリューションをOpen Compute Projectに寄贈したが、Clockworkのチームは、それよりもはるかに高い精度を自負している。

プラバカール氏の説明によると「データセンターの中で1秒の違いが生じることもある。私のスマートフォンとこのベースステーションの秒はおそらく合っているでしょう。しかし、もっと細かく、マイクロ秒やナノ秒になると、それらを合わせることは難易度は上がります。2つのクロックが指す時刻を、ナノ秒まで正しくすることは、とても難しいことです。しかも、同期は一瞬実現するだけでなく、両者の同期を維持しなければなりません。気温の変化や振動の影響を受けない高精度のクロックをサーバーに装備することは可能ですが、そんなクロックはすぐにサーバー本体よりも高価なものになります」。

画像クレジット:Clockwork

この問題を解決するためにチームは、タイムスタンプが任意のサーバーに到着するのに要する時間を極めて正確に計測できるシステムと機械学習のモデルを開発した。NTPとそれほど違わないものだったが、チームはさまざまなタイムスタンプ使って改良し、さらにクロックのオフセットと周波数の相対的な違いも考慮に入れた。そして、それらすべてを機械学習のモデルに入れる。そしてチームは、異なるクロックが互いに会話して、同期してないことや自分たちが正しいことを検出できるシステムも開発した。

信頼できるタイムスタンプがないため、これまでの分散システムはクロックのない設計に依存してきた。しかしそれによって、複雑なシステムがさらに一層複雑になった。Clockworkのチームは、彼らの仕事によって研究者たちが、データベースの一貫性とか、イベントの正しい順序、コンセンサスのプロトコル、各種の台帳など、多くの問題領域で時間をベースとする新しいアルゴリズムを実験できるようになる、と期待している。ローゼンブラム氏とプラバカール氏のチームによる最初の研究は、分散システムでクロックを信頼できるなら何ができるか、という問題に集中していた。

「現在、GoogleのSpannerやCockroachDBなど、あるいは一部のデータベース関連の仕事をしている人以外は時間を使っていない。しかし、今後は時間が重要な課題があちこちで出てくるでしょう。それらにうまく対応するためには時間の同期が重要であり、正しく行う方法を私たちは研究開発しています。そこで私たちは、このようなシステムを別の方法でプログラミングするようになるのではと考えています」。

同期化の問題を解決したと信じているClockworkは、今度のLatency Senseiを嚆矢として、それを利用するプロダクトを作ろうとしている。しかしプラバカール氏が念を押すのは、チームはすでに、データセンター内の渋滞を容易に検出できるプロジェクトに取りかかっているということだ。彼によると、TCPはワイドエリアネットワーク(WAN)には向いているが、データセンターの中で使うのはまったくの浪費だ。しかしネットワークとそのレイテンシーについてもっとよく知れば、データセンターの中でパケットをルートする最良の方法を同社のシステムで見つけて、TCPプロトコルにヒントを与えることができるかもしれない。同社のシリーズAをリードしたのはNEAで、さらに著名なエンジェル投資家であるMIPSの共同創業者John Hennessey(ジョン・ヘネシー)氏、初期のGoogleの投資家Ram Shriram(ラム・シュリラム)氏、そしてYahooの共同創業者Jerry Yang(ジェリー・ヤン)氏が参加した。

画像クレジット:MirageC/Getty Images

原文へ

(文:Frederic Lardinois、翻訳:Hiroshi Iwatani)