n個のErlangノードのクラスターがあり、そのうちのいくつかはLAN上にあり、他のノードはWANを使用して(つまり、インターネット経由で)接続されていると仮定すると、a)異なる帯域幅の可用性/動作に対応するための適切なメカニズムは何ですか? (たとえば、遅延が誘発される)およびb)計算能力が異なるノード(またはそのことについてはメモリの制約さえある)?
言い換えると、計算能力の高いローカルノードを、レイテンシが高く強力でない可能性のあるローカルノードよりも優先する方法、または送信レイテンシの高い高性能リモートノードを優先して、これらのプロセスを具体的に実行する方法を教えてください。比較的巨大な計算/送信(つまり、メッセージごと、時間単位ごとの完了した作業)の比率?
私は主に、クラスター内の各ノードにベンチマークプロセスを送信して初期化中に実行することでベンチマークを行うことを考えています。これにより、メッセージ処理に関連するレイテンシーと全体的な計算速度を計算できます(つまり、ノードを使用します)。 -ノードが任意のタスクで終了する速度を決定するための特定のタイマー)。
おそらく、そのようなことは、一方では代表的なデータ(つまり平均化データ)を取得するために繰り返し実行する必要があり、他方では動的に調整できるようにするために実行時に役立つ可能性さえあります実行時条件の変更に。
(同じ意味で、他のマシンで実行されているノードよりもローカルで実行されているノードを優先したい場合があります)
これは、特定のノードが特定のジョブを処理できるように、内部ジョブディスパッチを最適化することを目的としています。