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 負荷分散モードとアルゴリズムの概要

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

ブログ    
ブログ    

推薦する

Facebook、動画から学習する新たなAIプロジェクトを開始

3月30日、海外メディアの報道によると、Facebookの開発者らは、公開動画から学習できる「Lea...

従来の AGV と比較した利点は何ですか? AMRロボット業界の状況は変化する

ロボット技術の知能化は、ロボット応用分野の継続的な拡大にプラスの影響を与えています。この傾向を受けて...

IBM、海洋ゴミに関する質問に答えるAIアバターを開発

海洋ゴミは世界的な問題となっている。たとえすべてのデータを収集できたとしても、海洋問題の専門家である...

2020 年の企業向け最高の AI プラットフォーム

企業は長年にわたり、業務と分析を手作業で処理してきましたが、その結果、人件費と事務処理が増加し、最適...

...

自動運転はまだ遠いが、スマートコックピットはすでに存在している

[51CTO.com からのオリジナル記事] スマートカーといえば、真っ先に思い浮かぶのは自動運転で...

大規模モデルのニューロンを分解します!クロードチームの最新の研究が人気を集め、ネットユーザー:ブラックボックスを開けよう

ニューラルネットワークの説明不可能性は、AI の分野では常に「長年の」問題となってきました。しかし、...

よく使われる「生成AIライブラリ」の総合ガイド

皆さんこんにちは、Luga です。今日も引き続き、人工知能 (AI) エコシステムに関連するテクノロ...

AIは教育分野にどのように貢献できるのでしょうか?

調査機関Markets&Marketsの予測によると、2023年までに世界の教育業界における...

...

ディープラーニング:先入観、限界、そして未来

ブログのタイトルに使うには奇妙な言葉だとは思いますが、先日、私が今考えている疑問のいくつかにまさに当...

...