[GE users] PE allocation rules

Shannon V. Davidson svdavidson at charter.net
Thu Jul 19 18:41:04 BST 2007

    [ The following text is in the "iso-8859-1" character set. ]
    [ Your display is set for the "ISO-8859-10" character set.  ]
    [ Some special characters may be displayed incorrectly. ]

Here's a simple problem.

*	I have four 8-CPU hosts.
*	I run serial jobs and distributed parallel MPI jobs on the hosts
*	I want to schedule a 10 CPU distributed parallel job.
*	For efficiency reasons, I need to run no less than 2 MPI tasks (slots) of the job on each host.

What PE allocation rule can I use?

If I use $fill_up or $round_robin, I'll likely schedule an odd number of MPI tasks on a host.  If I create several PE's with a specific number for the allocation rule ("mpi2", "mpi4", and "mpi8" PEs with allocation_rules of 2, 4, and 8 respectively), and submit the job with a wildcard PE (-pe "mpi*" 10), the job will sit in the pending queue forever, since none of these individual PEs will support the scheduling of 10 CPUs.

Am I missing something obvious?

Perhaps it's possible to force the scheduling of 2 slots per host by using $fill_up with some strange resource definition and request, but I haven't resorted to trying that yet.  Instead, I'm working on an RFE to support a flexible PE allocation rule.


More information about the gridengine-users mailing list