[GE users] Cannot make virtual_free consumable?
reuti at staff.uni-marburg.de
Thu Nov 20 22:02:19 GMT 2008
Am 20.11.2008 um 21:37 schrieb Piotr Domagalski:
> On Thu, Nov 20, 2008 at 8:19 PM, reuti <reuti at staff.uni-marburg.de>
>>> 1. When a job has -l vf=3G it is not run -- the value from load
>>> (2G) is used.
>>> 2. The system happily allows me to run 4 jobs each having -l vf=1G
>> Well, not really. If your job would really consume 1GB of memory,
>> then the load sensor would reflect this. Hence also only two would be
>> possible. For now you used just a "sleep 60" or alike in the
> Yes, I used sleep. But even if I used jobs that really allocate 1GB
> but do it slowly, I could submit 4 of them and consequently
> over-subscribe the memory. That's what worries me.
Yep, this is the purpose of "job_load_adjustments" and
"load_adjustment_decay_time" in the schduler configuration (man
> This means that the load sensor value if lower than the one kept by
> SGE is only used to verify whether the job requirements can be met.
> The debiting itself always happens to value kept by SGE.
>>> 3. The Advance Reservation doesn't consider the value from load
>>> sensors at all (i.e. I can have 4 ARs on this host each requiring
>> This is the same as above in 2. ?!?
>> It can't know, what the value of the load sensor will be in the
> I forgot to add that the case with AR is rather understandable to me
> ;-) I just wanted to be sure that the AR actually always ignores the
> values from load sensors as this is what I've observed...
> Unfortunately this may result in AR successfully being created but the
> job not being able to run within this AR even when it requests the
> same amount of memory as was reserved. But of course, taking into
> account the load sensor values would not change much.
When all jobs are finished at the ("default_duration" time or killed
by h_rt) and stay within the requested virtual_free, it should be safe.
> You say that one should set mem_free (or virtual_free, but let's use
> mem_free in this example) to the amount of installed RAM. But isn't it
> safer to set it rather lower than e.g. the mem_free reported by load
> sensor "normally" at the machine? If I set it to 4GB on a 4GB machine
> it means that I can create an AR for 4GB but then my jobs will not be
> run if they require 4GB within this AR because the load sensor will
> always report a lower value.
For mem_free: yes, you are right. Therefore virtual_free is often
used, which includes the swap. As it's unlikely that all jobs will
exactly use the requested memory, the machine shouldn't swap. This
means of course, to have a low value for the swap space like 512MB -
1GB just to cover the OS overhead.
To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].
More information about the gridengine-users