开发者

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. :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜