SGEでユーザーごとに実行中のジョブの最大数を設定するにはどうすればよいですか?


9

SGE(Sun Grid Manager)を使用しています。すべてのユーザーからの同時ジョブの合計数にはいくつかの制限があります。

特定のユーザーの同時実行ジョブの数に一時的な任意の制限を設定できるかどうかを知りたいのですが。

たとえば、ユーザーdaveは500個のジョブを送信しようとしていますが、たとえば、ジョブがファイルシステムをスタックする大量のI / Oを実行していることを知っているため(実際の話、残念ながら)、100個以下のジョブを同時に実行したいと考えています。

それは可能ですか?

回答:


9

で複合体を定義できますqconf -mc。好きなhigh_io名前を付けて、consumableフィールドをに設定しYESます。次に、複雑な値が設定されたグローバル設定qconf -me globalまたは特定のキューのいずれかで。次に、ユーザーに、使用する「トークン」を指定するように指示します。これにより、同時実行ジョブの数が複雑な値に設定したものに制限されます。qconf -mq <queue name>high_io=500-l high_io=1

これを行うもう1つの方法は、クォータを使用することです。qconf -arqs次のようなクォータを追加します。

 {
        name         dave_max_slots
        description  "Limit dave to 500 slots"
        enabled      true
        limit        users {dave} to slots=500
 }

カミルに感謝し、返信が遅くなってすみません。私はに非常に慣れていないので、いくつかフォローアップしqconfます。最初の提案について、もう少し明確にしていただけますか?「消耗品」とは?述べたように、私は単純にユーザーに伝えるfoは、設定した後qsub-l high_io=1
David B

1
基本的に、複合システムは、-lへの切り替えを伴うジョブが要求できる価値のあるリソースですqsub。コンプレックスを消費可能に設定することにより、ジョブがそのコンプレックスを要求したときに、使用可能な数が減少することを意味します。したがって、キューに500のhigh_ioコンプレックスがあり、ジョブが20を要求する場合、他のジョブに利用できる480があります。例のように、複合体を要求します。
Kamil Kisiel 2010

カミルありがとう。申し訳ありませんが、投票できません(まだ十分な評判がありません)。
デビッドB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.