即使cpu数量增加,执行时间也会增加,为什么?

Increased Execution TIme even with increased number of CPUs, Why?

本文关键字:增加 为什么 执行时间 cpu 即使      更新时间:2023-10-16

我在HPC集群上运行了不同cpu数量的相同c++问题大小,但我发现当cpu数量增加时,执行时间也会增加。我原以为执行时间会大大减少。有人能解释一下这个问题吗?

下面是每#个cpu的执行时间

  Number of CPUs      Problem size         Time (seconds)
  1                   3000000              15.48
  2                   3000000              18.2
  4                   3000000              21.73
  8                   3000000              40.55
  16                  3000000              60.14
  32                  3000000              98.75

我的想法:

  • cpu之间通信增加过多,导致执行时间增加。

希望这说明了问题:

有两个主要因素影响性能:cpu本身的速度和对内存y的访问的速度。在集群中,很明显,给定的CPU对同一计算机(节点)内的RAM的访问速度最快。也许更令人惊讶的是,由于主存和缓存的速度不同,在典型的多核笔记本电脑上也存在类似的问题。因此,一个好的多处理环境应该允许特定CPU控制一块内存的"所有权"。