【问题标题】:Serial Code Experience Big Difference In Running Time On A GPFS FS串行代码在 GPFS FS 上的运行时间有很大差异
【发布时间】:2013-09-26 07:54:41
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: io filesystems wall-time


    【解决方案1】:

    这是一个非常大的问题......我们需要缩小范围。所以,让我问一些问题。

    让我们看看一个简单的 ls 命令的时间命令输出。

    $ 时间 实际0m0.003s 用户 0m0.001s 系统 0m0.001s

    挂钟时间 == 实时,在您的情况下,它是变化的。如果我们进行下一步调试,要问的问题是:用户时间和系统时间是否也不同?如果 GPFS 文件系统在内核内部并且消耗不同的时间,您应该看到 sys 时间变化。如果 sys 时间保持不变,但实际时间不同,那么程序就是在花时间睡觉。有更多更深入的方法可以找到问题....但您能否进一步澄清您的问题?

    【讨论】:

    • 集群已经稳定了几天,我无法观察到不同的挂墙时间。今天好像又出问题了。正如您所建议的,我多次运行代码并观察用户时间和系统时间的变化。系统时间变化不大。但是用户时间变化很大,导致挂墙时间发生变化。 GPFS 不在内核内部,不同的用户时间证明了这一点。请让我知道如何继续以更深入的方式找出问题所在。谢谢。
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多