1

qsubを使用して配列ジョブをクラスターに配置すると、グローバル変数 SGE_TASK_ID が配列ジョブ ID に設定されます。これをクラスターで実行するシェル スクリプトで使用します。この場合、各アレイ ジョブは SGE_TASK_ID に基づいて異なる処理を行う必要があります。これはクラスタ スケジューラがこれを行う一般的な方法ですか、それともすべての方法が異なるのでしょうか?

4

2 に答える 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 に答える