问题标签 [wall-time]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1938 浏览

python - 使用标准库在 Python 中检索挂起时间?

如何使用标准库在 Python 中检索挂钟时间?

这个问题和这个问题会暗示类似clock_gettime(CLOCK_MONOTONIC_RAW)/proc/uptime最适合Linux的东西。在 Windows 上,time.clock()具有预期的效果。

我会使用time.time(),但不能保证该函数返回单调(和线性)增加的时间值。

0 投票
2 回答
1597 浏览

time - 经过时间大大超过用户+内核时间的原因是什么?

我看到很多线程询问经过时间(挂起时间)小于用户+内核时间的情况,并且我了解多线程如何导致这种情况。但是,当通过以下方式定时执行某些 MPI 代码时:

$ 时间 mpirun -n 4 ./a.out

我看到经过的时间范围为 4-5 分钟,用户时间约为 40 秒,内核时间约为 40 秒。我认为进程之间的屏障同步可能是原因的一部分,或者可能只是获取有关单个 MPI 进程的信息,但我仍然无法准确解释导致我的读数的原因。谁能解释一下?

非常感谢。

0 投票
2 回答
2409 浏览

java - How to compute wall time from UTC time + TimeZone ID?

I have been googling around this issue, but could not find clear and definitive documentation.

Assuming I have a UTC time and a TimeZone ID, how do I calculate wall time (= UTC time + Timezone offset + daylight savings) in Java knowing that daylight savings change during the year?

I am looking for a tested code example. Thanks.

0 投票
1 回答
40 浏览

io - 串行代码在 GPFS FS 上的运行时间有很大差异

我需要测量在我们的集群上运行的串行代码的运行时间。在独占模式下,即没有其他用户在使用我的节点,代码的挂墙时间变化很大,从2:30m到3:20m不等。代码在每次运行中都做同样的事情。如果挂起时间的巨大差异是由 GPFS 文件系统引起的,我正在徘徊,因为代码读取和写入存储在 GPFS 文件系统中的文件。我的问题是是否有一个工具可以查看 GPFS i/o 性能并将其与我的代码性能相关联?

谢谢。

0 投票
1 回答
643 浏览

state - 使用 PBS 在超级计算机上暂停、保存到磁盘、重新启动长时间的作业

我需要能够暂停“正在运行的脚本”,让操作系统将其状态保存到磁盘,然后通过读取该状态并准确地从它离开的位置继续来恢复它。该系统是一个12核计算节点,共享内存为48GB,运行linux。我没有管理员权限,我使用 ssh 远程登录。脚本和其中的可执行文件不使用 GUI,它都是命令行,据我所知,不需要明确的网络或套接字。

“运行脚本”(或“管道”)是指 bash 脚本或 perl 脚本或两者的组合,它们会产生一些 C/C++ 可执行文件,可能它们正在使用 openmp 并行化。或者使用 gnu-parallel 生成并行可执行文件。因此,我们不是在谈论单个可执行文件,而是一系列并行或按顺序运行的可执行文件,使用隐式并行化超过 12 个内核和公共内存,并由几个 unix 命令(例如 awk)粘合。

我需要暂停并重新启动管道,因为调度程序(MOAB)会杀死(系统规则)所有运行时间超过 24 小时的作业。这个想法是暂停工作并重新排队。这种技术是完全合法的。

修改可执行文件的源代码以便它们都保存状态并稍后恢复它是不切实际的,因为这意味着修改几个开源可执行文件以接受“保存状态和暂停”信号,比如 ImageMagick 的“转换”或甚至是 'grep'、'sed'、'awk' 和 perl !另外,还有一个可执行文件是闭源的,没有源代码。

所以,我相信我处于一种(唯一的?)实用选择是在所谓的沙箱环境中运行我的“脚本/管道”的情况,例如 QEMU(一个模拟器),希望可以发送一个信号要“休眠”,只需将整个内存和 cpu 状态保存到磁盘(48GB 不是问题)并挂起,即可保存其中所有当前正在运行的程序的状态。

我不是上述任何方面的专家,所以请原谅我的术语,或者如果我说了什么无效的话。我只是素描。

回顾一下:我正在向任何有经验的人询问在 linux 下暂停和重新启动复杂脚本作业的解决方案,而无需将代码修改为“保存状态”。该解决方案还应该具有相对计算效率,即最终不会浪费大量超级计算机的能力来运行仿真器。

如果您认为我上面谈到的 QEMU 解决方案是可以的,那么请,如果可以,请举一些例子说明如何开始,即从公共 ISO 创建一个模拟器 linux 映像,加载映像,运行“脚本”,告诉模拟器在 20 小时后“暂停/休眠”,然后通过从暂停状态读取它的状态来恢复模拟器。所有这一切,最好是从命令行或通过脚本。

欢迎任何其他解决方案,只要它们是实用的(对于给定的设置)。

请注意:我没有管理员权限,但可以在我的 homedir 中安装东西并且有很多硬盘空间。此外,这些程序不使用 GUI,它都是命令行,据我所知,不需要明确的网络或套接字。

作为带有模拟器的解决方案的积极副作用,任何这样的“管道”都可以分发到实施“沙盒”/模拟器的任何操作系统(例如 mac 或 win),而无需重新编译所有内容的复杂过程并安装 gnu-utils、bash、boost 等。我发现自己多次遇到这种情况。

谢谢你的帮助,bliako。

0 投票
1 回答
71 浏览

c++ - 基于 Linux 的集群上的 CPUTIME 和 WALLTIME C++ 代码

我有一个 C++ 代码,我正在运行一个基于 linux 的集群。我想测量 CPU 时间和挂墙时间。提交作业的 bash 文件如下所示:

我在这里先向您的帮助表示感谢。

0 投票
0 回答
931 浏览

python - 在python中使用multiprocessing [joblib used],如果Wall Time >> CPU Time是什么意思?(240 秒对 0.22 秒)

我正在与 python 多处理模块并行运行一个函数。此函数将图像作为输入,并输出一些测量值。问题是,我比较了 time.time() 与 time.clock() 的结果,看起来墙时间比 CPU 时间长得多。像 240 秒对 0.22 秒!

如果我理解正确,这意味着 CPU 在执行我的功能上花费的时间不到 1 秒,而且在大多数情况下,我都在等待读/写/磁盘等。这听起来正常吗?我用的是公用的超算中心(虽然很强大),不知道是不是因为其他用户也在用cpu节点,所以我要等待?

以下是我的代码,您能否指出代码的任何部分是否可能是原因?非常感谢!

0 投票
1 回答
87 浏览

c++ - 功能在特定时间内消耗墙壁时间

我有一个函数,该函数需要根据机器上的负载进行调整,以准确消耗传递给函数的墙时间。该系数可以根据机器的负载而变化。

有没有办法动态检查机器上的负载并相应地调整因子以消耗传递给函数的确切时间?

从文件中读取挂起时间并将其传递给此函数。这些值以微秒为单位,例如:

0 投票
0 回答
113 浏览

c++ - 多线程应用程序的壁时间分析

我有两个应用程序:一个是多线程的,一个是完全顺序的。两个应用程序执行相同的任务。我正在尝试计算多线程应用程序的加速。147.19 us不知何故,与顺序代码 ( ) 相比,我在多线程代码 ( ) 上获得了更多的时间41 us。墙上时间分析还有其他方法吗?

0 投票
2 回答
3973 浏览

python-3.x - 如何使用 bash 内置“时间”在 Python 变量中捕获挂钟时间和 CPU 时间?

我正在编写一个将在命令行中运行的 Python 脚本。这个想法是从用户那里获取命令,运行它,然后提供用户提供的命令的挂钟时间和 CPU 时间。请参阅下面的代码。

我怎样才能做到这一点?此外,如果有比使用“时间”更好的方法,我愿意尝试。