【发布时间】:2017-09-04 13:28:05
【问题描述】:
我从事图搜索算法的研究。在这项研究中,为了比较两种算法的运行时间性能,可靠(即可重复地)测量单线程程序的运行时间的能力至关重要。运行时间在程序内部测量(用 C++ 编写),不包括对辅助存储的任何访问(仅在初始输入阶段发生)。我曾经可以访问真实(即非云)HPC 集群的专用节点。我记得,当我在这样的节点上运行我的程序两次(使用相同的输入)时,我得到的时间测量值相差很小的一个百分点。问题是:我能否在云 HPC 平台上获得如此可靠的时间测量?
为了进一步证实这个问题,对于某些算法和问题实例,我的程序可能会使用大量内存(例如,64GB)。如果我理解正确,即使是承诺没有超线程和专用内存的专用内核的云平台,也会构建一个虚拟机来满足这种内存需求。组成该虚拟机的节点在两次运行之间可能不同,从而导致不同的通信开销,从而导致不同的时间测量。所以,重复这个问题:我可以在云 HPC 平台上获得可靠的时间测量吗?
【问题讨论】:
标签: performance cloud hpc