Jupiterネットワークの開発経緯から見えてくるGoogleのITエンジニアリング
Googleのデータセンターネットワークは、Jupiterに至るまでバージョンアップを重ねている。その背景にあるのは、データセンター内のトラフィックの急増だ。2008年から2014年にかけてトラフィック量は約50倍に伸びている。Googleは、スイッチを独自に設計・製作することにより、サーバーだけでなくネットワークの世界でもムーアの法則の恩恵を受けられることを示している。
Closトポロジーの導入前は、ルーターを4台使った4ポスト構成をとっていた。第1世代のFirehose 1.0では、スイッチの設計経験がなく、Linuxサーバーの筐体にPCIボードとスイッチチップを搭載してスイッチを製作。結果的にLinuxの起動時間とハードウェアの信頼性に問題があり、本番採用が見送られた。
2006年、第2世代となるFirehose 1.1では、専用筐体とチップを載せるラインカードを独自に設計し、1台の筐体に6枚のラインカードを搭載。筐体には内部接続用のバックプレーンを設けず、ポート間接続には10GbpsのCX4メタルケーブルを用いた。しかし、重く、最大長が比較的短いCX4メタルケーブルは取り回しが難しく、結果的にCX4ケーブルをファイバーケーブルに変換するコネクタを特注することになってしまう。それでも、Firehose 1.1は本番投入されたが、並行して障害に備えて4ポスト構成に切り戻せる仕組みも用意された。
2008年、第3世代のWatchtowerは、ケーブルの配線が複雑になるという第2世代の反省を活かし、筐体に内部接続用のバックプレーンを設け、ファイバーケーブルを束ねたファイバーバンドルを採用することで、無駄な外部配線を排除した。2009年、第4世代のSaturnはWatchtowerの性能向上版で、チップあたりのポート数を増加し、ToR(Top of Rack)に10Gbpsポートを採用している。
2012年、第5世代にあたるJupiterでは、第3、第4世代で採用したバックプレーンを再度取り除いた。共通部品となるモジュールを組み合わせて任意のレイヤーを構成できるようにモジュール型の設計を取り入れ、スイッチの製作や運用のコスト低減を図ったのだ。Closトポロジーは通常、ToR、アグリゲーションレイヤー、スパインレイヤーの3階層で構成される。
Jupiterでは、40Gbps×16ポートのチップ4個を含むCentauriモジュールを基本とし、ToRにはCentauriモジュールを1個そのまま使用する。そして、Centauriモジュールを4個でミドルブロック、ミドルブロックを8個でアグリゲーションブロック、6個でスパインブロックとし、最大64個のアグリゲーションブロックでアグリケーションレイヤー、最大256個のスパインブロックでスパインレイヤーを構成する。Jupiterネットワークは、この最大構成によりサーバー間通信の帯域として1.3Pbpsを実現している。
