[GE users] resource quota question

rumpelkeks tina.friedrich at diamond.ac.uk
Tue May 18 17:48:42 BST 2010


Hi,

>> What I'm trying to achieve is restrict resources for a group of users 
>> (defined as an access list) so they can only ever use half of the nodes 
>> (not the slots per node) of any given host group in my cluster.
>>
>> So they could run, for example, pe smp jobs using all slots on a host 
>> (and submit as many of them as they like) but their jobs would then only 
>> be queued on half the nodes - but this should be per any given 
>> hostgroup, not across the whole cluster (if that description makes sense).
>>
>> Is that possible (as a simple resource quota), and what would the syntax 
>> be? I tried
>>
>> {
>>    name         half_of_com04
>>    description  "resource quota to restrict external collaborators\
>> 		slots to 50% slots in com04"
>>    enabled      TRUE
>>    limit        users {@external_collaborators} queues\
>> 		{medium.q@@com04} to slots=56
>> }
>>
>> but that didn't seem to work as it should.
> 
> you mean the syntax isn't accepted? What about:
> 
> limit users @external_collaborators queues medium.q hosts @com04 to slots=56

I'll try that, thanks - didn't come up with that. I kind of got it to 
work as

{
    name         half_of_com04
    description  "resource quota to restrict external collaborators \
                  slots on com04 nodes"
    enabled      TRUE
    limit        users {@external_collaborators} hosts \
                 {@com01, at com02, at com03, at com05} to NONE
    limit        users {@external_collaborators} queues \
                 {bottom.q,low.q,medium.q,high.q} to slots=56
}
{
    name         half_of_com01
    description  "resource quota to restrict external collaborators \
                 slots on com01 nodes"
    enabled      TRUE
    limit        users {@external_collaborators} hosts \
                 {@com02, at com03, at com04, at com05} to NONE
    limit        users {@external_collaborators} queues \
                 {bottom.q,low.q,medium.q,high.q} to slots=160
}

(com01 - com05 being my host groups).

 > Use of {} would mean to limit it for each inside the list on it's 
own, i.e. 56 per host per user.

Ah. Thanks. That makes sense.

Got a new problem now! This works, but isn't quite what we wanted. 
Although no fault of the scheduler.

This, of course, nicely distributes the restricted users jobs across all 
nodes. As quite a lot of my users use smp (not MPI) with the maximum 
number of slots on each node, from their point of view it still blocks 
the queues.

So, I assume I could get around this by setting the scheduler policy to 
"fill up", but I am not sure that we really want this (across the whole 
cluster, that is).

Two questions:

1) (preferred) Is there a way to make only jobs by these users (i.e. 
this access list) scheduled with a 'fill up' type policy?

alternatively

2) Can I set things up so that on this one host group nodes are filled 
up rather than the load distributed?

Most of these jobs (certainly the ones that the restricted user group is 
currently running) are batch, not PE (just many of them) - so changing 
the PE allocation rule(s) won't help I'd guess :)

Any suggestions?

Tina

-- 
Tina Friedrich, Computer Systems Administrator, Diamond Light Source Ltd
Diamond House, Harwell Science and Innovation Campus - 01235 77 8442

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

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



More information about the gridengine-users mailing list