时钟速度与并行计算机模拟的核心数量

时钟速度与并行计算机模拟的核心数量

我的问题类似于本网站上已经提出的一些“速度与核心”问题。但是,我对一些非常具体和技术性的问题感兴趣。所以我希望我的问题能够得到“答案”,而不是仅仅基于观点。

在我的工作场所,我们经常使用计算机模拟来解决某些统计问题。我们使用的软件主要是为单核设计的,但我们使用这些程序的多个实例并行运行它。模拟需要大量计算,一次迭代可能需要长达一小时才能完成。

为了提高这些计算的速度,有人要求我提出一些最适合的模型。但是,目前我不确定,与并行化进程相比,更高的时钟速度是否对计算更有利。

我们目前使用的计算机是服务器级解决方案,包含多个速度相对较高的 CPU(16 个物理核心,每个 2.9GHz,没有 GPU)。因此,决策归结为两个选项:

  • 投资具有稍高时钟速度(例如 3.2GHz)和相同数量内核(比如 16)的类似机器,或者......
  • 降低时钟速度(例如 2.6GHz)并增加核心数量(例如 20 或 24)。

我不确定提高时钟速度是否能给计算密集型应用带来好处,因为我假设性能不会随着时钟速度线性增加。严格来说,我可以简单地这样解决这个问题:

  • 3.2GHz * 16 核 = 51.2GHz,或者......
  • 2.5GHz * 24 核 = 60.0GHz

然而,我确信这种计算在很多方面都存在缺陷。但具体是哪些方面呢?在这个特定案例中,钱并不是真正的问题,不幸的是,使用 GPU 进行计算必须被排除。

这些机器将运行 Windows Server 2012 R2,专门用于此类计算。所有涉及的程序都针对 64 位进行了优化,但有时也会涉及 32 位软件程序。内存和硬盘不应是需要考虑的重要因素。

干杯!

答案1

这些计算并不精确。它们是从数学角度进行的,但在计算中,您实际上需要乘以 0.9 到 0.75 才能获得真正的“功率”,而更多的内核/处理器意味着更低的数字。这是因为您需要并行化任务并从不同线程构建最终结果的计算机能力。

相关内容