Facebookなどは自社のデータセンターのネットワーキングインフラストラクチャに関して、これまでも比較的オープンだったが、Googleは、一部の例外をのぞいては、同社のデータセンターが抱える何千台ものサーバが互いにどのように接続しているのかについて、あまり多くを語らなかった。しかし同社は今日(米国時間6/17)、同社のサーバ間コミュニケーションの技術について、やや明らかにした。
Googleがデータセンター用に独自のハードウェアを作っていることは、よく知られているが、しかし、おそらくあまり知られていないのは、データセンター内部で使うネットワーキングプロトコルも、インターネットの標準プロトコルではなく同社独自のものであることだ。
Googleによると、現在の’Jupiter’と呼ばれるネットワーキングのセットアップは、同社の第五世代のセットアップで、自前のデータセンターの初代に比べると容量は100倍に増えている。現世代の二分割帯域幅(ネットワークを二つの部分に分けたときの両者間の帯域)は、毎秒1ペタバイトだ。言い換えるとそれは、10万台のサーバが互いに10GB/sで対話できる、ということ。
Googleのネットワーキング技術のトップAmin Vahdatによると、全体的なネットワークコントロールスタックは、“従来のルータ中心型のインターネットプロトコルよりもむしろ、Google自身の分散コンピューティングのアーキテクチャと共通している部分が多い”。
彼は、Googleのデータセンターネットワークの設計原則として、次の三点を挙げた:
ネットワークの編成にはClosのトポロジを使用して、小型で安価なスイッチの集合が大きな論理スイッチの性質を備えるようにしている。 データセンター内の数千のスイッチを管理するために中央集権型のソフトウェアコントロールスタックを使い、それらが実質的に一枚の織物のように働くようにしている。 インターネットの標準プロトコルではなく、データセンター用に社内で特製したプロトコルを主に使いたいので、そのためにソフトウェアもハードウェアも内製している。
Facebookが過去に共有した情報などに比べると、それほど詳しくない。数か月後ぐらいには、もっとましな情報を出してほしい。とくに知りたいのは、同社独自のネットワーキングプロトコルの動作仕様だけど、それに関してはちゃんとしたペーパー(技術論文)を発表してほしいね。