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

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

ブログ    
ブログ    
ブログ    

推薦する

Google AIのスターがPika: ビデオ生成Lumiereの創設科学者に就任

動画世代が猛スピードで進化する中、ピカは偉大なる将軍を迎える―― Google の研究者である Om...

中国移動のチーフサイエンティスト、馮俊蘭氏との独占インタビュー:AIビジネスアプリケーションは何度も融合する必要がある

「インテリジェンス」が本格的に到来!人工知能(AI)は、科学技術革命と産業変革の新たなラウンドにおけ...

「柯潔は2つの石を与えられた」が、それでもAIに負けた。プログラマーが知っておくべきトップ10のAIライブラリとフレームワークはこちら

[51CTO.comより引用] 遅かれ早かれ、この日はやって来る。イ・セドルがアルファ碁に1対4で負...

AIが産業変革を促進する仕組み

このように技術的に進歩した世界では、検査などの重要な産業プロセスは依然として非効率でコストがかかり、...

OpenAIは静かにその中核となる価値観を改訂し、汎用人工知能の構築に注力する

10月16日、OpenAIはひっそりと「コアバリュー」のリストを変更し、これまで明示的に挙げられてい...

AIを金融業界の傍観者と考えるのはやめよう

2019年には目を見張るようなAIイノベーションが数多く見られ、今後も金融業界におけるAIの影響は深...

GenAI 時代のデータ ガバナンスの青写真

ML と GenAI の世界に深く入り込むにつれて、データ品質への重点が重要になります。 KMS T...

ロボットは独自の言語を作り、将来的には自律的にコミュニケーションできるようになるのでしょうか?

[[187107]]人工知能技術は飛躍的に進歩していますが、人工知能間のコミュニケーションの問題は...

人々が家に座っていて、車が道路を走っています。自動運転は信頼できるのでしょうか?

これまで、無人運転車は基本的にテレビや映画でしか耳にしませんでした。現在、無人運転車の技術は長い間実...

音声認識が検索ボックスに取って代わり、人工知能が3つの主要な応用分野で主導権を握る

マイクロソフトのレドモンド研究所の副社長であるデュメイス氏は、ディープラーニング技術が2017年にオ...

Pythonアルゴリズムを使用して取引する方法

投資管理会社でシステム開発エンジニアとして働いていたとき、定量金融で成功するには、数学、プログラミン...

...

機械学習を利用するハッカーを心配していますか?データを盗む7つの新しい方法を知る

機械学習は、大規模なデータセットを分析してパターンを識別する能力があることで知られています。基本的に...

AI導入における7つの最大の障壁とその解決方法

COVID-19 により、企業はデジタル変革の取り組みを数か月、場合によっては数年も加速させるようプ...