代码之家  ›  专栏  ›  技术社区  ›  Sean McCauliff

每个CPU的核心数量以什么速率增加?

  •  4
  • Sean McCauliff  · 技术社区  · 14 年前

    我正在设计一个系统,该系统将在2016年上线,并在商品1U或2U服务器盒上运行。我想知道软件需要多大的并行性,所以我想估计每台物理机器的内核数量。我对更具异国情调的硬件不感兴趣,比如视频游戏机处理器、GPU或DSP。我可以根据英特尔或AMD发行的芯片的时间来推断,但这些历史信息似乎很少。

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Community CDub    8 年前

    我找到了以下图表 Design for Manycore Systems :

    alt text

    alt text

        2
  •  1
  •   Jonathan Dursi    14 年前

    正如伟大的计算机科学家约吉·贝拉所说,“很难做出预测,尤其是对未来的预测。”考虑到多核系统的相对近况,我认为谨慎外推是正确的。不过,你还是需要一个数字作为目标。

    斯皮内利的图表是非常有价值的,而且(我认为)有利于建立到2014年的真实计划。除此之外,如果你想要一个简单、易于计算和防御性的数字,我会把当前(比如)2U系统中以你的价格点为起点的内核数量(高端系统——15美元时24-32个核;中频12-16个核,8美元时8-12个核,5美元时8-12个核)。然后请注意,摩尔定律表明,2016年每单位硅晶体管的数量是现在的8-16倍,按照目前的趋势,这些晶体管主要进入更多的核心。这就意味着每个节点有64-512个内核,这取决于你在每个节点上花费了多少——这些数字与上面公布的马特·斯皮内利的图表是一致的。

        3
  •  0
  •   Paul McMillan    14 年前

    我认为,每台物理机器的内核似乎不是一个特别好的度量标准。我们还没有真正看到数字以特别非线性的方式增长,并且自90年代以来,许多核心硬件都已经提供了商用现货(尽管在这一点上它是相对专业的)。如果你的任务真的是如此并行,那么将核心数量增加四倍并不会对它造成太大的改变。我们始终可以选择更快但更少的内核,如果您发现当前的内核数量不能很好地进行扩展,那么6年后您仍可以使用这些内核。

    如果您的应用程序真的是令人尴尬的并行,为什么您不愿意考虑GPU解决方案?

    您计划以多快的速度旋转硬件?把旧机器留到它们死掉,还是在它们开始减慢集群速度时主动更换它们?我们在谈论多少台机器?你在考虑什么样的互连技术?对于许多集群应用程序来说,这是限制因素。

    上面的drdobbs文章不是一个坏的分析,但我认为它忽略了一点。在许多主流应用程序能够利用真正并行的通用计算硬件(而许多任务根本无法并行化)之前,这将是一段很长的时间,当它们这样做时,它们将使用图形卡和(在较小程度上)声卡作为它们所使用的专用硬件。去做吧。