[GE users] regex in complexes

Shannon V. Davidson svdavidson at swbell.net
Thu Sep 2 17:03:16 BST 2004


    [ 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. ]

Hi Mark,

I took a look at the complex code and ran a few tests and it looks to me 
like your license complex idea will work if you use:

    qselect -l license="*lic3*"

to return the list of queues where the license string does not include 
the string lic3, and:

    qsub -l license="*lic3*" ...

to submit a job to any queue which is currently not using lic3.

Of course, there is some lag between when the job gets started and when 
the load sensor reports the license, but I assume you already have a 
mechanism to handle that.

AFAICT, both == and != work for RESTRING complex types.  The code is 
doing a shell wildcard type match between the load value string and the 
pattern argument.

Cheers,
Shannon


Olesen, Mark wrote:

>Despite the explicit information from complex(5) that the only valid
>operator for string type attributes is "==", I attempted to use the
>following complex, in the vague hope that the documentation was too
>conservative:
>
>#name               shortcut   type        relop requestable consumable
>default  urgency
>#---------------------------------------------------------------------------
>-------------
>license             lic        RESTRING    !=    YES         NO         NONE
>0
>
>
>As expected, this failed miserably.
>
>I would like to have the functionality of a "!=" operator.
>Is there an obscure workaround to give me what I want?
>What would it take to have the "!=" operator added for string operations?
>(Andy?).
>
>My load sensor will report something like the following:
>
>	machine:license:lic1+lic2+lic4
>
>Then I could do something like 'qselect -l license=lic3' to find queues
>where the license lic3 is *not* currently in use.
>
>IMO, a very useful and flexible hack would be to disallow the '!' character
>from complex names and use it to reverse the request logic,
>eg,
>	qselect -l arch=lx24-x86	# select linux architecture
>	qselect -l arch!=lx24-x86	# select non-linux architecture(s) 
>
>
>Regards,
>/mark
>
>Dr. Mark Olesen
>Thermofluid Dynamics Analyst
>ArvinMeritor Light Vehicle Systems
>Zeuna Staerker GmbH & Co. KG
>Biberbachstr. 9
>D-86154 Augsburg, GERMANY
>tel: +49 (821) 4103 - 862
>fax: +49 (821) 4103 - 7862
>Mark.Olesen at ArvinMeritor.com
>?
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
>For additional commands, e-mail: users-help at gridengine.sunsource.net
>
>
>  
>


-- 
___________________________________________

Shannon V. Davidson <svdavidson at swbell.net>
Senior Software Engineer           Raytheon
636-479-7465 office        443-383-0331 fax
___________________________________________




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net




More information about the gridengine-users mailing list