研究方針

題目

PCクラスタ向けOS「SSS-PC」のための負荷分散スケジューラの設計

Design of a load balancer on the OS "SSS-PC" for a PC cluster

設計

本スケジューラーは、各ノードの負荷情報に基づき、タスクを適当なノードにマイグレーションすることによってロードバランシングを実現する。

負荷情報の取得方法・内容

情報開示機構を用いる。

アルゴリズム

ここではアルゴリズムについて検討する。スケジューラーは自ノード上のタスクを他ノードへマイグレーションするかどうか判断するが、以下の3点での判断が必要となる。

  1. マイグレーションは必要かどうかの判断
  2. マイグレーションさせるタスクの選択
  3. マイグレーション先の選択

1.については、自ノード全体の負荷と他の各ノードそれぞれの負荷情報を比較し、他のノードより著しく高いと判断された場合にはマイグレーションすべきと判断する必要がある。

2.については、自ノードのうち「他ノードに移動させると負荷が平均化されるタスク」を選択する必要がある。

負荷が極端に大きいタスクを他ノードへ移動させると、移動先ノードの負荷が大きくなりすぎて再びマイグレーションが発生し、これを繰り返すことでマイグレーションばかりが発生する可能性がある。

逆に負荷が極端に小さいタスクを他ノードへ移動させると、負荷の変化があまり起こらないため何度もマイグレーションが発生する可能性がある。

よって、「マイグレーションを行うと自ノード・相手先ノード共に負荷が平均化されるタスク」を選択する必要がある。

3.については、負荷が最も小さいノードを選択すべきなのかそうでないのかを検討すべきである。

負荷が最も小さいノードを選択するようにすると、複数のノードから一斉にタスクが移動して一気に負荷がかかる可能性や、移動するタスクの負荷の大きさによってノード毎にばらつきが出る可能性がある。

マイグレーションとシグナル

ここではマイグレーション実行に必要なシグナルについて検討する。

マイグレーションの仕組みは以下の3ステップである。

  1. スケジューラーはシグナルを発行する
  2. 各タスクはシグナルをキャッチする
  3. 各タスクはマイグレーションを実行する

キーワード

SSSPCのロードバランシング

ロードバランシング

SSS-PC

SSS-PCの特徴より引用:

この二つは何が違うの……?

その他の特徴:

Lab/SSS-PC


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS