Hi,

Am 07.04.2014 um 17:10 schrieb Fan Dong:

> I am a little confused about the consumable h_vmem setup on the node and the 
> queue.  Let's say we have one queue, called a.q, spans two host, h1 and h2.  
> h1 has 32GB of ram and h2 has 128GB.
> 
> I attached h_vmem to both hosts, using the value of actual physical ram,

You defined this value `qconf -me ...` => "complex_values"?


> also a.q has default h_vmem value of 18GB, which is the peak memory usage of 
> the job.

Yes, the setting in the queue is per job, while in the exechost definition it's 
across all jobs.


> Here is how I understand the way h_vmem works.  When the first job in a.q is 
> sent to node h1, the h_vmem on the node will decrease to 32-18=14GB, 

Did you make the "h_vmem" complex consumable in `qconf -mc`? What is the 
default value specified there for it?

You check with `qhost -F h_vmem` and the values are not right?


> the h_vmem attached to queue will make sure that job won't use memory more 
> than 18GB.  When the second job comes in, it will be sent to node h2 because 
> there is no enough h_vmem on node h1 left.

...as the value was subtracted on a host level.


> I am not sure if I am correct about the h_vmem as I have an impression h_vmem 
> won't stop jobs from being sent to a node but virtual_free does.  Any 
> suggestions?

Keep in mind, the "h_vmem" is a hard limit, while "virtual_free" is a hint for 
SGE how to distribute jobs while it allows to consume more than requested. It 
depends on the workflow what fits best.

-- Reuti
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to