On 10/10/2012 09:01 AM, Reuti wrote:
Am 10.10.2012 um 16:57 schrieb Orion Poplawski:

On 10/10/2012 03:53 AM, Reuti wrote:
Am 09.10.2012 um 20:25 schrieb Orion Poplawski:

On 10/08/2012 04:56 PM, Reuti wrote:
Am 08.10.2012 um 23:58 schrieb Orion Poplawski:

On 10/05/2012 05:09 PM, Reuti wrote:
Am 06.10.2012 um 00:36 schrieb Orion Poplawski:

I'd like to create a queue that only allows jobs that have requested a specific 
resource requirement.  Is that possible?

Yes, just make the complex's requestable setting not YES but FORCED (man 
complex).

-- Reuti

Thanks for the pointer.  Unfortunately it doesn't do quite what I want.

I was hoping to re-use a complex I already have that keeps track of IDL licenses on 
hosts.  I have a load sensor that sets value "idllic" to the number of 
available idl licenses.  Unfortunately if I set idllic to FORCED, then the queues that 
have that set via the host load sensor (but not a queue value) cannot run jobs that do 
not set idllic either.

So it seems that for jobs to be able to go to the general queues as well as a special idl 
queue, I'll have a create a second complex (say "idl"), and users would have to 
specify both (-l idl,idllic=1) which seems somewhat clunky.

In total: IDL jobs should go the reserved idl.q for this job type and the 
general.q; normal jobs should only go to the general.q?

yes


You can use a JSV then to request a certain queue like general.q if idllic was 
not requested.

Hmm, nope, sorry need more help here.  How exactly would I do that?  I 
shouldn't be requesting the general.q, it should just satisfy the requirements.

Do you have more than these two queues? Then we do it the other way round: the 
JSV will request a BOOL resource instead of a queue list if a license wasn't 
requested or the requested amount was zero.

license             lic        INT         <=      YES         YES        0     
   0
normal              no         BOOL        ==      YES         NO         0     
   0

And normal=TRUE is attached to all normal queues.

Thanks, but that still isn't what I'm trying to do.  I want my "license" jobs 
to be able to go to normal queues as well if they satisfy the license requirement.

Yes - did you check the JSV I attached? license'ed jobs can run anywhere, other 
jobs get normal=TRUE attached and are limited to normal queues.

-- Reuti

I guess I don't understand how jobs without normal set (i.e. jobs with license >= 1) run in queues with normal=TRUE attached to them. Is normal=FALSE attached to the license queue instead?

BTW - Wouldn't you need the following to handle cases of other hard resource requests that don't have "license"?


--- jsv-lic.sh.orig        2012-10-10 09:03:45.000000000 -0600
+++ jsv-lic.sh     2012-10-10 09:07:45.000000000 -0600
@@ -22,6 +22,8 @@
           if [ "$amount_h_license" -eq 0 ]; then
               jsv_sub_add_param l_hard normal=TRUE
           fi
+      else
+          jsv_sub_add_param l_hard normal=TRUE
       fi
    else
        jsv_sub_add_param l_hard normal=TRUE


--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder Office                  FAX: 303-415-9702
3380 Mitchell Lane                       [email protected]
Boulder, CO 80301                   http://www.nwra.com
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to