Hi,

Am 27.02.2014 um 13:18 schrieb Riccardo Murri:

> Hello,
> 
> I resurrect this old thread because the solution using RQS has run
> into some unforeseen downsides, so I'm asking for help again.
> 
> We have a queue that is reserved for short-duration jobs (runtime less
> than 30 minutes).  The idea is that there should (almost) always be
> slots free in the queue for people to run test jobs and compilers.
> 
> However, test jobs also include parallel jobs, and here's the problem:
> one can easily fill up all slots in the queue by submitting a parallel
> job.  By submitting an array of parallel jobs, the queue can be
> occupied by a single user for a long time.
> 
> So we have limits configured in GE that should restrain any user from
> using more than 32 cores in the very-short/interactive queue:
> 
>        murri@login2:~> qconf -srqs
>        {
>           name         pe_in_very-short.q
>           description  "Limit parallel jobs on very-short.q to 32 slots max."
>           enabled      TRUE
>           limit        users {*} queues {very-short.q} to slots=32

limit        users {*} queues very-short.q to slots=32

should do too.


>        }
> 
> However, parallel jobs requesting h_rt <= 1800 can be allocated a mix
> of "very-short" queue instances and slots from other queues.  This is
> a sample of such jobs:
> 
>        2703080: very-short.q@r08c01b08n01
>        2703080: very-short.q@r08c01b07n01
>        2703080: short.q@r08c02b07n02
>        2703080: short.q@r06c01b09n02
> 
>        2703081: very-short.q@r08c01b07n02
>        2703081: very-short.q@r08c01b11n01
>        2703081: short.q@r08c01b02n02
>        2703081: very-short.q@r08c01b11n02
> 
>        2703093: short.q@r06c01b09n01
>        2703093: short.q@r01c02b09n01
>        2703093: long.q@r07c03b10n02
>        2703093: very-short.q@r08c01b12n01
> 
> So it is still possible for a user to consume all the `very-short`
> slots by submitting many jobs.  In other words, the RQS shown above is
> applied *per job* and not *per user*.

How many slots were used in each line in the above example - the violation of 
32 is not obvious?

You can force a job to stay in one queue only by creating a PE for each queue 
(and attach it only to this queue) and submit with a wildcard in the PE request:

PEs:

orte-very-short.q
orte-short.q
orte-long.q

$ qsub -pe "orte*" 16 ...

-- Reuti


> Is there any way to change the RQS and/or alter the cluster
> configuration to effectively limit each user's consumption of the
> `very-short.q` to max. 32 slots?
> 
> Thanks for any hints!
> 
> Kind regards,
> Riccardo
> 
> --
> Riccardo Murri
> http://www.gc3.uzh.ch/people/rm
> 
> Grid Computing Competence Centre
> University of Zurich
> Winterthurerstrasse 190, CH-8057 Zürich (Switzerland)
> Tel: +41 44 635 4222
> Fax: +41 44 635 6888
> 
> _______________________________________________
> users mailing list
> [email protected]
> https://gridengine.org/mailman/listinfo/users
> 


_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to