当我在Sun Grid Engine上启动阵列作业时,我怎么知道它需要多长时间?

时间:2011-04-20 07:18:23

标签: cluster-computing sungridengine

当我在Sun Grid Engine上启动阵列作业时,如何在以后获取所有作业所需的时间?即我想知道从我提交jub的那一刻起,直到最后一个工作完成的那一刻。 (我不想知道所有工作消耗了多少CPU时间。)

我这样提交:

qsub -e GE_errors/ -o GE_out/ SGE_execute

我的SGE执行脚本如下所示:

#!/bin/sh
#$ -t 1-100
~/bin/intersectBed -c -s -a infile_$SGE_TASK_ID -b template.bed > outfile_$SGE_TASK_ID

任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

简单的方法可能只是查看GE_errors和GE_out目录中最早和最新的时间戳。

或者,如果你设置了SGE的sidekick ARCo accounting system,你可以在sge_job和sge_job_usage表中看到所有这些信息(以及更多信息)。

例如,假设您的qsub命令返回给您的作业号,您可以获得其唯一ID和提交时间,如下所示:

select j.j_id, j.j_submission_time from sge_job j where j.j_job_number = ?

你可以找到所有子任务的最大完成时间,如下所示:

select max(u.ju_end_time) from sge_job_usage u where u.ju_parent = <j_id from up above>

然后减去。

请注意,上述“Sun”Wiki的文档并不完美。 (这就是我今天首先来到stackoverflow的原因。:)