[GE users] Fairness sharing.

reuti reuti at staff.uni-marburg.de
Fri Feb 5 15:44:18 GMT 2010


Am 05.02.2010 um 16:23 schrieb templedf:

> How about instead of the script and files, you just remove the default
> from the complex and add "-soft -l jb=1" to the sge_request file?   
> It's
> simpler, and I think it should work.

With which facility will then the limit of 20 be enforced? In fact: I  
would like that the default can't be changed in the complex  
definition, nor that any user can just request -l jb=0 (yeah, you can  
add it for sure with a JSV).

Anyway, I get:

reuti at pc15370:~> qsub -soft -l jb=1 test.sh
Unable to run job: denied: soft requests on consumables like "jobs"  
are not supported.

--Reuti


> Daniel
>
> On 02/04/10 15:23, reuti wrote:
>> Hi,
>>
>> Am 04.02.2010 um 18:31 schrieb jesperkrogh:
>>
>>
>>> I would like implement the following:
>>>
>>> The first 20 jobs of each user, should run at "highest" priority. So
>>> that if multiple users are using the cluster, one submitting at a  
>>> high
>>> priority cannot grab "all", cpus.
>>>
>>> But if there is only one user.. that person is allowed to consume
>>> everything.
>>>
>>> Is that possible.
>>>
>> some kind of. We will need to setup:
>>
>> - the global limit in the scheduler configuration can be reset to 0
>> (i.e. the maxujobs entry in case you adjusted this).
>>
>> - one complex for the jobs:
>>
>> jobs                jb         INT<=      YES
>> JOB        1        1000
>>
>> - give unlimited resources for jobs: $ qconf -me global
>> ...
>> complex_values        jobs=999999
>> ...
>>
>> - one RQS like: $ qconf -arqs
>>
>> {
>>      name         joblimits
>>      description  Setup job limits
>>      enabled      TRUE
>>      limit        name standard users {*} to jobs=20
>> }
>>
>> This must also be present in two files (FALSE and TRUE only changed):
>>
>> ~/joblimits_unlimited =>
>> {
>>      name         joblimits
>>      description  Setup job limits
>>      enabled      FALSE
>>      limit        name standard users {*} to jobs=20
>> }
>>
>> ~/joblimits_default =>
>> {
>>      name         joblimits
>>      description  Setup job limits
>>      enabled      TRUE
>>      limit        name standard users {*} to jobs=20
>> }
>>
>> As it's static, a cron job which can even run under the SGE-Admin
>> account (crontab -e) will check the every 5 minutes:
>>
>> SHELL=/bin/sh
>> # uncomment the following line if it works
>> # MAILTO=""
>> */5 * * * * ~/adjust_joblimits.sh
>>
>> with this script:
>>
>> #!/bin/sh
>> . /usr/sge/default/common/settings.sh
>> PENDING_OTHERS=`qstat -u "*" -s p | awk 'BEGIN {FIRSTRUN=1;PENDING=0}
>> (NR>= 3) {if (FIRSTRUN) {USER=$4; FIRSTRUN=0} else if (USER != $4)
>> {PENDING=1;exit}} END {print PENDING}'`
>> if [ "$PENDING_OTHERS" -ne 0 ]; then
>>       qconf -Mrqs ~/joblimits_default joblimits
>> else
>>       qconf -Mrqs ~/joblimits_unlimited joblimits
>> fi
>>
>> (Only drawback is, that jobs on hold also count as pending. If there
>> are hold jobs by other users, you would need to remove the jobs you
>> get with `qstat -u "*" -s h` from the list you get with `qstat -u "*"
>> -s p`. AFAIK there is no option to get pending jobs except the hold
>> ones.)
>>
>> -- Reuti
>>
>>
>>
>>
>>> -- 
>>> Jesper
>>>
>>> ------------------------------------------------------
>>> http://gridengine.sunsource.net/ds/viewMessage.do?
>>> dsForumId=38&dsMessageId=243282
>>>
>>> To unsubscribe from this discussion, e-mail: [users-
>>> unsubscribe at gridengine.sunsource.net].
>>>
>> ------------------------------------------------------
>> http://gridengine.sunsource.net/ds/viewMessage.do? 
>> dsForumId=38&dsMessageId=243353
>>
>> To unsubscribe from this discussion, e-mail: [users- 
>> unsubscribe at gridengine.sunsource.net].
>>
>
> ------------------------------------------------------
> http://gridengine.sunsource.net/ds/viewMessage.do? 
> dsForumId=38&dsMessageId=243516
>
> To unsubscribe from this discussion, e-mail: [users- 
> unsubscribe at gridengine.sunsource.net].

------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=38&dsMessageId=243520

To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].



More information about the gridengine-users mailing list