4

使用しているクラスターネットワークにマルチスレッドジョブを送信したかったのですが、qsubに関するマニュアルページでは、これがどのように行われるかが明確ではありません。デフォルトでは、マルチスレッドに関係なく、通常のジョブとして送信されると思います。スレッド化-しかし、これは問題を引き起こす可能性があります。つまり、同じコンピューターに多くのマルチスレッド化されたジョブを送信し、処理速度を低下させます。

誰かがこれを達成する方法を知っていますか?ありがとう。

バッチサーバーシステムはsgeです。

4

3 に答える 3

5

SGE/UGE では構成は管理者によって設定されるため、並列環境と呼ばれるものを確認する必要があります。

qconf -spl 
make
our_paraq

$pe_slots構成で1つを探します

qconf -sp make
qconf -sp our_paraq

その環境と使用したいコア数の qsub

qsub -pe our_paraq 8 -cwd ./myscript

mpi を使用している場合は、や などの構成割り当てルール ($pe_slots上記)の選択肢が増えますが、これでうまくいくはずです。$round_robin$fill_up

于 2012-09-03T20:55:28.993 に答える
0

ジョブがマルチスレッドの場合、SGEでもマルチスレッドの利点を活用できます。SGEでは、単一のジョブで1つまたは複数のCPUを使用できます。シングルプロセッサを使用するジョブを送信し、シングルプロセッサが処理できるよりも多くのスレッドを持つプログラムがある場合、問題が発生します。ジョブが使用しているプロセッサの数と、プログラムが作成しているCPUあたりのスレッド数を確認します。

私の場合、2つのスレッドを持つ1つのプロセッサを使用するJavaプログラムがあり、非常に効率的に動作します。MPIを使用していないので、同じJavaプログラムを実行用に、それぞれ2つのスレッドを持つ多くのCPUに送信して並列化します。

于 2012-01-26T13:18:25.717 に答える