グーグルのクラウドを支えるテクノロジー > 第65回 サーチエンジンのロードバランシング・アルゴリズム(パート2)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第65回 サーチエンジンのロードバランシング・アルゴリズム(パート2)」を公開しました。
###
はじめに
前回に引き続き、2019年に公開された論文「Cache-aware load balancing of data center applications」を元にして、サーチエンジンのロードバランシングに関するアルゴリズムを紹介します。今回は、検索文に含まれる単語から、処理を割り当てるサーバーを選択する「TARS」と呼ばれるアルゴリズム、そして、TARSによる振り分けの結果、システム全体のキャッシュのヒット率が最大になるように、サーバー群をグループ分けする方法を説明します。
TARSのアルゴリズム
まず、ロードバランシングの前提となる考え方として、前回の図1を再確認しておいてください。いま、サーバーA、B、C・・・は、それぞれに優先して担当する単語のグループが決まっているとします。そして、サーバーAがある単語tについてのPL(検索結果の候補となるWebサイトのID番号の集合)を取得する際に、データベースから読み込む必要があるデータ量(正確に言うと、メモリページ数)をw(A,t)とします。これは、該当データがキャッシュにあれば0で、キャッシュになければ、単語tに対するPLのメモリページ数に一致します。サーバーB、C・・・についても同様に、w(B,t)、w(C,t)・・・とします。ここでは、これらの値を「ウェイト」と呼びます。ウェイトの値をどう見積もるかは別にして、ここでは、まずは、これらの値は分かっているものとします。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai265.html
ソーシャルもやってます!