【发布时间】:2011-10-18 17:29:38
【问题描述】:
我看到很多线程询问经过时间(墙上时间)小于用户+内核时间的情况,我了解多线程如何导致这种情况。但是,当通过以下方式定时执行某些 MPI 代码时:
$ time mpirun -n 4 ./a.out
我看到经过的时间范围为 4-5 分钟,用户时间约为 40 秒,内核时间约为 40 秒。我认为进程之间的屏障同步可能是原因的一部分,或者可能只是获取有关单个 MPI 进程的信息,但我仍然无法准确解释导致我的读数的原因。谁能解释一下?
非常感谢。
【问题讨论】:
-
睡眠时间不属于用户时间和内核时间。线程可以在磁盘上等待、在网络上等待、在管道上等待、在互斥体上等待……