[torqueusers] vmem and pvmem
Martin Siegert
siegert at sfu.ca
Fri Feb 24 15:00:09 MST 2012
On Fri, Feb 24, 2012 at 11:19:37AM +0100, "Mgr. Šimon Tóth" wrote:
> > Core_req vmem pvmem ulimit-v RPT
> > =========================================
> > nodes=1:ppn=2 1gb 256mb 256mb 512mb
> > procs=2 1gb 256mb 256mb 1gb
> > nodes=1:ppn=2 1gb 4gb 1gb 4gb
> > procs=2 1gb 4gb 1gb 4gb
> > nodes=1:ppn=2 1gb - 1gb 512mb
> > procs=2 1gb - 1gb 1gb
> >
> > So the ulimit value that influences whether a task can allocate
> > memory, is set as the lower of the vmem and pvmem values. That
> > makes some sense - at least more sense than taking the larger
> > value. What doesn't make sense is allowing pvmem to be higher
> > than vmem in the first place - in that case torque should probably
> > reject the job or 'fix' one of the settings but leaving it as is
> > might not be so bad, except for moab's behaviour (keep reading).
>
> No. The logic is as follows:
>
> * if pvmem (or pmem) is set
> then set the corresponding ulimit to pvmem (pmem) value
>
> * if pvmem (or pmem) isn't set
> then set the corresponding ulimit to vmem (mem) value
>
> Note that using pvmem is mostly pointless. On Linux this represents
> address space, not virtual memory.
>
> You can use vmem as virtual memory, but even that is extremely confusing.
I do not understand this comment. Both pvmem and vmem requests will
result in RLIMIT_AS getting set.
When I submit a MPI job using, e.g., procs=N, why is requesting
pvmem=X mostly pointless? Shouldn't it be totally equivalent to
requesting vmem=X*N ?
Cheers,
Martin
More information about the torqueusers
mailing list