Re: [gridengine users] Functional Fair Share on a Queue?

2012-10-16 Thread Reuti
Am 15.10.2012 um 22:32 schrieb Joseph Farran:

 Hi Harry.
 
 Thanks.   I understand the general fair share methods available in GE.
 
 My question is if anyone knows if a functional fair share can be applied to a 
 queue only (not system wide).

There is only one policy per installation possible. Although it would be nice 
to set it up per hosts/queues.

a) You could run more than one sgeexecd per node and tell the users to switch 
between the installations by `sourcing` different setups.

b) In your case, maybe:

- one project per user
- users have to request the project for this fair-share-queue
- weight only the project in the scheduler configuration (others set to zero)

- normal jobs don't request a project at all, so it's only FIFO

-- Reuti


 One manual way to accomplish this ( *basic* fair share method on a queue ) is 
 to setup a resource quota to allow max cores (slots) to be used by any one 
 user on the given queue.
 
 A cron job then checks the queue every say 10 minutes and counts the number 
 of users on the queue and then re-sets the max cores per user on the queue.
 
 If my queue has 1,000 cores, and only one user is using the queue, the cron 
 job then sets the quota limit with:
 
   limitqueues  free  to slots=1000
 
 On next cron cycle, if there are 3 users on the free queue the cron job will 
 then:
 
   limitqueues  free  to slots=333
 
 and so on.
 
 As you can tell this method has some shortcomings.If user1 wants 900 
 cores and user2 only needs 10 cores and user3 only needs 2 cores, the queue 
 will not be fully optimized ( only 333+10+2 = 345 cores in used instead of 
 900+10+2=912 cores in use).
 
 I could do some fancy scripting to re-adjust based on number of users *and* 
 core-count request, but this get's tricky and since GE has a fair share in 
 place already, I wanted to see if I could use that but on a queue only.
 
 Best,
 Joseph
 
 
 On 10/15/2012 10:53 AM, harry mangalam wrote:
 I wrote up a doc a while ago (when trying to come up with a useful way to
 organize/admin our condo cluster) that addresses this, I think:
 
 http://moo.nac.uci.edu/~hjm/BDUC_Pay_For_Priority.html
 
 If it is inaccurate, please let me know and I'll correct it.
 
 hjm
 
 On Sunday, October 14, 2012 01:42:38 AM Joseph Farran wrote:
 Hi All.
 
 I have a queue on our cluster with 1,000 cores that all users can use.
 
 I like to keep the queue as close to 100% utilization as possible so that 1
 user can use all 1,000 cores on that queue.   However if other users
 jump-in to use the queue, then allow the other users to get their fair
 share.
 
 The Grid Engine functional fair share sounds like the way to go, but can it
 be set for only a queue?   I have several queues and only want to set this
 up for 1 queue only.
 
 The notes I read says that to setup a simple Functional Fair Share, to do:
 
 qconf -mconf
 enforce_user auto
 auto_user_fshare 100
 
 qconf -msconf
 weight_tickets_functional 1
 
 
 But I think this applies to all queues. Can this be set for 1 queue
 only?
 
 ___
 users mailing list
 users@gridengine.org
 https://gridengine.org/mailman/listinfo/users


___
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users


Re: [gridengine users] Functional Fair Share on a Queue?

2012-10-15 Thread harry mangalam
I wrote up a doc a while ago (when trying to come up with a useful way to 
organize/admin our condo cluster) that addresses this, I think:

http://moo.nac.uci.edu/~hjm/BDUC_Pay_For_Priority.html

If it is inaccurate, please let me know and I'll correct it.

hjm

On Sunday, October 14, 2012 01:42:38 AM Joseph Farran wrote:
 Hi All.
 
 I have a queue on our cluster with 1,000 cores that all users can use.  
 
 I like to keep the queue as close to 100% utilization as possible so that 1
 user can use all 1,000 cores on that queue.   However if other users
 jump-in to use the queue, then allow the other users to get their fair
 share.
 
 The Grid Engine functional fair share sounds like the way to go, but can it
 be set for only a queue?   I have several queues and only want to set this
 up for 1 queue only.
 
 The notes I read says that to setup a simple Functional Fair Share, to do:
 
 qconf -mconf
 enforce_user auto
 auto_user_fshare 100
 
 qconf -msconf
 weight_tickets_functional 1
 
 
 But I think this applies to all queues. Can this be set for 1 queue
 only?
-- 
Harry Mangalam - Research Computing, OIT, Rm 225 MSTB, UC Irvine
[m/c 2225] / 92697 Google Voice Multiplexer: (949) 478-4487
415 South Circle View Dr, Irvine, CA, 92697 [shipping]
MSTB Lat/Long: (33.642025,-117.844414) (paste into Google Maps)
--
Passive-Aggressive Supporter of the The Canada Party:
  http://www.americabutbetter.com/

___
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users


Re: [gridengine users] Functional Fair Share on a Queue?

2012-10-15 Thread Joseph Farran

Hi Harry.

Thanks.   I understand the general fair share methods available in GE.

My question is if anyone knows if a functional fair share can be applied to a 
queue only (not system wide).

One manual way to accomplish this ( *basic* fair share method on a queue ) is 
to setup a resource quota to allow max cores (slots) to be used by any one user 
on the given queue.

A cron job then checks the queue every say 10 minutes and counts the number of 
users on the queue and then re-sets the max cores per user on the queue.

If my queue has 1,000 cores, and only one user is using the queue, the cron job 
then sets the quota limit with:

   limitqueues  free  to slots=1000

On next cron cycle, if there are 3 users on the free queue the cron job will 
then:

   limitqueues  free  to slots=333

and so on.

As you can tell this method has some shortcomings.If user1 wants 900 cores 
and user2 only needs 10 cores and user3 only needs 2 cores, the queue will not 
be fully optimized ( only 333+10+2 = 345 cores in used instead of 900+10+2=912 
cores in use).

I could do some fancy scripting to re-adjust based on number of users *and* 
core-count request, but this get's tricky and since GE has a fair share in 
place already, I wanted to see if I could use that but on a queue only.

Best,
Joseph


On 10/15/2012 10:53 AM, harry mangalam wrote:

I wrote up a doc a while ago (when trying to come up with a useful way to
organize/admin our condo cluster) that addresses this, I think:

http://moo.nac.uci.edu/~hjm/BDUC_Pay_For_Priority.html

If it is inaccurate, please let me know and I'll correct it.

hjm

On Sunday, October 14, 2012 01:42:38 AM Joseph Farran wrote:

Hi All.

I have a queue on our cluster with 1,000 cores that all users can use.

I like to keep the queue as close to 100% utilization as possible so that 1
user can use all 1,000 cores on that queue.   However if other users
jump-in to use the queue, then allow the other users to get their fair
share.

The Grid Engine functional fair share sounds like the way to go, but can it
be set for only a queue?   I have several queues and only want to set this
up for 1 queue only.

The notes I read says that to setup a simple Functional Fair Share, to do:

qconf -mconf
enforce_user auto
auto_user_fshare 100

qconf -msconf
weight_tickets_functional 1


But I think this applies to all queues. Can this be set for 1 queue
only?


___
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users


Re: [gridengine users] Functional Fair Share on a Queue?

2012-10-15 Thread Joseph Farran

Syntax question on the limit.

In order to place a limit of say 333 cores per user on queue free, is the 
syntax:

limitusers *  queues free  to slots=333

Correct?


On 10/15/2012 01:32 PM, Joseph Farran wrote:

Hi Harry.

Thanks.   I understand the general fair share methods available in GE.

My question is if anyone knows if a functional fair share can be applied to a 
queue only (not system wide).

One manual way to accomplish this ( *basic* fair share method on a queue ) is 
to setup a resource quota to allow max cores (slots) to be used by any one user 
on the given queue.

A cron job then checks the queue every say 10 minutes and counts the number of 
users on the queue and then re-sets the max cores per user on the queue.

If my queue has 1,000 cores, and only one user is using the queue, the cron job 
then sets the quota limit with:

   limitqueues  free  to slots=1000

On next cron cycle, if there are 3 users on the free queue the cron job will 
then:

   limitqueues  free  to slots=333

and so on.

As you can tell this method has some shortcomings.If user1 wants 900 cores 
and user2 only needs 10 cores and user3 only needs 2 cores, the queue will not 
be fully optimized ( only 333+10+2 = 345 cores in used instead of 900+10+2=912 
cores in use).

I could do some fancy scripting to re-adjust based on number of users *and* 
core-count request, but this get's tricky and since GE has a fair share in 
place already, I wanted to see if I could use that but on a queue only.

Best,
Joseph


On 10/15/2012 10:53 AM, harry mangalam wrote:

I wrote up a doc a while ago (when trying to come up with a useful way to
organize/admin our condo cluster) that addresses this, I think:

http://moo.nac.uci.edu/~hjm/BDUC_Pay_For_Priority.html

If it is inaccurate, please let me know and I'll correct it.

hjm

On Sunday, October 14, 2012 01:42:38 AM Joseph Farran wrote:

Hi All.

I have a queue on our cluster with 1,000 cores that all users can use.

I like to keep the queue as close to 100% utilization as possible so that 1
user can use all 1,000 cores on that queue.   However if other users
jump-in to use the queue, then allow the other users to get their fair
share.

The Grid Engine functional fair share sounds like the way to go, but can it
be set for only a queue?   I have several queues and only want to set this
up for 1 queue only.

The notes I read says that to setup a simple Functional Fair Share, to do:

qconf -mconf
enforce_user auto
auto_user_fshare 100

qconf -msconf
weight_tickets_functional 1


But I think this applies to all queues. Can this be set for 1 queue
only?


___
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users



___
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users