[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