3

クラスターのすべてのノードで MPI ジョブの個別のプロセスを実行するために、sun gridending (sge) を取得しようとしています。

何が起こっているかというと、各ノードには 12 個のプロセッサがあるため、SGE は 60 個のプロセスのうち 12 個を 5 つの別々のノードに割り当てています。

各ノードで 12 のプロセス (DNA シーケンス アラインメント) が実行されているため、ノードのメモリが不足しているため、利用可能な 30 のノードのそれぞれに 2 つのプロセスを割り当てたいと考えています。

SGE にプロセスを特定のノードに明示的に割り当てることができるかどうか疑問に思っています。

ありがとう、

ポール。

4

4 に答える 4

1

並列環境の構成で「allocation_rule」を確認してください。それを使用するか、allocation_rule に $pe_slots を指定してから -pe オプションを qsub に使用することで、上記の要求を実行できるはずです。

于 2010-07-30T11:35:56.113 に答える
1

これを行うには、各ノードで 12 個のプロセッサのうち 2 個のプロセッサのみを使用するキューを定義できるキューを作成します。

コマンドを使用して、現在のキューの構成を表示できます

 qconf -sq queuename

キュー構成に次のように表示されます。このキューは、それぞれ 5 つの実行ホストと 4 つのスロット (プロセッサ) のみを使用するように名前が付けられています。

....
slots                 1,[master=4],[slave1=4],[slave2=4],[slave3=4],[slave4=4]
....

次のコマンドを使用して、キューの構成を変更します

qconf -mq queuename

次に、それらの 4 を 2 に変更します。

于 2012-01-26T13:01:55.063 に答える
0

これは、システム管理者から学んだことです。この SGE リソース リクエストをジョブ スクリプトに入れます。

#$ -l nodes=30,ppn=2

ノード ( ppn )あたり2 つの MPIプロセス30 ノードを要求します。他のユーザーも多くのジョブを実行している場合、この 30x2 レイアウトが 30 ノードのクラスターで機能するという保証はないと思いますが、試してみてください。

于 2016-08-26T13:50:52.900 に答える
0

管理ホストから、「qconf -msconf」を実行してスケジューラ構成を編集します。エディターに構成オプションのリストが表示されます。「load_factor」と呼ばれるものを探します。値を "-slots" (引用符なし) に設定します。

これは、使用中のスロットが最も少ないときにマシンの負荷が最も低いことをスケジューラーに伝えます。実行ホストのスロット数がほぼ同じであれば、均等に分散されます。他のものよりも多くのスロットを持つ実行ホストがいくつかある場合、それらが優先されますが、ディストリビューションは依然として load_factor のデフォルト値よりも均等になります (これは私のクラスターでかなりの時間変更したため、覚えていません)。前に)。

各ホストでスロットを設定する必要がある場合があります。私はこれを自分で行いました。特定のボックス セットのジョブの数を最大値よりも少なく制限する必要があるためです。これらのボックスには、他のいくつかのボックスほど多くのメモリがないためです。この load_factor 構成に必要かどうかはわかりませんが、必要な場合は、各ホストにスロット消耗品を追加できます。これを「qconf -me hostname」で行い、「complex_values」に「slots=16」のような値を追加します。ここで、16 はホストに使用させたいスロットの数です。

于 2011-08-31T04:38:37.970 に答える