Neil,
The FSL scripts have grown up in an environment where our users don't routinely check the queues so we've never implemented such control. You could add code into the qsub wrapper to check the queues.
As you say there may be an SGE solution - Say you have 4 cpus per node. Configure as:
4x short slots
2x medium slots
Then set maxprocs to 4. This would allow extra shorts when there aren't mediums to run. You may even be able to allocate a queing preference to medium to stop it being starved when there are lots of short jobs - not sure how to do this though.
Hope this helps
Dave
Dave Flitney
IT Manager FMRIB
------Original Message------
From: Neil Killeen
Sender: FSL - FMRIB's Software Library
To: [log in to unmask]
ReplyTo: FSL - FMRIB's Software Library
Subject: [FSL] Controlling the scheduling queue for apps which are queue enabled
Sent: 4 Jun 2009 08:53
Hi
on our system, feat processes generally run in our short queue.
However, sometimes
it is full, and other queues (e.g. medium) have available slots. I'd
like to be able
to force, e.g. feat, to run in that queue under those conditions.
However, because feat is one of those apps that internally uses the
queue
I can't do this easily.
Apart from hacking feat to take a queue argument to over-ride the
builtins,
is there an elegant way to do this ? I am also looking at whether the
queue
itself can be smarter and hand on to empty queues when appropriate
Perhaps all FSL apps with built in queue usage should take a -q
argument ?
regards
Neil
p.s. ultimately one would like this kind of control from the GUI
Sent using BlackBerry® from Orange
|