[Bioclusters] how can I know jobs over ?

Joseph Landman bioclusters@bioinformatics.org
25 Nov 2002 10:13:02 -0500


On Mon, 2002-11-25 at 10:01, chris dagdigian wrote:
> I don't use PBS myself but had ocasion to install PBSPro for someone
> recently. From reading the manual I remember that PBS supports 'job
> dependencies' just like LSF and SGE does -- a feature that neatly solves
> your problem.

What I have done in this regard has been to write a short code (which I
cannot find now, but it is relatively trivial), to maintain a global
state vector (GSV).  This vector has an entry for each job to be
completed.  Each time a job completes successfully, it updates the GSV. 
Job completion occurs when the GSV indicates all the entries have
completed.

I used this within job queuing systems and outside of them.  You can
build something similar with a Makefile, and have it do your run
submission for you.
        
        all:	run1 run2 run3
        
        run1:	input1
        	qsub batch1
        	touch run1
        
        run2:	input2
        	qsub batch2
        	touch run2
        
        run3:	input3
        	qsub batch3
        	touch run3
        
then a 

	make all

should run the system in the correct order (make maintains its own
GSV).  This is independent of the queuing system by the way, and you can
leverage the parallel functionality in the queuing system by using the
-j switch

	make -j 20 all

will use the above methodology to submit 20 different jobs into queue.

Or you could use the built in dependency of the queuing system.  Each
one is different.  I had troubles in the past (a few years ago) with the
PBS system trying to do this.

        
-- 
Joseph Landman, Ph.D
Scalable Informatics LLC
email: landman@scalableinformatics.com
  web: http://scalableinformatics.com
phone: +1 734 612 4615