問題タブ [pbs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mpi - 3 プロセッサの MPI プログラムに同じプロセッサを割り当てる PBS スケジューラ
8 つのノードがあり、それぞれに Intel Xeon hexcore プロセッサが搭載されているクラスタで MPI プログラミングを行っています。私の mpi コードには 3 つのプロセッサが必要です。
qsub を使用してジョブを送信します。「qstat -n」を使用してジョブが実行されているプロセッサを確認すると、 cn004/0*3 のようなメッセージが表示されます。
これは、1 つのプロセッサのみで実行されているということですか??
シングルプロセッサ使用時よりも高速化していないため(ドメインサイズがどちらも同じ場合)
送信に使用するスクリプトは次のとおりです
string - ワンライナーの変数としてのコマンド置換
次のエラーが表示されます。
.
の前の番号を取得しようとしています
qdel
それをopenPBSの引数として使用して、ログインで開始したすべてのプロセスを削除できるようにしますkigumen
理想的には、これはうまくいくはずです:
これまでのところ、これだけが機能します:
しかし、一時変数のないクリーンなワンライナーが必要です。
python - Ipython 並列を使用した PBS クラスターでの登録タイムアウト
PBS スケジューリングを使用して、Linux クラスターで ipython 並列をセットアップしようとしています。
http://www.andreazonca.com/2013/04/ipython-parallell-setup-on-carver-at.htmlの指示に従っていました (公式の指示に従うのははるかに困難です)。ヘッド ノードでコマンドを実行しています。このコマンドは、ジョブを PBS を使用してスレーブ ノードに送信します (つまり、標準のクラスター構成)。
私の問題は、タイムアウトが発生することです。待機時間を 2 秒から 20 秒に増やしてみましたが、成功しませんでした。どんな助けでも大歓迎です。完全な出力は以下のとおりです。
実際には、最終的には、クラスター ヘッド ノードからではなく、ssh に接続されたラップトップから ipython コマンドを実行できるようにしたいと考えていますが、これは合理的な最初のステップだと思いました。
Andrea Zonca からのアドバイスに従って更新
追加する
なんらかの理由ですぐにではありませんが、役立つようです。
しかし、それでもうまくいきません:
私は一緒に走ります
次に、ヘッド ノードで実行します。
しかし、からの出力
は
ということで走ってみました
次に nmap を実行します
これは、ポートが開いていることを示しており、十分な telnet がスレーブ ノードからの応答を返します。
しかし、上記の元のコマンドを実行すると、
nmap は、開いているポートを表示しません。したがって、問題は、qsub ファイルで実行される ipengine が、コマンド ラインから実行される ipcontroller のようにポートを開いていないように思われます。
qsub ファイルは次のとおりです。
ここに私の /home/username/.ipython/profile_default/ipcluster_config.py があります:
cluster-computing - 1 つのファイルからの複数の mpirun と複数のファイルの実行
私は管理者ではなく、ロックされた構成になっている古いクラスターで作業しているため、問題が発生しています。システムは元の mpich を使用し、クラスター スクリプトは実行用に parallel::mpi を使用して Perl で記述されています。このモンテカルロ スクリプトは、実行する 5000 個のテスト ケースを生成し、クラスターで起動します。元のコードを調べたところ、約 500 (5000 ではなく) のテストが行われ、それらが 3 つのファイルにまとめられていました。ファイルは、一度に最大約 260 のファイルをクラスターに渡しました。システム管理者になぜプログラマーがこれを行ったのかを尋ねたところ、mpich(1) では一度に 260 を超えるジョブを送信できないためだとのことでした。それが mpich1 のものか、parallel::mpi のものかはわかりません。
そこで、Perl プログラムを書き直して、各ファイルが約 250 ケースの 19 ファイルを生成し、5000 ケースすべてを実行できるようにしました。私の質問は、通常、pbs_mpirun コマンドで実行および起動するファイルが 1 つあるということです。元のプログラムには、3 つの個別の起動 pbs ファイルがありました。これで 19 個になりました。それらすべてを同じファイルから起動できますか? mpirun コマンドの間にある種のスリープを入れる必要がありますか? クラスター キューの設定方法では、一度に 1 人のユーザーのみが同じキューで 1 つのジョブを実行できます。したがって、n64 をキューに入れるために複数の実行を起動するために起動した場合、一度に実行されるのは 1 つだけです。これは問題ありませんが、19 の実行を送信し、qstat リストを埋めて 1 つのモンテカルロを完了する必要はありません。に。
これはよくあることかもしれませんが、私は対処したことがないので、アドバイスをいただければ幸いです。以下は、最初の Perl クラスター ファイルを起動する私の PBS ファイルです。Perl クラスター ファイルは mpi_wokernode_1.pl - mpi_workernode_19.pl です。
bash - PBS スクリプトを実行し、bash スクリプト内で出力を後処理する
PBS キューに送信するジョブがたくさんあり、出力は後でローカルで後処理されることになっています。ジョブは似ているので (手動でそれほど頻繁に変更したくありません)、ローカルで PBS ジョブ スクリプトを生成してからジョブを送信する bash スクリプトを自分で作成しました。私の質問は次のとおりです。PBS ジョブが終了するまで bash スクリプトを待機させてから、後処理を開始するにはどうすればよいですか? (ジョブのステータスを常にチェックすることはオプションではありません。) これを行うにはどのような可能性がありますか?
すべてのヒント、ヒント、または解決策に感謝します!
編集:コメント(感謝)に示されているように、いくつかの編集:
- PBS = ポータブル バッチ システム
- ドキュメントはこちらから入手できます: http://resources.altair.com/pbs/documentation/support/PBSProUserGuide12.1.pdf
- 考えられる解決策について考えたところ、うまくいかない次の解決策を思いつきました。私の bash スクリプトは、ジョブのウォール クロック タイムとして要求された時間だけ待機することができました。ただし、複雑な問題が 2 つあります。1 つ目は、ジョブにそれほど時間がかからず、早期に終了する可能性があるため、bash スクリプトの待機時間が長すぎることです。次に、ジョブがキューに入れられ、すぐには実行されない可能性があるため、bash スクリプトの待機時間が短すぎる可能性があります。
編集 2: 以下に示すように常にインタラクティブに実行できるかどうかわからないので、次のことを考えました: 終了直前に PBS ジョブ スクリプトで (空の) ファイルを作成します。私のbashスクリプトは、(whileループを使用して)そのファイルが存在するかどうかを(たとえば)数分ごとにチェックします。存在する場合、ジョブが終了したことがわかり、作成したばかりの (空の) ファイルを削除することで後処理を開始できます。このように、最大数分の遅延しかなく、実際にはリソースは必要ありません。これは間違いなく理想的ではありませんが、一種の回避策です。より実用的なアイデアは高く評価されます。
PBS に直接関係なくても、どんな考えでも大歓迎です。
カリ
bash - PBS の特定のノードにジョブを送信する方法
PBS/TORQUE で特定のノードにジョブを送信するにはどうすればよいですか? ノードの後にノード名を指定する必要があると思います。
ただし、これは機能していないようで、その理由はわかりません。この質問はここ PBS で行われ、使用するノードを指定してください
ここに私のサンプルコードがあります
また、ジョブが実行されているノードを確認するにはどうすればよいですか? 詳細を示すどこかを見ました$PBS_NODEFILE
が、うまくいかないようです。