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

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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

識別的か生成的か: どちらが視覚的理解の未来を表すのでしょうか?

これまで、視覚システムに関する基本的な研究の多くは、動物に画像を見せ、そのニューロンの反応を測定し、...

スタンフォード大学が長いテキストをよりスムーズに生成する時間制御方式を導入、その論文がICLR 2022に選出される

近年、GPT-2 を含む大規模言語モデルはテキスト生成において大きな成功を収めています。しかし、大規...

ロボットは感染症の蔓延を抑制するためにどのように役立つのでしょうか?

COVID-19の時代において、ロボット工学とテクノロジーは協力して伝染性ウイルスの拡散を防いでい...

2020年にはAI技術はさらに環境に優しくなる

人工知能(AI)技術の環境への影響は最近、幅広い注目を集めていますが、これは今後10年間でAIの中心...

PyTorchの基本操作の詳細な説明

[[406246]] PyTorch とは何ですか? PyTorch は、最大限の柔軟性と速度を備え...

...

ブロックチェーンを使用して AI スマートエコノミーを構築するにはどうすればよいでしょうか?

人工知能(AI)は、機械によって発揮される知能であるという点で人間の知能とは異なります。しかし、直接...

AIバーチャルアシスタント:私たちはオペレーターの新たなお気に入りです

人工知能が将来のビジネスやデジタル変革の鍵となる可能性が高いことをさまざまな分野の人々が一般的に認識...

...

フィンテックとAI: 金融におけるAIの活用方法

フィンテックの人工知能と機械学習技術は、大規模なデータセットをリアルタイムで分析し、改善を図るのに役...

...

大雨後のドローンと衛星ネットワーク

7月21日、鄭州市の西40キロにある米河鎮は停電、インターネット、道路が遮断され、完全な情報孤島とな...

科学研究ビッグデータにおける人工知能技術の応用

数十年にわたる技術開発を経て、人工知能は新たな時代、つまり人工知能の時代に入りました。新しい時代を迎...

ボストン大学の「Platypus-70B」がHugging Face大型模型ランキングでトップに!効率的なデータセットと独自のLoRA微調整が鍵

Hugging Faceのオープンソース大型モデルのランキングがまた更新されました。今回のランキング...