賢い負荷分散アルゴリズム: 頭を使って

賢い負荷分散アルゴリズム: 頭を使って

負荷分散技術は現在ではどこにでもありますが、基本的にはまだ使用段階であり、その核心は十分に理解されていません。実際に問題が発生した場合、何が原因なのかを知ることは難しく、Google や Baidu に頼るしか方法がない場合があります。 したがって、いくつかの核となる事柄を理解しておくとよいでしょう。

負荷分散の一般的なプロセスは、各サーバーから随時情報を収集するか、各サーバーが情報を積極的に報告し、それが構成コアによって保存され、重みが計算され、対応するアルゴリズムに従ってサービス マシンが選択されます。 (もちろん、これはこの記事の主題ではありませんし、私が言っていることは正しくないかもしれません)

私が紹介したいのは、重みに基づいてマシンを選択するための次のような巧妙なアルゴリズムです。

  1. int chooseOneRoute ( LB_SvrInfo * & pSvr )
  2. {
  3. ダブルdblTotalWeight = 0.0;
  4. 整数i = 0;
  5. time_t curTime =時間( NULL );
  6. //重みの計算方法はLateメソッドです
  7. ( curTime - calWeightTime >= CAL_WEIGHT_TIME_INTERVAL ) の場合
  8. {
  9. 重量を計算します。
  10. }
  11. //まず各サーバーの重みを合計します
  12. ( i = 0; i < MAX_SERVER_NUM; i++ )の場合
  13. {
  14. if ( !oServerInfo[i].isOkForRoute() )続行します
  15. dblTotalWeight += oServerInfo[i].getWeight();
  16. }
  17. dblTotalWeight *= rand() / ( RAND_MAX + 1.0 );
  18. //減算を行う
  19. ( i = 0; i < MAX_SERVER_NUM; i++ )の場合
  20. {
  21. if ( !oServerInfo[i].isOkForRoute() )続行します
  22. dblTotalWeight -= oServerInfo[i].getWeight();
  23. // 対応するサーバーを探す
  24. dblTotalWeight < 0 の場合、break;
  25. }
  26. pSvr = &(oServerInfo[i]);
  27. 0を返します
  28. }

段階的な説明は次のとおりです。

まず各マシンの重量値を計算して保存します。

[[214964]]

各機械の重量を順番に合計します。これは、各機械が総重量に占める割合に相当します。

乱数を取り、0 から 1 の間のランダムな値を取得し、それを選択したマシンのマークとして合計重量に掛けます。

そして、各機械の重量を順に減算します。選択した機械の重量範囲まで減算すると、機械番号が得られ、機械が選択されます。

アルゴリズム図は次のとおりです。

サーバーの重みが大きいほど、線分上で占める時間が長くなり、乱数によって選択される可能性が高くなります。

最初は数学者が考え出した公式だと思っていましたが、原理は驚くほど単純でした。つまり、良いものは必ずしも複雑ではなく、見た目が素晴らしいものは必ずしも複雑ではありませんが、ほとんどの人の想像を超えていることは間違いありません。

<<:  PaddlePaddleディープラーニングオープンソースプラットフォーム:中国のAI船が皆の漕ぎを待っている

>>:  2018年は人類の墓掘り元年となるのか?人工知能のせいではない

ブログ    
ブログ    
ブログ    

推薦する

...

人工知能に対する2つのアプローチの戦い

[[248047]] (AIの2つのルート)ホフスタッターは1995年に予測した。 (人工知能におい...

...

人工知能による空中戦闘の時代が到来し、エースパイロットは職を失うことになるのだろうか?

最近、J-10やJ-20など我が国の先進的な国産戦闘機の開発に成功した中国航空工業集団の成都航空機設...

AIの背後にあるエンジンを理解する、テクノロジー愛好家が知っておくべき4つの機械学習アルゴリズム

人工知能は、車の運転、バーでのミキシング、戦争など、驚くべきことを行っていますが、ロボットマスクが脚...

データから洞察まで、IBMは企業の人工知能への取り組みを加速します

[51CTO.com からのオリジナル記事] インテリジェンス + の時代では、データは企業の中核資...

警告! 「リップリーディング」キーでデータを盗む、AIは本当に怖い

コンピューターに頼って悪者を即座に見つけることができれば素晴らしいのですが、問題は AI システムが...

TransformerがCNNバックボーンネットワークを活性化、HKUとTencentの視覚的自己教師あり表現学習CARE

自己教師あり表現学習は、過去 2 年間で非常に人気が高まっています。機械学習分野のリーダーであるジェ...

ヤン・ルカン氏ら専門家が2019年のAIの発展動向を予測

[[256869]]左から右へ: Cloudera ML ゼネラルマネージャーの Hilary Ma...

...

...

...

AI が加速的な進化を促進 Qualcomm AI & IoT 開発技術オープンデーが間もなく開催

携帯電話からウェアラブルデバイス、翻訳製品まで、人工知能は人々の日常生活に広く浸透しています。 5G...

AIビッグモデルがついにデータ争奪戦に参戦

現在、ビッグモデルは産業実装の初期段階にあり、高品質のデータはビッグモデルの産業化における重要な要素...

米国、人工知能に関する大統領令を発表

人工知能には大きな可能性があり、その可能性と危険性の両方を兼ね備えています。 AI を責任を持って使...