Hi,

> Am 04.05.2015 um 11:37 schrieb Mahbube Rustaee <[email protected]>:
> 
> 
> 
> On Sun, May 3, 2015 at 4:58 PM, Reuti <[email protected]> wrote:
> Hi,
> 
> Am 03.05.2015 um 12:46 schrieb Mahbube Rustaee:
> 
> > Hi all,
> > 2 version of a software can't be run on a node. How can I config GE to 
> > prevent that. detail of question:
> > I have 2 different version (license) of a package , when a request of old 
> > version submit to cluster , no problem.
> 
> Do you mean to restrict the number of simultaneous running jobs of this kind 
> to one? You could use a consumable complex and force users to request it.
> No, the number of  simultaneous different version  to one node is problem. 
> when a request of first version be running to node, request of second version 
> on same node cause problem. 
> 
> > How can I prevent new version to be run on same node and vice versa.
> 
> Or do you mean unlimited instances of each version?
> 
> How does the software conflict when running both versions on a node at the 
> same time?
> new request of other version kill process of running version.

But only if it's from the same user I assume. What I can think about:

Introduce two consumable complexes: block_new, block_old, relation <= and two 
BOOL.

block_new           bn         INT         <=      YES         YES        0     
   0
block_old           bo         INT         <=      YES         YES        0     
   0
run_new             rn         BOOL        ==      FORCED      YES        0     
   0
run_old             ro         BOOL        ==      FORCED      YES        0     
   0



Both attached with an arbitrary count on each exechost level.

complex_values        block_new=8,block_old=8


Next is: two queues, one for the old and one for the new version.

$ qconf -sq new_version.q
...
load_thresholds       block_new=7
...
complex_values        run_new=TRUE


$ qconf -sq old_version.q
...
load_thresholds       block_old=7
...
complex_values        run_old=TRUE



and vice versa. The effect should be to start the new version:

`qsub -l block_old=1,run_new ...`

will start in new_version.q, decrease block_old, and the old_version.q will get 
the threshold signaled for this queue instance which disables it. Resp.

`qsub -l block_new=1,run_old ...`

the opposite.

-- Reuti


> 
> -- Reuti
> 
> 
> > Thx
> >
> > --
> > Best Regards
> > Rustaee
> > _______________________________________________
> > users mailing list
> > [email protected]
> > https://gridengine.org/mailman/listinfo/users
> 
> 
> 
> 
> -- 
> Best Regards
> Rustaee


_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to