On 01/27/2015 11:54 AM, Reuti wrote:
Hi,
Am 27.01.2015 um 09:26 schrieb Ursula Winkler <[email protected]>:
On 01/26/2015 10:03 PM, Reuti wrote:
I'll trying to find a solution for an environment running serial jobs as well
as mpi jobs on
6 hosts where each host has 32 cores/slots. Due to the small number of nodes,
assigning
each sort of jobs to separate nodes (e.g. nodes 1-2 for serial, nodes 3-6 for
mpi jobs) is
not an option, expecially because the ratio serial:mpi is quite a variable one.
I tried out to set up 2 queues with "serial" as a subordinate queue to "mpi". -
But that
only is unwasteful if the mpi job(s) use ~ 32 slots per host. Otherwise there
are serial
jobs which could run but persist unnecessarily in a suspended state due to the
fact
that the whole queue "serial" is suspended.
The other possible option should be the subordination of slots, but that
doesn't work either
because the scheduler obviously (concerning subordination) is not capable of
figuring out how many slots a mpi job actually is requesting, and so suspends
stubbornly only one serial job -
which of course causes core oversubscription.
Has somebody an idea to solve this problem in a satisfying way?
Why not submitting all jobs to one and the same queue?
It might be good to provide a suitable:
$ qconf -ssconf
...
max_reservation 20
default_duration 8760:00:00
and submit the parallel jobs with "-R y" to avoid starvation. To use the
backfilling in a proper way a value h_rt needs to be provided too during submission.
-- Reuti
Hi,
I hoped I could avoid that. On all the other clusters we have separated nodes
for each queue and that works fine without runtime limitations/requestions. I
wanted to provide the same (usage) conditions also on the new cluster, but ok,
if it should not be...
And you are submitting to queues then (this would be more Torque-style
submissions)?
yes.
You could also use hostgroups to have different parts in the cluster which you
can address. What was the idea to have different queues for different parts of
the clusters?
I must figure out how the cluster will be used in the future. At the
moment there are a bunch of single processor jobs (more than could run
at a given time; running times >= 4 d) and several mpi jobs (running
times < 1 d and up to 32 cores; the cluster has much memory but no high
performance network so it doesn't make sense to use more than one host
per job). Core/Host reservation is at the moment not really an option
because of the long running times of the serial jobs and the fact, that
the mpi jobs are most still in a testing mode.
Thank you. hostgroups could be an option, and (at the moment maybe) a
limitation of the jobsnumber/user, I'll see.
To me it sounds like the setup of the new cluster (shared usage per exechosts)
is different from the goal in the other clusters where only a single queue was
set up on each machine (resp. a single queue for each part of the cluster)
yes. All the other clusters have many nodes with up to 12 cores/Host, as
well as Infiniband, but much less memory and so are intensely used by
mpi-Jobs which need less memory (so a separate queue make sense).
-- Reuti
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users