3

Torque/Maui システムで複雑な Fortran MPI アプリケーションを実行しています。アプリケーションを実行すると、巨大な一意の出力 (最大 20 GB) が生成されます。それを避けるために、実行を 5 つの部分に分割する RunJob スクリプトを作成しました。

今のところ、RunJob スクリプトは最初の部分の最後で正しく停止し、正しい出力も生成します。ただし、再起動しようとすると、次のエラー メッセージが表示されます。

qsub: ジョブ実行の UID が正しくありません MSG=ruserok は、compute-0-0.local からのユーザー名/ユーザー名の検証に失敗しました

この問題は、Torque/Maui システムがデフォルトでノードがジョブを送信することを許可していないという事実に起因することを知っています。

実際、これを入力すると:

qmgr -c 'ls' | grep allow_node_submit

私は得た:

allow_node_submit = False

私は管理者アカウントを持っていません。ユーザー アカウントだけです。

私の質問は次のとおりです。

  1. ユーザーである gmgr で allow_node_submit = true を設定することは可能ですか? どのように ?(- そうじゃないと思う)
  2. 質問 1 = false の場合、これを回避する別の方法はありますか? どのように ?

ではごきげんよう。

4

1 に答える 1

3

いいえ、権限のないユーザーはキュー システムの設定を変更できません。コンピューティング ノードからの再送信を許可しない通常の理由は、非常に優れたものです。クラスターとそのすべてのユーザーを、誰かが誤って (または別の方法で) スクリプトを送信してすぐに失敗し、一度再送信することから保護するためです。複数回 - スケジューラーとキューを急速にあふれさせ、フォーク爆弾に相当するバッチ キューを生成します。このような制限があっても、スクリプト エラーが原因で、一度に何万ものジョブを誤って送信してしまう人がいます。

通常の回避策は、キュー送信ノードの 1 つに ssh し、そこからスクリプトを送信することです (たとえば、送信スクリプトの最後に)。

ssh queue-head-node qsub /path/to/new/submission/script

これは、ユーザーがそれを処理することを提案する方法です。これは明らかに、クラスター内でパスワード/パスフレーズなしの ssh を有効にしている場合にのみ機能します。これは一般的な (しかし普遍的ではない) 慣行です。

あるいは、実行を継続する一連のジョブを自動的にサブミットするだけの一般的なケースである場合は、ジョブの依存関係がサイトでどのように処理されるかを確認し、ジョブのコンボイをサブミットすることができます。順番に実行されます。

于 2014-08-29T19:07:50.200 に答える