[GE users] qsub and holding while a job is *executing*?

reuti reuti at staff.uni-marburg.de
Thu Jan 7 10:21:44 GMT 2010


Am 07.01.2010 um 10:14 schrieb jgrn307:

> Grid-engineers:
>    I'm a total noob to grid engine, so I apologize if this is a  
> ridiculously simple question: I have a situation where I need to  
> hold a job if and ONLY if a job with some name patterns is  
> currently *running*, not if it has finished executing.  This is due  
> to an unfortunate situation which rises during a certain phase of  
> my parallel project where it must enter a specific program (GRASS  
> GIS, in my case) that does NOT allow concurrent access, e.g. two  
> jobs cannot access the program at the same time (the program is not  
> thread-safe).

when you run a second instance of the program, it should be  
independent from each other. Maybe you have to instruct the program  
to use a special temporary directory or so. The usual one created by  
SGE for each job is $TMPDIR, and maybe it's necessary to `export TMP= 
$TMPDIR` or similar.

>   So in the situation where I have 3 jobs: job01, job02, job03; how  
> do I qsub these so this situation is upheld (a job will not execute  
> unless NONE of the other
> jobs is running).  My understanding is that -hold-jid is designed  
> for process dependencies and checks for job completion (e.g. job02  
> can't start until job01), so this isn't what I want, at least I  
> don't think it is.  Any help you give me would be much appreciated,  
> thanks!

Nevertheless, you can create a custom complex with an amount of one  
(similar to managing it as a license count) and request for each of  
your jobs of this type `... -l grass=1 ...`.


-- Reuti


To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].

More information about the gridengine-users mailing list