Am 10.10.2012 um 17:13 schrieb Orion Poplawski:
> 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.
It's just defined as "requestable YES" - not "FORCED". I.e. if a job doesn't
request "normal", it can run in a queue whether it's set or not. This is the
difference to "FORCED".
> Is normal=FALSE attached to the license queue instead?
No, it's just not there. You can have 3 cases:
-l normal (which is -l normal=TRUE) => give me a queue (or host) where
normal=TRUE is set
-l normal=FALSE => give me a queue (or host) where normal=FALSE is set
Without requesting normal at all: I don't care about the setting inside the
queue (or host).
> 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
Argh - true.
Maybe it would be shorter to add the request first all the time before the
`if`, and then remove it again in one case only :-D
jsv_sub_add_param l_hard normal=TRUE
l_hard=$(jsv_get_param l_hard) # We know one parameter is there at least now
has_h_license=$(jsv_sub_is_param l_hard license)
if [ "$has_h_license" = "true" ]; then
amount_h_license=$(jsv_sub_get_param l_hard license)
if [ "$amount_h_license" -gt 0 ]; then
jsv_sub_del_param l_hard normal
fi
fi
-- Reuti
> 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