When I start an Array Job on Sun Grid Engine, how can I know how long it took?
When I start an Array Job on Sun Grid Engine, how can I get an information later how long all the jobs took? I.e. I want to know how long it took from the moment when I submitted the jub, until the moment when the last job finished. (I do NOT want to know how much CPU-time all the jobs taken together consumed.)
I开发者_如何学Go submit like this:
qsub -e GE_errors/ -o GE_out/ SGE_execute
and my SGE-execute script looks like this:
#!/bin/sh
#$ -t 1-100
~/bin/intersectBed -c -s -a infile_$SGE_TASK_ID -b template.bed > outfile_$SGE_TASK_ID
Any help appreciated. Thank you.
Something simple might be to just look at the earliest and latest timestamps in your GE_errors and GE_out directories.
Alternatively, if you've set up SGE's sidekick ARCo accounting system, you can see all that information (and more) in the sge_job and sge_job_usage tables.
For example, given the job number returned to you by your qsub command, you can get its unique id and submission time like so:
select j.j_id, j.j_submission_time from sge_job j where j.j_job_number = ?
and you can find the maximum completion time of all of its subtasks like so:
select max(u.ju_end_time) from sge_job_usage u where u.ju_parent = <j_id from up above>
and then subtract.
Note that the documentation on the above "Sun" Wiki is not perfect. (Which is why I came to stackoverflow today in the first place. :)
精彩评论