グーグルのクラウドを支えるテクノロジー > 第73回 VPCネットワークを支える仮想ネットワーク基盤:Andromeda(パート1)
私が編集支援しているCTC教育サービス・コラム「グーグルのクラウドを支えるテクノロジー > 第73回 VPCネットワークを支える仮想ネットワーク基盤:Andromeda(パート1)」が公開されました。
###
はじめに
今回からは、2018年に公開された論文「Andromeda: Performance, Isolation, and Velocity at Scale in Cloud Network Virtualization」を元にして、Google Cloud Platform(GCP)のVirtual Private Cloud(VPC)ネットワークを支える仮想ネットワーク基盤を紹介していきます。
GCPのネットワーク開発チームでは、「Andromeda」と呼ばれるこの仮想ネットワーク基盤を5年以上にわたって開発してきました。今回は、Andromedaの基本的な設計ポリシーを紹介したいと思います。
Andromedaのハイブリッド・アーキテクチャー
仮想マシンが稼働する物理ホスト上に仮想ネットワークを構成する方法の一つに、OpenFlowに対応したソフトウェアスイッチであるOpen vSwitchを利用した実装があります。Andromedaでは、独自にカスタマイズしたOpen vSwitchを用いて、「Hoverboard Model」と呼ばれる独自のアーキテクチャーを実装しています。これは、ネットワークフローごとに次の3種類のパスを使い分けるというもので、低レイテンシーが要求されるフローは可能な限りFast Pathで処理する一方、重要度の低いフローはHoverboard(外部のソフトウェアスイッチ)に転送することで、物理ホストの負荷を下げるという仕組みになります。
Fast Path:OpenFlowのフローテーブルによって、対向の物理ホストへ直接にパケットを転送(物理ホスト上で専用に予約されたCPUコアによって、Linuxカーネルをバイパスして高速に実行)
Guest VM Coprocessor:CPU時間を必要とする複雑な処理をFast Pathからオフロードして実行(物理ホスト上の専用のスレッドで実行)
Hoverboard:外部のソフトウェアスイッチであるHoverboardにパケットを転送してルーティングを実施
それぞれの詳細については、次回以降に説明することにして、まずは、このようなアーキテクチャーを採用した背景をまとめておきましょう。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai273.html