1

複数のノードがアクティブなコンドル クラスタがあります。

しかし、ジョブを送信すると、単一のノード (つまりマスター ノード) でしか実行されません。私は、Condor が利用可能なリソースに基づいてジョブを自動的に分配することを認識しています。

しかし、condor にすべてのノードを強制的に使用させたい場合はどうすればよいでしょうか? 複数のノードと単一のノードで実行する場合の処理​​時間を評価するためだけですか?

送信ファイルに requirements = Machine == "hostname1" && Machine == "hostname2" を追加しようとしましたが、機能しません。

4

3 に答える 3

1

何をしようとしているのかによっては、ここで概説されているように、パラレル ユニバースを使用することをお勧めします: http://research.cs.wisc.edu/htcondor/manual/current/2_9Parallel_Applications.html

パラレル ユニバース ジョブではmachine_count、1 つのタスクをキューに入れるだけで、マシン数を指定できます。

于 2014-12-25T03:24:38.000 に答える
1

あなたが求めていることを完全に理解していないことを恐れています。どうにかして助けられるか見てみましょう。いくつかのシナリオを見ることができます:

  1. コンドルは、利用可能なマシンの数に関係なく、ジョブをマスター ノードで実行するようにスケジュールするだけです。
  2. Condor は、使用可能なすべてのマシンでジョブをスケジュールしています。しかし、あなたがやろうとしているのは、複数のマシンを利用する特定の仕事を得ることです。

ケース 1. サブミット ファイルまたはプール設定のいずれかで怪しいことが起こっています。condor_status複数のマシンが返され、プールのセットアップは問題ないと仮定します。この場合の典型的な落とし穴は次のとおりです: ジョブに を指定しない場合Requirement、Condor は 1 を挿入します。デフォルトでは、Condor は、サブミット ノードと同じ OS とアーキテクチャを持つマシンで実行されるジョブを要求します。これは、異質なプールで数回私を噛みました;-)

In case 2. you will have to make sure that your executable can make use of multiple machines (e.g. by way of MPI) and you need to tell Condor about it. One way to do that is to use the Parallel universe. Another way is to use a classic master/worker architecture where the workers are persistent Condor jobs.

于 2015-09-02T16:55:38.277 に答える