【问题标题】:Reliable time measurements with cloud high-performance computing使用云高性能计算进行可靠的时间测量
【发布时间】:2017-09-04 13:28:05
【问题描述】:

我从事图搜索算法的研究。在这项研究中,为了比较两种算法的运行时间性能,可靠(即可重复地)测量单线程程序的运行时间的能力至关重要。运行时间在程序内部测量(用 C++ 编写),不包括对辅助存储的任何访问(仅在初始输入阶段发生)。我曾经可以访问真实(即非云)HPC 集群的专用节点。我记得,当我在这样的节点上运行我的程序两次(使用相同的输入)时,我得到的时间测量值相差很小的一个百分点。问题是:我能否在云 HPC 平台上获得如此可靠的时间测量?

为了进一步证实这个问题,对于某些算法和问题实例,我的程序可能会使用大量内存(例如,64GB)。如果我理解正确,即使是承诺没有超线程和专用内存的专用内核的云平台,也会构建一个虚拟机来满足这种内存需求。组成该虚拟机的节点在两次运行之间可能不同,从而导致不同的通信开销,从而导致不同的时间测量。所以,重复这个问题:我可以在云 HPC 平台上获得可靠的时间测量吗?

【问题讨论】:

    标签: performance cloud hpc


    【解决方案1】:

    基于here 中描述的讨论和经验 和here 似乎可以肯定地说你不应该期望测量值总是相似的。

    不过,我认为根据测试的数量、持续时间以及测试虚拟机在测试运行之间的分配/取消分配,您可以获得可接受的可靠性程度。

    【讨论】:

    • 感谢您的指点。这些文章是特定于 Microsoft 平台的,可能会说明在 Linux 下开发的程序的可移植性问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    相关资源
    最近更新 更多