Io 串行代码在GPFS上的运行时间差异很大

Io 串行代码在GPFS上的运行时间差异很大,io,filesystems,wall-time,Io,Filesystems,Wall Time,我需要测量在集群上运行的串行代码的挂机时间。在独占模式下,即没有其他用户使用我的节点,代码的墙时间变化很大,从2:30m到3:20m不等。代码在每次运行中都执行相同的操作。我想知道墙时间的巨大差异是否是由GPFS文件系统引起的,因为代码读取和写入存储在GPFS文件系统中的文件。我的问题是,是否有一个工具可以查看GPFS I/o性能,并将其与代码的性能联系起来 谢谢。这是一个非常大的问题……我们需要缩小范围。所以,让我问一些问题 让我们看看简单ls命令的time命令输出 $time ls 实0.0

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


谢谢。

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

让我们看看简单ls命令的time命令输出

$time ls 实0.003s 用户0m0.001s 系统0m0.001s


挂钟时间==实时,在您的情况下,它是变化的。如果我们进入调试的下一步,要问的问题是:用户时间和系统时间是否也会变化?如果GPFS文件系统位于内核内部,并且消耗的时间不同,那么您应该看到sys time variable。如果系统时间保持不变,但实际时间不同,则程序将花费时间在某些事情上。有更多更深入的方法来发现问题……但是你能进一步澄清你的问题吗?

集群已经稳定了几天,我无法观察到不同的墙时间。今天,它似乎又出现了一些问题。正如您所建议的,我多次运行代码并观察用户时间和系统时间的变化。系统时间变化不大。但是用户时间变化很大,这导致了墙时间的变化。GPFS不在内核中,不同的用户时间证明了这一点。请让我知道如何进一步深入了解问题所在。谢谢