web-dev-qa-db-ja.com

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

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

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

たとえば、ユーザーdaveは500個のジョブを送信しようとしていますが、100個以下で同時に実行したいと考えています。彼は仕事がファイルシステムを動かさない多くのI/Oをしていることを知っているので(残念ながら実話)。

それは可能ですか?

9
David B

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
 }
9
Kamil Kisiel