2つの主要な負荷分散アルゴリズムの原理に関する研究

2つの主要な負荷分散アルゴリズムの原理に関する研究

負荷分散デバイスの製造は負荷分散アルゴリズムに基づいているため、ここでその原理を調べてみましょう。ポーリング スケジューリング アルゴリズムと重み付けポーリング スケジューリング アルゴリズムが含まれます。これらは両方とも、負荷分散アルゴリズムの中核となる内容です。 2 つのアルゴリズムの導入は、負荷分散の概念を理解するのにも役立ちます。

負荷分散アルゴリズム - ラウンドロビンスケジューリング

ラウンドロビン スケジューリング アルゴリズムの原理は、ユーザーからのリクエストを 1 から N (内部サーバーの数) まで順番に内部サーバーに分散し、その後サイクルを再開することです。これは、負荷分散アルゴリズムの中核的な内容でもあります。

このアルゴリズムの利点は、そのシンプルさです。現在のすべての接続のステータスを記録する必要がないため、ステートレス スケジューリングになります。

ポーリングスケジューリングアルゴリズムプロセス

N 個のサーバーの集合 S = {S1、S2、…、Sn} があり、インジケータ変数 i が最後に選択されたサーバー ID を表すものとします。変数 i は N-1 に初期化されます。アルゴリズムは次のとおりです。

  1. j = i;
  2.   する   
  3. {
  4. j = (j + 1) mod n;
  5. 私 = j;
  6.    Siを返します
  7. } while (j != i);
  8. NULLを返します

このアルゴリズムの論理的な実装を図 1 に示します。

図1 ポーリングスケジューリング実装のロジック図

ポーリング スケジューリング アルゴリズムは、すべてのサーバーの処理パフォーマンスが同じであると想定しており、各サーバーの現在の接続数や応答速度は考慮しません。要求サービス間の間隔が大きく異なる場合、ポーリング スケジューリング アルゴリズムによってサーバー間の負荷の不均衡が発生する可能性があります。

したがって、このバランス調整アルゴリズムは、サーバー グループ内のすべてのサーバーのハードウェアとソフトウェアの構成が同じで、平均的なサービス要求が比較的バランスが取れている状況に適しています。#p#

重み付けラウンドロビンスケジューリング

上記のポーリング スケジューリング アルゴリズムは、各サーバーの処理能力を考慮していません。実際の状況では、そうではない場合があります。各サーバーの構成とインストールされているビジネス アプリケーションが異なるため、処理能力は異なります。そのため、各サーバーの処理能力に応じて異なる重みを割り当て、対応する重みでサービス要求を受け入れることができるようにします。

負荷分散アルゴリズム - 重み付けラウンドロビンスケジューリングアルゴリズムプロセス

この負荷分散アルゴリズムは、ラウンドロビン スケジューリング アルゴリズムのアップグレード バージョンです。サーバー セット S = {S0、S1、…、Sn-1} があるとします。W(Si) はサーバー Si の重みを表し、インジケータ変数 i は最後に選択されたサーバーを表し、インジケータ変数 cw は現在のスケジュールの重みを表し、max(S) はセット S 内のすべてのサーバーの最大重みを表し、gcd(S) はセット S 内のすべてのサーバーの重みの最大公約数を表します。変数 i は -1 に初期化され、cw はゼロに初期化されます。アルゴリズムは次のとおりです。

  1. の間{
  2. i = (i + 1) mod n;
  3.    (i == 0)の場合{
  4. cw = cw - gcd(S);
  5.       (cw <= 0)の場合{
  6. cw = 最大値(S);
  7.               (cw == 0)の場合
  8.               NULLを返します
  9. }
  10. }
  11.    (W(Si) >= cw)の場合
  12.      Siを返します
  13. }

このアルゴリズムの論理的な実装を図 2 に示します。ここでは、4 つのサーバーの処理能力が 3:1:1:1 であると想定しています。

加重ラウンドロビン スケジューリング アルゴリズムは、さまざまなサーバーの処理能力を考慮するため、このバランス調整アルゴリズムにより、高性能サーバーの使用率を高め、低パフォーマンス サーバーの過負荷を回避できます。そのため、実際のアプリケーションではより一般的です。

要約する

2 つの主要な負荷分散アルゴリズムであるラウンドロビン アルゴリズムと加重ラウンドロビン アルゴリズムは、実装が簡単で実用的です。現在、ほぼすべての負荷分散デバイスがこの機能を提供しています。

<<:  LVS 負荷分散モードとアルゴリズムの概要

>>:  公開鍵暗号を解読することは可能ですか?

ブログ    

推薦する

PytorchのNNモジュールと最初のニューラルネットワークモデルを実装する

PyTorch でモデルを構築します (主に NN モジュール)。 nn.リニアnn.Linear ...

...

超低消費電力センサーソリューションがスマートビルディングを実現する方法

現在、モノのインターネット(IoT)のインフラストラクチャはすでに非常に完成しており、その適用範囲は...

人工知能のトップ 10 トレンド。チャンスをつかんで全力で取り組みましょう。さもないと、私たち全員が解雇されてしまいます。

トレンド1:中国の潜在力が爆発し、米国の優位性が揺らぐ[[226879]] 2017年、中国の人工知...

人工知能が新たな技術を切り開く:10年以内に犬が人間と会話できるようになる

本日北京時間のデイリーメール紙の報道によると、有名な技術専門家は、今後10年間で人工知能技術の発展に...

「中国製チップ」の20年と新たな時代

[[285892]] 「自信を持った国と民族だけが、未来への道を着実に前進することができます。木の高...

...

...

信頼とセキュリティの分野におけるデータサイエンスの典型的な 7 つの使用例

信頼とセキュリティとは何でしょうか? 現在の世界ではどのような役割を果たしているのでしょうか? 多く...

実は不滅なんです!冬季オリンピックの水中聖火リレーはロボットでどのように行われたのでしょうか?どのようなハイテク技術が使われたのでしょうか?

2022年北京冬季オリンピックが新たなニュースをもたらしました。冬季オリンピックでの「ブラックテク...

ここでは、あなたが歩むかもしれない未来の世界を描いた、自動運転に関する 73 の特徴を紹介します。

自動運転車の登場は私たちの生活のあらゆる側面に影響を与え、変化をもたらすでしょう。未来はどうなるの...

AI は鉱業をどのように改善できるのでしょうか?

[[279594]]データとマイニングという言葉を組み合わせると、IT とテクノロジーが連携して企...

科学サブ出版物:人間の脳は加速学習メカニズムを備えており、その計算能力は最新のAIアルゴリズムを上回っている

[[323595]]機械学習とディープラーニングのアルゴリズムは、脳内のニューロンを結びつけるシナプ...