Introducing data center fabric, the next-generation Facebook data center network
背景
既存の階層型スタイルではデータセンター内でノード同士が通信する"machine-machine"の通信が"machine-user"の通信よりも大きなトラフィックを占めるようになってきた。これは分散システム同士が相互に協調する必要があるため。
我々は指数関数的な成長に素早く容易に追従できるネットワークが必要だった。
問題
多数のサーバをToRに収容し更にそれを集約するcluster switchを置く、という構成をとっていた。
しかしこれはクラスタのサイズがcluster switchのポート数に制限されてしまう。大きなクラスタを組むために大きなスイッチが必要になり対応するベンダの数も限られてきてしまう。広帯域なリンクが必要であればなおさらポートを消費した。そうした大きなスイッチの内部アーキテクチャには独特のノウハウが必要だったし故障した時の影響も甚大だった。
かつての構成ではクラスタ内部のネットワークトラフィックをさばくために高性能なcluster switchが使われていた。しかし我々のアプリケーションがスケールするにあたりクラスタ間トラフィックの量が増えてきた結果、cluster switchの帯域をoversubscriptionしている状態になってきてしまった。
解決
fabricというモデルを導入する。
これはかつてのクラスタネットワークをserver podという更に小さい単位に分割する。
Pod
ただのL3クラスタ。特に物理的な特性を要求しない。かつてのクラスタとの違いは、このpodが収容するのは48ラック分、という比較的小さいサイズである点。これは全てのpodに共通する構成要素である。
Fabric switch