[torquedev] Feedback on per vnode cpusets
Gareth.Williams at csiro.au
Gareth.Williams at csiro.au
Sun May 25 18:33:59 MDT 2008
> -----Original Message-----
> From: torquedev-bounces at supercluster.org
> [mailto:torquedev-bounces at supercluster.org] On Behalf Of Chris Samuel
> Sent: Saturday, 24 May 2008 8:11 PM
> To: torquedev
> Subject: [torquedev] Feedback on per vnode cpusets
>
> Hi all,
>
> I'm currently looking at the cpuset code in trunk and
> wondering what to do about the per-vnode cpusets.
>
> It's a trivial change to pbs_mom put the tm_spawn children
> into the job cpuset, so the question is rather how to
> handle the differences.
>
> In either of the cases where the per-vnode cpusets remain
> I would strongly suggest that they default to off (so as
> not to surprise unsuspecting sites).
>
> So, the options I can see are:
>
> 1) per-vnode cpusets are a compile time option
>
> Requires some autoconf tweaks and a #ifdef and if
> a site changes their mind its a recompile, reinstall
> and restart pbs_mom cycle.
>
> 2) per-vnode cpusets are a pbs_mom.conf option
>
> Plagiarise, er, be inspired by the enablemomrestart
> code and create a new global variable. If a site changes
> its mind it changes the config file and reloads/restarts
> pbs_mom.
>
> 3) per-vnode cpusets go altogether
>
> Easiest to do, but removes the ability for sites using
> MPICH-1 based MPI's like MPICH-GM, MVAPICH1, etc, from
> being able to lock individual tasks to cores.
>
>
> Thoughts ?
>
> cheers!
> Chris
> --
> Christopher Samuel - (03) 9925 4751 - Systems Manager
> The Victorian Partnership for Advanced Computing
> P.O. Box 201, Carlton South, VIC 3053, Australia
> VPAC is a not-for-profit Registered Research Agency
> _______________________________________________
> torquedev mailing list
> torquedev at supercluster.org
> http://www.supercluster.org/mailman/listinfo/torquedev
>
Hi All,
A 4th option is to choose whether or not to use the vnode cpusets on a
per-job or per-process basis. I think tm_spawn will be the principle
(only!) method of distributing processes to nodes/cpustes and it could
honor an environment variable or a property associated with the job.
This would be in combination with 1), but I would tend to favour having
the vnode cpusets available but not usually using them.
-- Gareth
Note. If (the vnode cpusets were not available but) the job cpuset was
user writeable, the user could construct their own sub-cpusets to
contain processes, but it would be hard work.
More information about the torquedev
mailing list