Hi,

Am 27.11.2012 um 22:43 schrieb Jesse Becker:

> On Tue, Nov 27, 2012 at 04:27:49PM -0500, Allan Tran wrote:
>> Hello,
>> I'm running SGE 8.1.2 from https://arc.liv.ac.uk/trac/SGE. Things are 
>> running fine by default. Now I need to set up a share policy but not sure 
>> how to approach this the best possible.
>> The scenario is we have different groups of users and I need to give each of 
>> them a defined resource (or slots) so at any given time, each group will has 
>> a guaranty of slots.
>> Say I have 120 slots (10 x 12 core procs) and 5 groups; math 20% (or 2 
>> nodes), chem 50% (5), cs 10%, bio 10% (1) and other 10% (1).
>> 1. If the cluster is idle, any user in any group can get whatever they ask 
>> for.
>> 2. If the cluster is busy with all math users running (120 slots) and then 
>> chem user needs 50 slots, then 50 slots of math jobs will be suspended to 
>> allow chem users to run. Then if any other group needs to run, more math 
>> jobs will be suspended but math will guaranty to have at least 20 slots.
>> Does it makes sense?
>> 
>> I was thinking to enable the functional share policy and actually set it up, 
>> following this instructions 
>> (http://docs.oracle.com/cd/E19080-01/n1.grid.eng6/817-5677/i999885/index.html)
>> However I'm not quite clear how the number of functional tickets translates 
>> to SGE slots. Will job will be suspended or resumed by default with this 
>> setup? Or does it even do what I'm after here.
>> Thank for your response and advice.
> 
> Functional shares (alone), won't suspend any jobs.  It is used for
> scheduling jobs, to try and balanace job distribution as best it can
> according to the ticket policy you've set.

Yes, when a job is allowed to start, it will be allowed to run up to the end. 
There is nothing in SGE to reschedule or suspend a job according to the tickets.

One small addition: a functional policy can also change the "nice" value of 
jobs to achieve a certain distribution (if nodes are oversubscribed of course). 
Settings "reprioritize_interval" in the scheduler and in addition for now 
"reprioritize" in the SGE configuration (`man sge_priority`).

-- Reuti


> With 120 total slots in a single queue, and assuming sufficient jobs from
> each "group," SGE will try to allocate 24 SLOTS to math, 60 SLOTS to chem,
> 12 to CS, 12 to Bio, and 12 to "other."  Note that I said "slots" and,
> not "nodes."  Unless there's a good reason to not "mix" jobs from
> different groups on the same node, don't try to segregate things.
> 
> Functional shares also won't inherently suspend any jobs; it deals with
> scheduling and dispatch.  You can suspend jobs via other means though,
> including load threshold and subordinate queues.
> 
> Incidentally, the "share tree" works basically the same way as
> functional shares, except that it takes past usage into account.
> Functional shares *only* look at current state of the queues *right
> now*.  This may, or may not be appropriate for your circumstance.
> 
> You might want to look into "resource quotas" as well, to keep a given
> group from taking over the cluster.
> 
> 
> -- 
> Jesse Becker
> NHGRI Linux support (Digicon Contractor)
> _______________________________________________
> 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