qsubを使用して配列ジョブをクラスターに配置すると、グローバル変数 SGE_TASK_ID が配列ジョブ ID に設定されます。これをクラスターで実行するシェル スクリプトで使用します。この場合、各アレイ ジョブは SGE_TASK_ID に基づいて異なる処理を行う必要があります。これはクラスタ スケジューラがこれを行う一般的な方法ですか、それともすべての方法が異なるのでしょうか?
質問する
168 次
2 に答える
0
ほとんどのスケジューラーにはこれを行う方法がありますが、セットアップによって多少異なる場合があります。TORQUEでは、変数は$ PBS_ARRAYIDと呼ばれますが、同じように機能します。
于 2012-07-20T22:34:17.243 に答える
0
すべてのクラスタースケジューラーは配列ジョブを実行しますか
いいえ。多くの人がそうしていますが、すべてではありません。
もしそうなら、彼らはSGE_TASK_IDアレイIDを設定しますか?
SGE_TASK_IDを設定するのはGridEngineのみです。これは、GridEngineで変数が呼び出されるだけだからです。他のクラスターミドルウェアは、セマンティクスが異なる、名前が異なります。
質問の目的が少し不明確ですが、さまざまなクラスターミドルウェア/ロードバランサー/スケジューラーで実行されるプログラム/システムを作成する場合は、DRMAAを調べる必要があります。これにより、SGE_TASK_IDなどの変数が抽象化されます。
于 2012-11-27T08:44:22.483 に答える