通过云高性能计算进行可靠的时间测量

时间:2017-09-04 13:28:05

标签: performance cloud hpc

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

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

1 个答案:

答案 0 :(得分:1)

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

尽管如此,我认为根据测试运行之间测试VM的数量,持续时间和分配/释放,您可以获得可接受的可靠性。