We're using SGE (Sun Grid Manager). We have some limitations on the total number of concurrent jobs from all users.
I would like to know if it's possible to set a temporary, voluntary limit on the number of concurrent running jobs for a specific user.
For example user dave
is about to submit 500 jobs, but he would like no more than 100 to run concurrently, e.g. since he knows the jobs do lots of I/O which stuck the filesytem (true story, unfortunately).
Is that possible?
You can define a complex with
qconf -mc
. Call it something likehigh_io
or whatever you'd like, and set the consumable field toYES
. Then in either the global configuration withqconf -me global
or in a particular queue withqconf -mq <queue name>
sethigh_io=500
in the complex values. Now tell your users to specify-l high_io=1
or however many "tokens" you'd like them to use. This will limit the number of concurrent jobs to whatever you set the complex value to.The other way to do this is with quotas. Add a quota with
qconf -arqs
that looks something like: