AMD:多核革命的希望、风险及影响(上)

      今天,随着多核处理器的发展,计算领域正在发生具有革命性影响的转变,本文的主要目的就是要探讨,在这一转变过程中,多核处理器将扮演什么样的关键角色?并试图帮助读者从不同的角度来了解多核处理器的趋势和走向。
  
       为此,文章首先通过SPEC_fp2000和SPECfp_rate2000基准测试,比较了三种CPU设计方案(更小的芯片、增加缓存、增加核心)在性能和性价比方面的不同表现,你将看到,这三种方案各具优劣势。
  
       然后,作者讨论了多核处理器在短期内需要解决的一些问题,如功耗问题、单/多线程性能矛盾、最优核心数量等,为此,作者还对传统的Amdahl 定律进行了适当修改。此外,文章还从技术和市场的角度对多核芯片与RISC SMP进行了比较,作者认为这二者之间存在一定的相似性,而且,64位多核处理器对RISC市场构成了挑战。
  
       最后,作者从长远角度,对未来多核处理器的方向性问题进行了一些探讨,如片上SMP、异构多核、核心过多、内存带宽等问题。
  
       值得一提的是,原文的三位作者John McCalpin、Chuck Moore和Phil Hester是AMD公司的资深技术专家,其中Phil Hester是AMD公司高级副总裁兼首席技术官,负责为AMD的微处理器业务制定架构和产品方面的策略和规划。Hester同时也是AMD技术委员会的主席,负责确保产品开发、整合与工艺等各部门的综合技术能力与产品发展方向一致。由于文章技术性较强,且带有较强的前瞻性,加上编译者水平有限,难免有疏误之处,请读者多多指正。
  
       三种CPU设计方案比较
  
       多核处理器最初的开发在很大程度上要归功于 CMOS 光刻印刷(lithography)工艺的持续进步。众所周知,随着CPU 核心的尺寸/带宽的不断提升,很快就会造成投资回报的递减。因此,当核心的尺寸工艺收缩到一个小尺度上后,出于成本方面的考虑,芯片制造商通常的选择有如下三种: 
  
      生产更小的芯片
      增加大量缓存
      增加更多核心
  
       注意,增加更多内存带宽也是一种方法,但会导致处理器芯片之外的成本也会大幅增加,如修改主板(可能需要更多的PCB层)、增加DIMM插槽等。正是因为这些额外成本以及插槽兼容性方面的顾虑,增加更多内存带宽这种方法不在本文的讨论范围。
  
       针对上述三种方案,我们建立了SPEC测试模型,图 1 和图 2 显示了相关的性能和性价比指标,假定光刻印刷精度提高30%(即尺寸缩减50%),单核频率可提高17%,双核频率则需降低17%,以保持相同的功耗水平。注意,SPECfp_rate2000基准测试包含14个独立的测试。测试指标包括:最小加速比(minimum speedup)、中值加速比(median speedup)、几何平均加速比(geometric mean speedup)和最大加速比(maximum speedup)。对于双核处理器方案,要同时估算单核(uni) 和双核(mp) 的加速比。  

       如图1所示,我们针对上述三种方案进行了SPECfp_rate2000 性能评估,假定光刻印刷精度提高30%(尺寸缩减50%),相应地,单核芯片频率提高 17%,双核芯片频率降低 17%。其中,“更小芯片”方案的芯片尺寸是参考芯片的½大小,“大缓存”和“双核”两个方案的芯片尺寸以及功耗要求都与参考芯片相同。注意,“大缓存”方案的最大加速比应该是+156%,图1没有显示完整。  


      图2则针对三种方案的SPECfp_rate2000进行性价比评估,也是假定光刻精度提高30%(尺寸缩减50%),相应地,单核芯片频率提高 17%,双核芯片频率降低 17%。为进行性能和性能价格比分析,我们假设:
  
   双路“裸”系统(带有磁盘、内存和网络接口,但没有 CPU)成本为 1,500 美元。
   基本CPU 配置为 2.4 GHz 单核处理器,配备 1 MB L2 缓存,成本为 300 美元。
   Die设定为CPU 核心和L2 缓存约各占一半,其他片上功能限制在Chip全部区域的小区间中。
   “小型芯片”配置为 2.8 GHz 单核心处理器,配备 1 MB L2 缓存,成本为 150 美元。
   “大缓存”配置为 2.8 GHz 单核心处理器,配备 3 MB L2 缓存,成本为 300 美元。
   “多核”配置为 2.0 GHz 双核心处理器,每个核心配备 1MB L2 缓存,成本为 300 美元。


       下面,我们依次看看这三种方案对CPU性能和成本的影响:
  
  
      1)生产更小的芯片
  
       显然,更小、更便宜的芯片加上适度的频率提升,在性能和性价比方面能为用户带来适度的价值。如图 1,处理器价格的下降可以将系统整体成本降低 14%(1,800 美元Vs. 2,100 美元),而 17% 的频率提高可以带来 0- 14% 的性能提升,中间值和几何平均值为 8%-9%。结合这两种因素,性价比可提升17%-33%,其中间值和几何平均值为 27%-28%,如图2所示。
  
      2)增加大量片上缓存(On-Chip Cache)
  
       与其他方案相比,增加大量缓存可以带来更灵活的性能提升空间。如果将 L2 缓存从 1 MB 提高到 3 MB ,性能提升幅度为0% -127%,其中间值为 0%,几何平均值为 11.8%。如果CPU频率提升17%,同时缓存大小也增加,则可以带来更多的收益??这两个因素相结合后,性能提升可达0%-156%,中间值为11.5%,几何平均值为22.5%。注意,这里假设芯片的成本与参考系统是相同的,因此性价比与纯性能的提升比率相同。
  
      3)增加CPU 核心
  
       对许多工作负载来说,增加核心可以改善吞吐量(throughput),其代价是需要适当降低频率(如17%),以满足功耗/散热方面的要求。这里我们假设50%的尺寸缩减可以容纳2个CPU核心,跟参考芯片一样,每个核心带有1MB L2缓存,而且成本也相同。跟参考平台相比,在运行单一进程时,性能会降低 0% – 15%,中间值和几何平均值为 -10% 到 -11%。
  
       但如果我们使用第二个核心来运行第二个代码副本,那么系统吞吐量可以提高 0%-54%,中间值和几何平均值为 29% – 32%。这里,我们假定芯片的成本与参考系统相同,则性价比与纯性能的提升比率也相同。
  
       上面三个方案提供了大量令人困扰的性能和性价比指标??70 个相对值。就算将每次SPEC基准测试的14 个性能值减少到3个(最小、几何平均、最大),我们仍然需要面对9个性能值和12 个性价比值(其中9个与性能值相同)。可见,要想充分弄清楚这些指标,并做出合理的设计决策,并不是件容易的事。不过,这三个方案都各自具有明显的优势和不足:  



       当然,设计什么样的CPU,除了考虑性能和性价比方面的因素外,还有许多因素需要考虑??如市场占有率、销售收入、利润、市场影响力等等,要支持芯片厂商的市场目标、业务模式和竞争策略。
  
       在所有这些情况中,性能的变化取决于基准系统上内存性能跟CPU 性能的比值。随着内存总可用带宽的提升,大缓存的价值将减小,而多核的优势将提高。相反,相对较低的内存带宽会使大缓存更为关键,而会大大降低增加CPU核心所带来的吞吐量。
  
       对于缓存友好型的SPECint_rate2000基准测试,以2.2 GHz运行的IBM e326服务器上的结果显示:在频率相同的情况下,将每芯片上核心数增加一倍,可以使吞吐量提高65%到100%(几何平均值为95%)。