CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
前回に続いて、2022年に公開された論文「Hashing Design in Modern Networks: Challenges and Mitigation Techniques」を紹介していきます。この論文では、ECMPなどのマルチパス技術を用いた現代のデータセンターネットワークにおける、負荷分散用のハッシュ関数に関わる課題が説明されており、論文の筆者らが考案した、数学的な理論に基づいた解決策が紹介されています。今回は、実環境のデータを用いたシミュレーションで、これらの解決策の有効性を検証した結果を紹介します。
はじめに、Color recombiningについては、図1に示すClosトポロジーのネットワークで検証しています。一般的に使用される「Per-stageハッシング」の設定と、Color recombiningを利用した設定のそれぞれにおいて、実環境で取得したネットワークトラフィックを流した場合に、各ネットワークリンクの使用率にどの程度の偏りがでるかを検証しています。
図1 Color recombiningの検証に使用するClosトポロジーネットワーク(論文より抜粋)
Per-stageハッシングでは、図1のS1〜S5のそれぞれのレイヤーに異なるハッシュ関数を割り当てておき、同じレイヤー内のスイッチは、ハッシュ関数のシードをランダムに設定します。一方、Color recombiningでは、同じレイヤー内でもスイッチごとに独立したハッシュ関数を使用して、Color recombiningが発生するスイッチでのみハッシュ関数の再利用を行います。シミュレーションの結果は図2の通りで、ここでは、特定のECMPグループに属する8本のリンクの通信量が示されています。Pre-stageハッシングではリンクによって通信量に偏りがあるのに対して、Color recombiningではそれぞれのリンクの通信量がほぼ均等に保たれています。Color recombiningによって適切な負荷分散が行われていることがわかります。
図2 Per-stageハッシングとColor recombiningの比較結果(論文より抜粋)
続いて、前回の記事の図3に示した、Spineブロックを持たないネットワークトポロジーで、Coprime theoryに基づく方法を適用した場合の効果を示します。8個のサーバーブロックが相互接続された環境で、それぞれのサーバーブロックのペアに対して、互いに素な自然数のペアq1、q2を割り当てることで、近似的に独立なハッシュ関数を実現します。シミュレーションの結果は図3の通りで、ここでは、特定のサーバーブロック間を接続する16本のリンクの通信量が示されています。先ほどと同様に、Coprime theoryに基づく方法では、それぞれのリンクの通信量がほぼ均等に保たれています。
図3 Per-stageハッシングとCoprime theroyを利用した場合の比較結果(論文より抜粋)
また、Googleのデータセンターでは、これらのテクニックが実際に使用されており、実環境における測定データも論文内で紹介されています。図4の上のグラフは、Co-prime theroryを利用したネットワーク環境において、特定のスイッチから出力される8本のリンクの使用量に対する、60分間の実測値を表します。また、図4の下のグラフは、Color recombiningを利用したネットワーク環境において、特定のSpineブロックから出力される4本のリンクの使用量に対する、60分間の実測値を表します。いずれにおいても、それぞれのリンクの使用量は、ほぼ均等に保たれていることが確認できます。
図4 実環境におけるCoprime Theory、および、Color recombiningの効果(論文より抜粋)
今回は、2022年に公開された論文「Hashing Design in Modern Networks: Challenges and Mitigation Techniques」に基づいて、大規模なデータセンターネットワークにおける、ECMPを用いた負荷分散の問題点について、これを解決する2つの手法の有効性を示す検証結果を紹介しました。第147回の冒頭でも触れましたが、ECMPのように長く使われてきた技術にもまだ改善の余地があると気付かされる点で、興味深い内容の論文と言えるでしょう。
次回は、Googleのサービス群を支える認証システムに関する話題をお届けします。
Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes