Re: [gridengine users] Functional Fair Share on a Queue?
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?
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?
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?
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