泡泡网CPU频道 PCPOP首页      /      CPU     /      评测    /    正文

多核革命 AMD首席技术官帮你解密CPU

    前言:本文的主题是“即将到来的多核革命,对处理器领域的期望、风险及影响”,顾名思义,既可以看作是对如今多核处理器的意义做出解释,也可以看作试图从多种不同角度让人了解多核处理器的作用的一种期望。我们更倾向于后一种方式,因为随着时间的推移,多核处理器将在计算行业的转型中扮演不同的重要角色。

{imageTitle}
 AMD首席技术官Phil Hester

    本文旨在深入讨论微处理器设计领域中“平衡”与“优化”的含义。

● 首先介绍一下处理器术语

◎多核处理器出现之前,技术领域是什么状况?

{imageTitle}

    在试图介绍多核计算发展之前,我们有必要先在术语和目标方面达成共识。令人讶异的是,这一领域中的很多常用词汇用在计算产品的生产方、采购方和用户方,涵义迥然不同。若针对这些不同的涵义进行研究,将显著增加复杂度和权衡取舍的难度,而它们对于工程设计流程却是至关重要的。

    “平衡”的概念:

    对于“平衡”,韦氏在线辞典共列出了 12 个定义,其中与本文关系最为密切的定义有两个:

    第5项
    a:由于在垂直轴的两端分布等量的重量而产生的稳定性。
    b:在对比、对立或交互元素间的均衡性。
    c:账目两端的总值相等。

    第6项
    a:在美学意义上多个元素的完美整合

    在计算机系统中,人们对于“平衡”的理解多是这两种概念。前者是定量、分析性的,但却试图迅速将这一定义结合到各种复杂因素之中。计算机系统应该在哪些属性上体现出“对称分布”?我们认为,这些重要的属性包括:成本、价格、功耗、物理尺寸、可靠性以及众多相对独立的性能属性的任意主体。在选择哪些属性实现“平衡”,或如何将多种属性比较整合成单一的“平衡”标准时,将不会存在显而易见的“正确答案”。

    当考虑计算机系统的多维设计/配置空间时,“平衡”的美学定义带有设计者强烈的个人色彩,但应用到工程和业务空间上时,如果忽略定量因素,则会使整个 “平衡”概念失去效用。

    这些标准定义的缺乏表明了一种不容忽视的微妙关系。在本文中,我们很高兴能够继续使用“平衡”一词,但需要指出,在清晰定义的定量环境中(包括如何将它们组成单一的优化问题),该词只具有数量含义。

    “优化”的概念

    对于“优化”,韦氏在线辞典中仅列出 1 个定义:使事物(例如一个设计、系统或决策)尽可能完美、起作用或有效的一种行动、流程或方法;具体指参与其中的数学程序(例如找到函数的最大值)。

    对于此术语,计算机用户最常见的使用错误,是错误地将编译器理解为“优化器”,在此情况下,往往只将“优化”用作“改进”的同义词。虽然词意相近,但优化(在其数学含义中)指的是在存在约束的条件下(也可能只是由目标功能自身产生的约束限制),将特定的目标功能最小化或最大化。与之对照,“改进”是指“使事物变得更好”,并不具有“优化”概念中至关重要的“权衡”的意义。

    计算机系统设计中的优化是指,选择使特定目标功能最大化或最小化的参数,同时,还通常为其他目标功能提供“次级优化”解决方案。在普遍使用的目标功能中,有很多参数相互矛盾,例如,低成本与高性能、低功耗与高性能等。设计参数一旦相互抵触,就将根据具体目标功能的量化公式找到“最优”设计点——例如明确要求,提升10%的性能(或把功耗降低 10%)对其他设计目标会产生怎样的影响?


 【文章导航

    首先介绍一下处理器术语
      多核处理器出现之前,技术领域是什么状况?
         核心概念:考查到处理器设计的“平衡和优化”
         如何做才能达到性价比的平衡
         我们先来假设几种设计方案,以此来看CPU的成本核算
    回顾在多核心芯片设计中最初开发遇到的问题
     生产更小的芯片
     提升缓存来提升整体的性能
     增加CPU内核心数量
     反思这样做究竟能带来性能提升有多少?
     补充说明
    多核心处理器当前和短期内需要面对的问题
      功耗问题
      功耗与吞吐量及核心和核心数量的矛盾
      市场需求问题
        与操作系统的不兼容
        价格趋势
        “杀手级”处理器的诞生
    未来多核心处理器的发展方向
      SoC(SMP on a Chip)的发展
      设计空间爆炸式增长
      处理器核心异构化
      CPU未来会有多少个核心?
      内存带宽的挑战?
    总结AMD技术发展趋势

◎ 如何做才能达到性价比的平衡?

    为撰写本文,我们将使用一个带有调整后的系数,并最适应SPEC_fp2000和SPECfp_rate2000基准测试大型子集(截至2006年 3 月)的分析模型,估算多种配置选项的性能影响。

    该分析模型包括508个SPEC_fp2000结果730个SPECfp_rate2000结果。另有233个结果被排除在分析之外,因为它们使用了先进的编译器优化或特殊的硬件配置,而这都会导致其与大部分结果进行比较毫无意义。

{imageTitle}

    前面已经对该性能模型进行了介绍,但是,此处对其进行了扩展以纳入更完整的数据集,并已经将它应用到每个SPEC_fp2000基准测试结果的14 个测试项目和几何平均值中。虽然该模型没有捕捉这些基准测试的某些性能特征细节,但它对大量结果进行最小二乘法,能够大幅度减少与单个结果相关的随机“干扰”,并提供很高的平台独立性。

    简而言之,该模型假定每个基准测试的执行时间为“CPU 时间”和“内存时间”之和。其中,内存子系统完成的“工作”数量是缓存规模的简单函数,从“大型”缓存(其中“大型”也是该模型的一个参数)最大值线性减少到无缓存的最小值,对大于大型规模的缓存,内存工作量恒定不变。假定CPU工作的完成率与芯片采用64 位IEEE 算法的峰值浮点性能成正比,而内存工作的完成率与系统在171.swim(基础)基准测试上的性能成正比。此前的研究已经显示,在171.swim 基准测试上的性能和使用STREAM基准测试直接测量的持续内存性能之间有很强的联系。

    该模型的模拟结果与测量结果有很强的相关性,75% 的测量结果都具有15%的模拟映射。这指出,基础的模型假设与这些系统在这些基准测试上的实际性能特征一致。虽然模型中存在某些体系性错误,但模型与观察结果之间的差异并非都来自于硬件假定的过度简化,很多差异也可能来自于编译器、编译器选项、操作系统和基准配置方面的差异。总的来说,该模型足够健壮,可以作为说明微处理器系统中性能和性能价格比灵敏度的基础。

◎ 我们假设几种设计方案,以此来看CPU的成本核算

    为进行性能和性能价格比分析,我们将假定:双插槽“裸”系统(带有磁盘、内存和网络接口,但没有CPU)成本为1,500美元。

    基本CPU配置为2.4GHz单核处理器,配备1MBL2缓存,成本为300美元。

    Die设定为CPU核心和L2缓存约各占一半,其他片上功能限制在Chip全部区域的小区间中。

    “小型芯片”配置为2.8GHz单核心处理器,配备1MBL2缓存,成本为150美元。

    “大缓存”配置为2.8GHz单核心处理器,配备3MBL2缓存,成本为300美元。

    “多核”配置为2.0GHz双核心处理器,每个核心配备1MBL2缓存,成本为300美元。

● 回顾在多核心芯片设计中最初开发遇到的问题

    多核心处理器最初的开发在很大程度上要归功于CMOS光刻印刷工艺的持续进步。众所周知,随着CPU 核心的尺寸/带宽的不断提升,很快就会造成投资回报的递减。所以当核心的尺寸工艺收缩到一个小尺度上后,出于对Die经济可行性的考虑,制造商通常有如下选择:生产更小的芯片、增加大量缓存、增加更多核心

    增加更多内存带宽的选择显然会增加大量处理器芯片之外的成本,包括修改主板(如许多PCB层的改动)、增加DIMM插槽等。由于这些额外成本和插槽不兼容的问题,增加更多内存带宽将被单独考虑,与涉及Die尺寸的选项不相关。

{imageTitle}
 图一

{imageTitle}
 图二

    图1和图2显示了一些与这三个选项相关的性能和性能价格比指标,假定光刻印刷面积缩减30%(即区域缩减50%),支持单核心频率提高17%,但需要双核心频率降低17%(以保持相同的功耗水平)。注意,SPECfp_rate2000基准测试包含14个独立的测试,它们均单独建模。这些可以总结为:最小提速、中值提速、几何平均数提速和最大提速。对于双核心处理器选项,要同时估算单核心(uni)和双核心(mp)提速。

    图一针对三种系统配置进行SPECfp_rate2000性能评估(基于章节1中描述的分析模型),假定光刻面积缩减30%(区域缩减50%),相应地,单核心芯片频率提高17%,双核心芯片频率降低17%。小型芯片的尺寸为参考芯片的½,同时,大缓存和双核版本扩展到与参考芯片相同的尺寸,且电源需求与参考芯片相同。注意,大缓存情况下的最大提速为+156%,但由于此处的图形范围限制而被截断显示。

    图二针对三种系统配置的SPECfp_rate2000/价格评估(基于章节1中描述的分析模型),假定光刻面积缩减30%(区域缩减50%),相应地,单核心芯片频率提高17%,双核心芯片频率降低17%。

    接下来,我们就看看这三方面对于多核处理器的影响。


◎ 生产更小的芯片

    显然,量产那些时钟频率仅满足基本需求的更小/更便宜的芯片,在为客户提升性能和性能价格比方面价值不大。在此例中,处理器价格的下降可以将系统整体成本降低14%(1,800美元比2,100美元),而17%的频率提高可以在性能方面带来0%到14%的提升,中间和几何平均数提升为8%-9%(图1)。这两种因素的结合可以提供17%到33%的性能价格比提升,其中间和几何平均数性能价格比提升为27%-28%。

{imageTitle}

◎ 提升缓存容量,来提升整体的性能

    与其他选择相比,增加大量缓存为所有工作负载带来的提升变化范围更大。在此例中,将L2缓存从1MB提高到3MB可以带来0%到127%的性能提升,其中值提升为0%,几何平均数提升为11.8%。而17%的CPU频率提升与缓存规模提升相结合可以带来更多收益,二者结合的性能提升为0%到156%,中值提升为11.5%,几何平均数提升为22.5%。

    在此情况下,假定芯片的成本与参考系统相同,则性能价格比的提升比率与纯性能提升比率相同。

◎ 增加CPU内核心数量

    增加核心可以广泛提升各种工作负载的吞吐量,并需要付出不大的频率降低(17%)以满足功耗/冷却限制。在此,我们假设50%的区域缩减使我们能够容纳2个CPU核心,每个都配备与参考芯片相同的L2缓存且成本相同。在运行单一进程时,性能比参考平台低0%到15%,中间和几何平均数性能变化为-10%到-11%。

    如果我们可以使用第二个核心运行第二个代码副本,则系统的吞吐量可以提高0%到最大的54%,中间和几何平均数提速为29%到32%。在这种情况下,假定芯片的成本与参考系统相同,则性能价格比的提升比率与纯性能提升比率相同。

◎ 反思这样做究竟能带来性能提升有多少?

    上面三个实例提供了大量令人困扰的独立性能和性价比指标——70 个相对值。就算将SPEC基准测试的14 个性能值减少到3个(最小、几何平均数、最大),仍然给我们留下了9个性能值和12 个性价比值(其中9个与性能值相同)。将这些值结合为1个指标,用以制定合理的设计决策并不是一项轻而易举的事。

设计选项

主要优势

主要缺点

小芯片

降低价格

最弱的提升幅度

大缓存

在少数代码上有巨大的性能提高

最弱的中间和几何平均数性价比提升

双核心

最强的中间和几何平均数吞吐量提升

降低了单处理器性能


    找到这六项主要优势或主要缺点中的哪些会对哪些客户构成关键决策因素,相对简单。而上述信息的利用、推广,以及用其来支持公司的商业模型就要复杂得多。

{imageTitle}
 无论怎样,性价比最重要

    当然,设计决策必须支持公司投资的商业模式。即使是看起来最简单的目标“赚钱”在细节检查上也会一片混乱。可以将商业模型设计为取得非常好的短期收入、短期利润、长期收入、长期利润、市场“轰动”或“良好愿望”,也可以设计为实现具体市场份额目标或尽量向竞争对手施加财务压力。真实的市场模型是这些目标的复杂结合,不幸的是,对于“纯粹”的设计优化流程,不同的商业目标可以改变各种性能和性能价格比指标的相对重要程度。

◎ 补充说明

    在所有这些情况中,性能的变化取决于基准系统上内存性能与 CPU 性能的比率。随着可用带宽的提高,大缓存的优势将递减,而更多 CPU 核心的优势将提高。与此相反,相对较低的内存带宽会使大缓存更为关键,而明显降低增加CPU核心带来的吞吐量提升。

    对于对缓存有利的SPECint_rate2000基准测试,以2.2 GHz运行的IBM e326服务器上的结果显示:在SPECint_rate2000上,每芯片上同频率核心数量的翻倍可以将吞吐量提高65%到100%(几何平均数提升= 95%)。

● 多核心处理器当前和短期内需要面对的问题

{imageTitle}

◎ 功耗问题

    功耗与性能一样,比我们最初假设的情况更加多元化。在基于高性能微处理器南低郴肪持校?#8220;功耗问题”包括:

     • 通过众多超细针脚/焊点传送到芯片的大量电流。(注意:即使在同样的功耗水平下,随着电压下降,电流上升,针脚/焊点内的热阻也将升高。)

    • 消除大量热量,以防止Die温度超过阈值,明显缩短产品寿命。

    • “热点”问题:芯片局部区域中的功耗密度过高可能将导致局部故障。(注意:若为了保持同样的功耗水平,将晶圆上的处理器内核尺寸减少一半,同时提高频率,则内核中的功耗密度将提高一倍。)

    • 为提供这些服务,需要提供大量电力——包括电力成本和用电升级成本。

    • 消除保有这些服务器的设施所产生的大量热量——包括电力成本和机房冷却系统升级成本。

    • 消除处理器芯片造成的大量热空气,这些热空气同样影响其他热敏组件(如内存、硬盘等)。

    由此可以看出,功耗问题实际上至少与5、6个相互关联而性质截然不同的技术和经济问题有关。

◎ 功耗与吞吐量及核心和核心数量的矛盾

    针对以同样的功耗水平提高性能这一问题,我们着重讨论一下如何使用越来越多的核心提供更高的吞吐量。

    如果参数保持不变,功耗通常以CPU时钟频率的平方或立方倍率增长。但是,性能的增长速度是低于频率的线性增长速度的。对于能够利用多线程的工作负载来说,多核心能够显著提高每瓦吞吐量。但是,正如之前所见,这种吞吐量的增长除了等待光刻工艺的提高,使我们能够在一个芯片上放置更多核心之外,我们还可以创建更小的CPU核心,使其外形更小巧,效能更高。就在前不久这种技术还很少见(除了SunT1处理器芯片),这是因为我们假设单线程性能太重要了,不能牺牲它。

    我们将在“长期预测”章节继续讨论这一问题,但是,之前描述的性能模型的直接应用说明,只要CPU内核功耗下降的速度大于峰值吞吐量的速度,则通过无限数量的极小快速核心,即可获得非常好的吞吐量。显而易见,这种系统的单线程性能将非常低,从而直接影响对单一指标值的优化。为了解决这一问题,一种方法是可以定义一个可接受的最低单线程性能,然后对芯片进行优化,在面积和大功耗的限制条件下,尽可能加入更多的核心。

    还有一种方法是将核心数量限制到一个合理的数量。在此处使用的单一吞吐量模型中,我们忽略了通信与同步这一因素。若用户希望在单一的并行/线程应用中使用更多的核心,将需要某种通信/同步,而且对于固定工作负载,还必须要保证通信/同步的开销将随着作业中使用的CPU核心数量而单向增长。

    由此产生了对Amdahl定律的简单修改:

{imageTitle}

    其中,T为解决问题所需的总时间,Ts是完成串行(非重叠性)工作所需的时间,Tp是完成所有可并行工作所需的时间,N是并行工作使用的处理器数量,To是结合实施该应用所需的通信与同步,每个处理器的开销。最后这一条件说明,随着处理器的增多,开销也将提高,而这是传统的Amdahl定律公式中所没有的。

    在标准模型(没有开销)中,解决问题所需的总时间随着N函数单调递减,逐渐接近Ts。在修改后的公式中,可以明显看出,随着N的增加,由于出现通信开销,解决问题所需的总时间将开始增加。在上述的简单示例中,可以根据以下公式定义完全并行的应用(Ts=0)所需处理器的最优数量:

{imageTitle}

    由此,举例来说,若To是Tp的1%,则可以使用10个处理器获得最大性能。是否将此作为一个重要设计点,将取决于其他性能与性能价格比指标的相对重要性。

◎ 市场需求问题

    即将推出的多核芯片与RISCSMP极其相似——在过去的10年中,RISCSMP市场的硬件收入超过2400亿美元。

    与1990年代中期的RISCSMP一样,这些多核心处理器具备易于使用、内置缓存、共享内存的特性,不同的是,多核心处理器是在单一芯片中实现这些特性。

{imageTitle}
 AMD K10 Phenom X4的LOGO图曝光 

    1995年前后,SGIPOWERChallenge是中端市场中最畅销的HPC服务器——笔者之一(McCalpin)当年就曾花费近40万美元购买了一个配备8个CPU的系统。在1996到1997年,CPU主频为90MHz(11ns),主内存延迟接近1000ns,或90个时钟周期。2007年,四核AMD处理器的频率超过2GHz(0.5ns),主内存延迟约为55ns,或者110个时钟周期。这些比例都惊人的相似。

    SGI要在PowerChallenge上提供充足的内存带宽是一项艰巨的“挑战”(这里的双关令人遗憾)。一个配备8个CPU的SGIPOWERChallenge的最高浮点性能为2.88GFLOPS,最高内存带宽达到1.2GB/s,约为0.42字节/FLOP。而AMD即将推出四核Barcelona处理器的最高浮点性能约为32GFLOPS、最高内存带宽达到约12.8GB/s,也是大约0.4字节/FLOP的比例。

    到1996年,UNIX服务器市场的硬件收入超过220亿美元,而到2000年,该收入提高到近330亿美元。之后,该市场一直在萎缩,2006年,已下滑至180亿美元左右。

    以下3个因素共同导致了市场萎缩:

    •越来越难以保持最初使UNIX服务器获得成功的系统平衡,

    •大规模RISCSMP难以和小型RISCSMP一样,能不断降低CPU的平均价格。

    •AMD推出了基于IA32架构、价格更便宜的服务器,进而令基于AMD64架构的产品在2003年快速推出。

    对这三个因素的详细分析也很耐人寻味:

    与操作系统的不兼容

    如上所述,最初,RISCSMP主内存延迟在100个CPU时钟范围内,带宽范围接近0.4字节/FLOP。该延迟在很大程度上不受CPU数量的限制,同时,可以通过配置不同数量的处理器,调整每个处理器的带宽。

    在应用领域和每个处理器带宽间,始终存在着明确的系统相关性,即“缓存友好”型应用领域采用满处理器负荷装入SMP,而“高带宽”领域配置更少的处理器或坚持使用单处理器系统。

    到2000年,RISCSMP中的主内存延迟已经降低了三分之一,而同时CPU频率也已经提高了3到6倍。随着单一系统总线转变为多种NUMA结构,每个处理器的带宽也变得更为复杂。

    价格趋势:

    1990年代后期,服务器厂商获得了长足的进步,能够使在1990年代初极为成功的系统保持令人满意的系统平衡属性。虽然这获得了高度成功,但是却在经济方面代价不菲。其两大成本来源是:要为这些系统提供片外SRAM缓存和监听系统总线,以便实现缓存一致性。对于这些系统来说,大量片外SRAM缓存对于这些系统忍受相对较高的内存延迟,并降低对于共享地址和数据总线的带宽需求至关重要。当英特尔停止使用标准的片外SRAM缓存时,整个市场停滞不前,而SRAM的性价比也无法追随其他电子组件的下降趋势。2000年,一个大容量片外SRAM缓存的成本要比处理器的成本高好几倍。

    但是,对于小型SMP来说,减少共享内存和地址总线也就意味着缩短延迟并提高每个处理器的带宽,从而可以使用更小的片外SRAM缓存。随着小RISCSMP与大RISCSMP间的价格/处理器差距进一步拉大,客户也日益转向采用小SMP集群取代大SMP。

    “杀手级”处理器的诞生:

    到2000年初,日益商品化、高产量的x86架构的服务器与基于专用RISC架构的服务器相比,已具有绝对的性能优势,且高产量服务器能够提供更优越的性价比。转向小型RISCSMP的趋势使得向小型x86SMP的迁移也更为简单。

    2003年,随着基于AMD64架构处理器的推出,提供了更高的性能和真64位寻址能力及整数算法,这一趋势获得了极大的发展动力。英特尔紧随AMD之后推出了EM64T架构,从而在几年内,导致了一次声势浩大的将绝大多数x86服务器业务从32位迁移至64位硬件的无缝迁移。

    这些趋势并不能说明客户对SMP缺乏兴趣。他们确实有兴趣,但是,这些趋势可以说明,众多客户都对大型SMP系统所提供功能的价格较为敏感。由于价格差异巨大,市场自然会找到如何使用价格更便宜硬件的途径。

    正如RISCSMP市场最终产生了大量进行并行处理编码的ISV(在企业与技术计算方面)一样,多核心x86处理器也将推动更多大型软件的并行化,并显著降低目前小型服务器的价格。

    与1990年代的RISCSMP市场不同,如今的多核心处理器不会依赖于片外SRAM缓存,可对其进行配置以避免产生成本高昂的芯片到芯片的相干性流量(可以通过监听过滤器,也可以简单地使用单芯片服务器,例如SunT1/Niagara)。也许除了移动/低功耗设备之外,没有任何一个通用CPU的竞争者能够明确地以更低的价格提供更高的x86性能。

● 未来多核心处理器的发展方向

◎ SoC(SMP on a Chip)

    在1990年代中后期,RISCSMP市场的主流是4、8和16路SMP。这种“利润最丰厚”的市场,提供了额外的CPU能力来证明应用并行化的效果,而不会产生让人无法接受的成本开销,也不会为应用提供过多无法有效利用的处理器。

    目前的趋势是,数年内将能够在单一芯片上实现类似的SMP尺寸,从而据此做出多方面的预测:

    •在1990年代,RISCSMP打开了UNIX服务器市场,多核芯片能否以与之相同的方式打开并行代码的新市场?

    •为了有效利用多核处理器芯片,是否需要在架构或编程模式上进行根本性改变?或并行应用能否凭借自身的力量发展,还是需要架构方面的增强(如transactionalmemory)?

    •提高单一芯片的核心/线程数量,是否能够消除绝大多数用户对于更大型SMP系统的需求?

    即使对于单插槽或双插槽系统,每个芯片上核心数量的提高,将会使用户混合运行多线程和单线程作业(这些作业不会使用全部CPU核心),更像最近10年中的大型SMP服务器,而不是传统的使用模式。即使是在这些小系统中,核心数量的日益增多也可以扩展虚拟化的采用,支持多个客户操作系统使用各自专用的核心,但竞争使用内存空间、内存带宽、共享缓存及其他共享资源。

◎ 设计空间的爆炸式增长

{imageTitle}

    在本文开头的简单示例,已经讨论了在定义适当的微处理器芯片指标参数时的复杂性和相当有限的自由度(例如,一或两个核心加上小容量或大容量缓存)。AMD最初销售的双核处理器基于90纳米的工艺技术,年中即将推出的四核Barcelona将基于65纳米工艺技术。采用45纳米技术,AMD能够将内核数量再翻一倍(8个内核);而采用32纳米技术,AMD则将能够将内核数量再翻一倍(16个内核),同样22纳米技术还能够令AMD将内核数量再翻一倍(32个内核),而这一切都是切实可行的。

    最近的研究表明,无论从设计或应用性能的角度来看,CMP设计空间都是多维的。但问题是,性能与性价比指标的定义已经发展出了很多层次的自由度。若每个应用都拥有不同的单线程性能、多线程性能、单线程性价比和多线程性价比设计点,将更难以做出决定。而且,CPU产量与不断增加的独立“最优”设计点,也将成为芯片产业即将面临的主要挑战。

◎ 加入异构处理器核心

    显而易见,假设不同的资源的成本不同,同类多核芯片不能面向不同工作负载进行优化。若将设计空间扩大加入异构处理器核心,则可增加很多新的自由度。内核间可能不同的参数包括:基本ISA、ISA扩展、缓存容量、频率、Issue宽度、乱序功能

    这一额外的自由度令同质化的多核设计产生了无数的新可能性,既令人兴奋又令人畏惧。

    当然,多核心处理器将不限于仅包含CPU。既然三维图形处理卡已经广泛整合到移动、客户端和工作站系统中,那么将图形处理单元(或图形处理单元的一部分)集成到处理器芯片上应该是自然而然的(详情请参阅AMD已发布的“Fusion”计划)。其他类型的异构架构也将成为未来合乎逻辑的选择,但目前来看,好像还没有哪个AMD的竞争对手进行过具有大规模处理器生产意义上的异构化尝试。

{imageTitle}
 AMD K10 Phenom X4核心照

◎ CPU未来会有多少个核心?

    虽然片内集成4到8个CPU核心的短期展望着实令人兴奋,但是,从更长期的角度来看,片内集成32、64、128、256个核心也将带来其他挑战。
1990年代末,在RISCSMP市场的鼎盛时期,大型(8路到64路)系统成本昂贵,且几乎始终共享使用。单个用户基本不用担心找不到足够多的工作使CPU保持忙碌。与之相反,即将推出的多核心处理器芯片将是价格适中的商业化产品。个人将能够轻松地负担多个CPU,超过以往“任务并行化”所需要的CPU数量。例如,在2004年,一台基于AMD或英特尔单核心处理器的高配置双插槽服务器售价为5,000到6,000美元,拥有5万美元预算的科研人员/工程师,可以购买大约8台服务器(16个内核)以及足够的存储与网络设备。自2000年开始,这类系统的数量剧增,很多用户发现在小型集群上,运行独立串行作业时,或仅在一个服务器内进行并行作业(使用OpenMP或明确的线程)时,可以充分使用这些小集群的资源。

    若厂商提供近乎同样的价格,则使用相同的预算,采用16核的处理器将总共获得256个核心。科研人员/工程师用户基本不会有数量如此巨大的独立作业(通常,通过参数检查、敏感度分析或整体统计产生),也不会考虑改进此吞吐量,以提高单一作业性能。

    更进一步的设想,若使用5万美元能采购128核的芯片,将获得2048个线程,这将使绝大多数用户编程和使用计算机的方式发生根本性变革。因此,多核心处理器开发人员的任务很艰巨,他们必须简化多核心处理器的开发,以提高单一作业的效率。并且,如果多核用户能够提前于自己的竞争对手,率先开发出此并行机制,则该用户将获得更多的竞争优势。

◎ 内存带宽的挑战?

    相对处理器的性能增长速度,内存带宽的提升速度相对要低的多。通过提高管线能力,DRAM技术已从根本上改进了自身性能,但这种方法也已经接近其实际极限了。驱动DRAM命令与数据、消化来自DRAM的数据、发送/接收数据以及探测/监控往返于其他芯片间的流量等产生的功耗,正日益成为大量电力消耗的主要原因。

{imageTitle}

    如果一个CPU最大浮点性能只支持小于0.5GB/s的主内存带宽,则其在市场中获得成功的几率将明显降低。举例来说,若希望使用8个核心,且每个核心每个周期可以以3GH频率速度进行4次浮点操作,则毫无疑问,100GFLOPS(峰值)芯片也非遥不可及,而只能算是合理的中期预期。
另一方面,每个处理器芯片要保持50GB/s的内存带宽,成本也极为昂贵。即使使用DDR2/3DRAM技术,提供1600MHz(每个64位通道12.8GB/s)的数据传输率,则实际上,要保持所期望的内存带宽水平也将需要很多通道(102.4GB/s峰值带宽大概需要8个通道),这就意味着至少需要8个DIMM,并需要丢弃类似40个出色的缓存,以实现50%的利用率。(若内存延迟为50ns,则102.4GB/s的延迟带宽为5120字节,或每64个字节延迟80个缓存线。所以,共需要约40个并发缓存线传输,以保持50GB/s的目标带宽。)

● 总结与结论

    本文的文字与图例说明,在多核心处理器带来的巨大机会和挑战面前,我们才刚刚开始。AMD最初的前进步伐一直受到技术的限制,只能对系统的整体平衡做有限的提升,但是,技术的发展趋势使AMD清楚地看到,未来工艺技术所提供的灵活性将给业界带来大量机会,使AMD能够设计出在功耗、性能和成本特性方面有显著提高的基于微处理器的系统(例如Barcelona和Fusion)。

    对于计算产业而言,通过生产标准化的产品来保持高产量,通过创建种类丰富的产品来提高性能、每瓦性能和性能价格比之间的相互牵制,将成为整个行业的主要挑战。即使我们试图保持适度数量的“快速”核心,工艺技术也将支持我们提供超过用户当前的有效使用能力的核心。这将需要整个产业、学术界和计算机用户共同合作,开发出新的方法,能够利用多核心完成“日常”应用,利用片上通信的物理位置实现前所未有的、耦合更为紧密的并行机制。<

0人已赞

关注我们

泡泡网

手机扫码关注