はじめに
前回に引き続き、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)・・・とします。ここでは、これらの値を「ウェイト」と呼びます。ウェイトの値をどう見積もるかは別にして、ここでは、まずは、これらの値は分かっているものとします。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。