[GE users] use only N out of M cores per node?

dagru d.gruber at sun.com
Wed Feb 3 08:14:38 GMT 2010

With a newer SGE you can also make use of the exclusive complex in order to
prevent interference with other jobs even if you are using 4 out of 8 slots.

See: http://wikis.sun.com/display/gridengine62u3/Configuring+Exclusive+Scheduling

Together with core binding you can enforce the job distribution over 2 sockets.


On 02/03/10 08:30, mlelstv wrote:

On Tue, Feb 02, 2010 at 06:41:48PM -0800, mbay2002 wrote:

This is on a machine using SGE 6.1u5 (I can upgrade but this has served
has well)...

I'd like our users to be able to submit jobs and tell SGE that only
N out of M cores per node should be used, for example, we have 8 cores
per node but because of memory constraints certain users want to submit
jobs and request that only 4 out of the 8 cores be used per node and,
they may need 16 cores total, so the qsub needs to tel sge to use
4 cores on 4 nodes.

You can create a parallel environment that allocates 4 slots per node.
This will cause the job to be split over 4 nodes.

However, this will leave the other 4 slots per node free for other
jobs. Since your reason is memory constraints, this may not be what
you want.

A flexible approach would ask for a memory ressource, then it is
possible that in parallel to the 16 slot job you may still run
small jobs. This requires that all your jobs ask for the memory
ressource correctly so that SGE can manage memory usage.

If the goal is to use the complete nodes but only take 4 cores
for computation (and let the others idle), you can ask for all
cores (make it a 32 slot job) and tell your application to
use only half of the allocated slots on each node. Your jobscript
needs then to modify the $PE_HOSTFILE and needs to be careful about
the $NSLOTS parameter.


More information about the gridengine-users mailing list