[GE users] Application and User Priority Queue Question

Bevan C. Bennett bevan at fulcrummicro.com
Fri Aug 11 23:26:21 BST 2006


    [ The following text is in the "windows-1252" character set. ]
    [ Your display is set for the "ISO-8859-10" character set.  ]
    [ Some special characters may be displayed incorrectly. ]


> ·         App1 must run on the primary server due to resource constraints.
> 
> ·         App2 can run on either server but should run on the primary
> first if it?s available.
> 
> ·         App3 can run on either server and the same priority as app2.
> 
> ·         Only one instance of either app1 or app2 can run at a time on
> the same server.
> 
> ·         App2 can run on both the primary or secondary server but only
> 1 instance on each.
> 
> ·         Up to two instance of dep1 can run on the primary server or
> secondary server.
> 
> ·         Up to four instance of app3 can run on a server, but should be
> limited to two instance if app1 and/or app2 are running.

Interesting puzzle. Let me see if I can suggest a workable configuration...
The last constraint appears to be the most difficult.

resources:
	MAIN: boolean, requestable: forced, default: false
        DEPS: boolean, requestable: yes
	FAST: boolean, requestable: yes
queues: single.q
	instances on server1 and server2
	1 slot per instance
	set MAIN=TRUE
        subordinate second.q with max slots of 1

        second.q
        instances on server1 and server2
        2 slots per instance
        set DEPS=TRUE
        subordinate single.q with max slots of 1

        app3.q
        instances on server1 and server2
        2 slots per instance

servers: set FAST=TRUE on server1.

Run app1 with -l FAST,MAIN
Run app2 with -l MAIN -soft -l FAST
Run dep1 with -l DEPS
Run app3 with -soft -l DEPS=FALSE

What (I think) will then happen:
app1 can only run on server1 (the only one that satisfies FAST) and can only run
in single.q. The single slot means that only one app1 can run at a time, and it
can't run together with app2, dep1, or more than two app3s (because the second.q
gets subordinated).

app2 can run on server1 or server2, but prefers (through it's soft requirement)
server1.

dep1 can only run in second.q, so no more than 2 can run on a server at once,
and not if app1 or app2 is already running on that server.

app3 can run in second.q or app3.q, preferring app3.q - for a potential total of
four jobs per server, limited to two if app1 or app2 are running, and sharing
these slots with dep1.

There may be other solutions that are more or less intuitive...

---------------------------------------------------------------------
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