2

ノードがn Erlangノードのクラスタを持っていると仮定します。そのうちのいくつかは私のLAN上にあるかもしれませんが、WANを使って(つまりインターネット経由で)接続しているかもしれません。 )異なる帯域幅の可用性/挙動(例えばレイテンシに起因する)b)異なる計算能力を持つノード(またはその問題のメモリ制約さえも)?Erlangノードの優先順位付け

つまり、レイテンシが高く、パワフルではないローカルノードに優先順位を付けるにはどうすればよいでしょうか、あるいは、送信レイテンシの高い高性能リモートノードに具体的に優先順位を付けるにはどうすればよいですかこれらのプロセスは、比較的大きな計算/送信(つまり、メッセージごと、時間単位ごとに完了した作業)の割合で実行しますか?

基本的には、初期化中に実行するベンチマークプロセスを送信することで、クラスタ内の各ノードをベンチマークすることを考えています。これにより、メッシングに伴うレイテンシを計算することができます。ノード特有のタイマーを使用して、ノードがどのようなタスクでどれくらい速く終了するかを決定する)。

おそらく、そのようなものは、一方では代表的なデータ(すなわち、平均化データ)を得るために繰り返し実行されなければならないでしょうし、他方では実行時には変化する実行時条件に動的に調整することができます。

(同じ意味で、1は、おそらく他のマシン上で実行されているものよりもローカルで実行しているノードの優先順位を決定したいと思う)

これは、特定のノードは、特定のジョブを処理するようにうまくいけば、内部の仕事の派遣を最適化することを意図されるだろう。

答えて

1

内部LAN/WANのみ(WANはサンフランシスコからロンドンなど)でこれと同様のことを行っています。これらの要因の組み合わせに煮詰め問題:

  1. 単に要求/結果の関数として、ローカル(内部)コール
  2. ノードへのネットワーク遅延(上のリモート呼び出しを行う際に、オーバーヘッドペイロード)
  3. リモートノード
  4. 共有「静的」データセットがあった場合の呼のバッチ処理は、パフォーマンスの向上を提供するかどうか関数
  5. を実行するために必要な計算能力の性能。我々は積極的に往復時間を測定するためにプローブメッセージを使用して測定し、我々が行わ実際のコールからの情報を照合2.ためのオーバーヘッド(それは他と比較してごくわずかであった)

    を想定していない場合1.

我々は4及び5について

(これはノード上でアクティブな現在の負荷に応じて変化)ノード上で測定され、彼らはその情報をブロードキャストしていた3.

我々は、所与のバッチについて実験的に働い

その後、呼び出し元は、一括呼び出しの最小ソリューションを取得するように解決しました(このケースでは、一連のデリバティブの価格設定を行いました)。そして、それらをバッチでノードに送り出しました。

このテクニックを使用して計算グリッドの利用率を大幅に上げましたが、かなりの労力でした。グリッドはこの環境だけで使用されるという利点がありましたので、より多くの制御ができました。インターネットミックス(可変待ち時間)とグリッドの他のユーザー(可変パフォーマンス)を追加すると、収益が減少する可能性があります。

+0

ご協力いただきありがとうございます。私は想像していた(そして私が質問で描いたこと)。このようなシナリオが、何らかの形のインフラストラクチャ(OTPを使用しているなど)によってサポートされるようになるのは興味深いことです。本当に私のシナリオにとても近いので、私はあなたの答えを受け入れました。 – none

1

あなたが話している問題は、グリッドコンピューティングのコンテキストでさまざまな方法で取り組まれています(たとえば、Condor参照)。これをより完全に議論するためには、いくつかの追加情報が必要であると考えています(解決すべき問題の均質性、ノードに対する制御の程度[予期しない外部負荷などがありますか?

適応ジョブディスパッチャーの実装では、通常、使用可能なリソースを調べる頻度を調整する必要があります(そうしないと、プロービングによるオーバーヘッドがパフォーマンスの向上を上回る可能性があります)。

理想的には、ベンチマークテストを使用して、特定の問題の計算硬度を予測できる経験的(統計的)モデルを作成することができます(良好なドメイン知識と、実行速度が速く、抽出が簡単)、もう1つは通信オーバーヘッドを予測するためのものです。両方を組み合わせて使用​​すると、実際の実行時間をフィードバック/報酬(例:reinforcement learningを介して)を考慮に入れて、予測モデルに基づいて決定を下し、改善するシンプルなディスパッチャを実装することが可能になります。

関連する問題