SLURM 报告的时间使用问题
questions on time usage reported by SLURM
我无法理解下面的时间使用情况报告:
1) 为什么作业步骤 1 和 2 的时间加起来不在批处理行中?
2) 每一列之间的关系是什么,尤其是TotalCPU
和CPUTime
?
3) 对于工作的时间使用情况,最好报告哪一个?
$ sacct -o JOBID,AllocCPUs,AveCPU,reqcpus,systemcpu,usercpu,tot
alcpu,cputime,cputimeraw -j 649176
JobID AllocCPUS AveCPU ReqCPUS SystemCPU UserCPU TotalCPU CPUTime CPUTimeRAW
------------ ---------- ---------- -------- ---------- ---------- ---------- ---------- ----------
649176 24 24 00:02.047 01:06.896 01:08.943 00:23:36 1416
649176.batch 24 00:00:00 24 00:00.027 00:00.014 00:00.041 00:23:36 1416
649176.0 24 00:00:00 24 00:00.813 00:24.886 00:25.699 00:08:48 528
649176.1 24 00:00:18 24 00:01.207 00:41.996 00:43.203 00:14:24 864
1) why the times for job step 1 & 2 do not add up to the batch line?
SystemCPU、UserCPU 和 TotalCPU 的 .batch
报告的时间是批处理文件中的命令花费 运行 的时间,不计算生成的进程[1]。 CPUTime 和 CPUTimeRAW 计算生成的进程,因此它们加起来与作业步骤对应的行。
2) what is the relationship between each column, especially for
TotalCPU and CPUTime?
TotalCPU 是每个 CPU 的 UserCPU 和 SystemCPU 的总和,而 CPUTime 是经过的时间乘以请求的数量 CPU。两者之间的区别在于 CPU 什么都不做(既不在用户模式也不在内核模式)花费的时间,大部分时间等待 I/O [2]
3) for time usage of the job, which one is best to report?
这取决于你想展示什么。 Elapsed(您未在此处显示)给出 "time to solution"。 CPUTimeRAW 是经常被计算和支付的。 CPUTime 和 TotalCPU 之间的差异提供了有关 I/O 开销的信息。
[1] 来自手册页
SystemCPU The amount of system CPU time used by the job or job step. The format of the output is identical to that of the
Elapsed field.
NOTE: SystemCPU provides a measure of the task’s parent process and does not include CPU time of child
processes.
我无法理解下面的时间使用情况报告:
1) 为什么作业步骤 1 和 2 的时间加起来不在批处理行中?
2) 每一列之间的关系是什么,尤其是TotalCPU
和CPUTime
?
3) 对于工作的时间使用情况,最好报告哪一个?
$ sacct -o JOBID,AllocCPUs,AveCPU,reqcpus,systemcpu,usercpu,tot
alcpu,cputime,cputimeraw -j 649176
JobID AllocCPUS AveCPU ReqCPUS SystemCPU UserCPU TotalCPU CPUTime CPUTimeRAW
------------ ---------- ---------- -------- ---------- ---------- ---------- ---------- ----------
649176 24 24 00:02.047 01:06.896 01:08.943 00:23:36 1416
649176.batch 24 00:00:00 24 00:00.027 00:00.014 00:00.041 00:23:36 1416
649176.0 24 00:00:00 24 00:00.813 00:24.886 00:25.699 00:08:48 528
649176.1 24 00:00:18 24 00:01.207 00:41.996 00:43.203 00:14:24 864
1) why the times for job step 1 & 2 do not add up to the batch line?
SystemCPU、UserCPU 和 TotalCPU 的 .batch
报告的时间是批处理文件中的命令花费 运行 的时间,不计算生成的进程[1]。 CPUTime 和 CPUTimeRAW 计算生成的进程,因此它们加起来与作业步骤对应的行。
2) what is the relationship between each column, especially for TotalCPU and CPUTime?
TotalCPU 是每个 CPU 的 UserCPU 和 SystemCPU 的总和,而 CPUTime 是经过的时间乘以请求的数量 CPU。两者之间的区别在于 CPU 什么都不做(既不在用户模式也不在内核模式)花费的时间,大部分时间等待 I/O [2]
3) for time usage of the job, which one is best to report?
这取决于你想展示什么。 Elapsed(您未在此处显示)给出 "time to solution"。 CPUTimeRAW 是经常被计算和支付的。 CPUTime 和 TotalCPU 之间的差异提供了有关 I/O 开销的信息。
[1] 来自手册页
SystemCPU The amount of system CPU time used by the job or job step. The format of the output is identical to that of the Elapsed field.
NOTE: SystemCPU provides a measure of the task’s parent process and does not include CPU time of child processes.