处理器发展分析:超过16个内核毫无意义
2008-12-12 11:04:18 来源:WEB开发网本文作者 Jon Stokes是资深技术编辑Jon Stokes。过去几年来, Jon Stokes研究的课题之一就是微处理器――芯片执行带宽和 Memory Wall(即从CPU核心到内存之间的数据交换因受制于带宽而产生的延迟)之间的关系。
近期,Sandia国家实验室的正在进行一项新研究很好奇,他们指出Memory Wall存在的问题可能远远大于该行业的普遍预期。
简单地说,“Memory Wall”的问题非常易懂,它对于多核时代来说也不是什么新鲜事物。单socket的执行带宽(即每秒执行的总指令数)受到该socket可用内存带宽的限制,此时 Memory Wall延迟问题就产生了。随着执行带宽的增加――可能因为时钟速度提高了或者die包含了更多核心(core),内存带宽也必须跟着提高才行。
而内存带宽并没有跟上执行带宽的脚步,内存总线带宽(延时和/或数据流量)的提高比例没有满足摩尔定律的要求,这导致处理器处于“挨饿”的状态。因此“Memory Wall”延迟成了一直存在于生产者和消费者之间的一个典型问题。这也是近年来on-die高速缓存规模迅速增长的原因。Memory Wall延迟越来越长,用户需要更多的缓存空间才能克服这一问题。
因此Memory Wall给多核事业的成功添加了障碍。之所以用“添加”这个词因为最大的障碍在于编程模型。大规模多线程编程不仅是一个“困难的问题”,它甚至可以成为博士论文的题目。
Sandia国家实验室在IEEE Spectrum上的一篇文章,让人们以为,在进行某些类型的科学和工程工作时,八核是Memory Wall延迟导致性能下降的原因,四个双核的性能与16核的性能大致相同,而当采用64核时计算性能急剧下降。
他们报告中表格所罗列的数据是惊人的,我真希望我能够理解它。(同样他们没有透露任何报告链接、DOI、报告标题或其他参考信息,令人难以置信)。然而,尽管缺乏根据,我相信今后会由很多多核怀疑论者将紧紧抓住这个报告,以此为论据来证明处理器最划算的核心配置应该小于16颗。
看起来Sandia正在推广这样一种观点:在处理器上堆叠内存芯片是解决带宽问题的方法。如果他们的想法确实是这样,那他们有很多志同道合的伙伴。英特尔和IBM公司已经大肆宣扬过芯片堆叠技术的好处了;Sun公司也公布了其在高带宽内存互连接口领域的研究。但是,我认为这些芯片堆叠计划的实现比16个内核以上的处理器的投产更遥远些。
赞助商链接