[GE users] Does SGE knows the real memory consumption of a host at scheduling time?

Reuti reuti at staff.uni-marburg.de
Wed Jan 18 08:51:05 GMT 2006


Am 17.01.2006 um 21:25 schrieb Daniel Templeton:

> Goncalo,
>
> Complexes (things that can be measured) can be associated with a  
> queue,
> a host, or a grid.  Memory is associated with a host, so if memory
> requirements are a selection criterion for job scheduling, the  
> scheduler
> will automatically make sure that two memory-heavy jobs don't end  
> up on
> the same host.  As you said, however, that requires that users know  
> how
> much memory they will need.  If your objective is just to prevent two
> jobs from running on the same host, regardless of in which queues, you
> could create a new consumable host complex, say host_slots, which  
> is set
> to the maximum number of jobs you want to run simultaneously on your
> host.  Each job would then consume one host_slot, and when they're  
> gone,
> no more jobs will be scheduled to that host.
>

To enforce a slots per node limit, it might already be sufficient to  
attach the standard "slots" complex to the exec host definition and  
avoid the introduction of a new complex this way.

-- Reuti


> Daniel
>
> Goncalo Borges wrote On 01/17/06 21:07,:
>
>> Hi there,
>>
>> I have the following question:
>>
>> Let's imagine that I have an execution host associated to 2 different
>> queues. Suppose that there is one job (job A) already running in  
>> queue A
>> of this exec host and that it is spending all the available memory.
>>
>> Imagine now that another user (who doesn't know nothing about Job A)
>> wants to submit a job (job B) in the same exec host but in a
>> different queue (queue B).
>>
>> 1) Does SGE automatically detects that the memory consumption is very
>> high, and thus, it will not execute job B (although queue B is free)?
>>
>> 2) If this is not the case, do you know how can I can enable this
>> behaviour?
>>
>> I know that there is the possibility that the user submitting job  
>> B can
>> request a given ammount of memory. If this memory is not  
>> available, than
>> the job will not execute. However, this procedure takes for granted
>> the fact that the user must know the memory that his job will need, a
>> non-trivial assumption. Therefore, i would prefer somekind of  
>> automatic
>> procedure.
>>
>> Maybe it can be implemented using a load_sensor ?!
>>
>> Any help?
>>
>> Thanks in advance
>> Cheers
>> 	Goncalo
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
>> For additional commands, e-mail: users-help at gridengine.sunsource.net
>>
>>
>>
>
> -- 
> ***************************************************
> *        Daniel Templeton   UMPK18 x83749         *
> *       Staff Engineer, Sun N1 Grid Engine        *
> ***************************************************
> *   An "intellectual" is a man who takes more     *
> * words than he needs to say more than he knows.  *
> *                       -Dwight D. Eisenhower     *
> ***************************************************
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
> For additional commands, e-mail: users-help at gridengine.sunsource.net

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net




More information about the gridengine-users mailing list