0

我使用一些共享内存库(例如 openmp、tbb 等)开发了一系列微基准测试,以检查它们如何根据线程数进行缩放。

目前我在 4 核处理器上运行它们,结果非常合理,但我在加速图上只得到 3 分。

为了获得更多数据并对其进行更广泛的分析,我计划在 32 核机器上运行它们。

一种可能性是购买 32 核处理器,例如 AMD Epyc 或 Intel Xeon,它们有点贵,但我知道我会得到什么。我的第二个更便宜的选择是在云上运行它们,比如 Amazon AWS 或 Microsoft Azure。

然后,在做出选择之前,我需要澄清一下:

据我了解,AWS 可以制造具有我想要的任意多内核的机器,但所有内核都是虚拟化的。

当我运行一个应用程序时,它的执行时间测量有多可靠?

当我在真正的 32 核处理器上运行应用程序时,我会获得相同的可扩展性吗?

4

1 回答 1

0

从数十年的虚拟化性能经验来看,这是一个需要谨慎的领域。很大程度上取决于您的虚拟机与其他虚拟机之间的竞争程度,在许多云环境中,如果没有工具,很难知道这一点。此外,尚不清楚您是否在讨论经过时间和/或处理器时间。两者都可能受到虚拟化的影响,尽管我的经验是经过的时间变化更大。我无法谈论列出的环境,但在 IBM Z 虚拟化解决方案中,我们提供了涵盖虚拟机消耗的处理器时间和管理程序消耗的处理器时间的指标。出于您的目的,您只需要虚拟机使用的内容。抱歉,我不知道您提到的任何一个平台是否提供了该信息。在这些类型的实验中,

于 2018-07-20T15:44:13.633 回答