即将到来的多核革命:希望、风险及影响(二)

king1203 2007-09-19 06:19:11
增加CPU 核心
增加核心可以广泛提升各种工作负载的吞吐量,并需要付出不大的频率降低(17%)以满足功耗/冷却限制。在此,我们假设50%的区域缩减使我们能够容纳2个CPU核心,每个都配备与参考芯片相同的L2缓存且成本相同。在运行单一进程时,性能比参考平台低 0% 到 15%,中间和几何平均数性能变化为 -10% 到 -11%。
如果我们可以使用第二个核心运行第二个代码副本,则系统的吞吐量可以提高 0% 到 最大的54%,中间和几何平均数提速为 29% 到 32%。
在这种情况下,假定芯片的成本与参考系统相同,则性能价格比的提升比率与纯性能提升比率相同。
1.1. 讨论
上面三个实例提供了大量令人困扰的独立性能和性价比指标——70 个相对值。就算将SPEC基准测试的14 个性能值减少到3个(最小、几何平均数、最大),仍然给我们留下了9个性能值和12 个性价比值(其中9个与性能值相同)。将这些值结合为1个指标,用以制定合理的设计决策并不是一项轻而易举的事。
这三个选项都具有明显的优势和不足:
设计选项 主要优势 主要缺点
小芯片 降低价格 最弱的提升幅度
大缓存 在少数代码上有巨大的性能提高 最弱的中间和几何平均数性价比提升
双核心 最强的中间和几何平均数吞吐量提升 降低了单处理器性能
找到这六项主要优势或主要缺点中的哪些会对哪些客户构成关键决策因素,相对简单。而上述信息的利用、推广,以及用其来支持公司的商业模型就要复杂得多。
当然,设计决策必须支持公司投资的商业模式。即使是看起来最简单的目标“赚钱”在细节检查上也会一片混乱。可以将商业模型设计为取得最佳短期收入、短期利润、长期收入、长期利润、市场“轰动”或“良好愿望”,也可以设计为实现具体市场份额目标或尽量向竞争对手施加财务压力。真实的市场模型是这些目标的复杂结合,不幸的是,对于“纯粹”的设计优化流程,不同的商业目标可以改变各种性能和性能价格比指标的相对重要程度。
1.2. 补充说明
在所有这些情况中,性能的变化取决于基准系统上内存性能与 CPU 性能的比率。随着可用带宽的提高,大缓存的优势将递减,而更多 CPU 核心的优势将提高。与此相反,相对较低的内存带宽会使大缓存更为关键,而明显降低增加CPU核心带来的吞吐量提升。
对于对缓存有利的SPECint_rate2000基准测试,以2.2 GHz运行的IBM e326服务器上的结果显示:在SPECint_rate2000上,每芯片上同频率核心数量的翻倍可以将吞吐量提高65%到100%(几何平均数提升 = 95%)。
2. 当前和短期问题
2.1. 功耗问题
功耗与性能一样,比我们最初假设的情况更加多元化。在基于高性能微处理器的系统环境中,“功耗问题”包括:
• 通过众多超细针脚/焊点传送到芯片的大量电流。(注意:即使在同样的功耗水平下,随着电压下降,电流上升,针脚/焊点内的热阻也将升高。)
• 消除大量热量,以防止Die温度超过阈值,明显缩短产品寿命。
• “热点”问题:芯片局部区域中的功耗密度过高可能将导致局部故障。(注意:若为了保持同样的功耗水平,将晶圆上的处理器内核尺寸减少一半,同时提高频率,则内核中的功耗密度将提高一倍。)
• 为提供这些服务,需要提供大量电力——包括电力成本和用电升级成本。
• 消除保有这些服务器的设施所产生的大量热量——包括电力成本和机房冷却系统升级成本。
• 消除处理器芯片造成的大量热空气,这些热空气同样影响其他热敏组件(如内存、硬盘等)。
由此可以看出,功耗问题实际上至少与5、6个相互关联而性质截然不同的技术和经济问题有关。

2.2. 吞吐量Vs.功耗/核心Vs.核心数量
针对以同样的功耗水平提高性能这一问题,我们着重讨论一下如何使用越来越多的核心提供更高的吞吐量。
如果参数保持不变,功耗通常以 CPU 时钟频率的平方或立方倍率增长。但是,性能的增长速度是低于频率的线性增长速度的。对于能够利用多线程的工作负载来说,多核心能够显著提高每瓦吞吐量。但是,正如之前所见,这种吞吐量的增长除了等待光刻工艺的提高,使我们能够在一个芯片上放置更多核心之外,我们还可以创建更小的 CPU核心,使其外形更小巧,效能更高。就在前不久这种技术还很少见(除了 Sun T1 处理器芯片),这是因为我们假设单线程性能太重要了,不能牺牲它。
我们将在“长期预测”章节继续讨论这一问题,但是,之前描述的性能模型的直接应用说明,只要 CPU 内核功耗下降的速度大于峰值吞吐量的速度,则通过无限数量的极小快速核心,即可获得最佳吞吐量。显而易见,这种系统的单线程性能将非常低,从而直接影响对单一指标值的优化。为了解决这一问题,一种方法是可以定义一个可接受的最低单线程性能,然后对芯片进行优化,在面积和大功耗的限制条件下,尽可能加入更多的核心。
还有一种方法是将核心数量限制到一个合理的数量。在此处使用的单一吞吐量模型中,我们忽略了通信与同步这一因素。若用户希望在单一的并行/线程应用中使用更多的核心,将需要某种通信/同步,而且对于固定工作负载,还必须要保证通信/同步的开销将随着作业中使用的 CPU 核心数量而单向增长。
由此产生了对 Amdahl 定律的简单修改:

其中,T 为解决问题所需的总时间,Ts 是完成串行(非重叠性)工作所需的时间,Tp 是完成所有可并行工作所需的时间,N 是并行工作使用的处理器数量,To 是结合实施该应用所需的通信与同步,每个处理器的开销。最后这一条件说明,随着处理器的增多,开销也将提高,而这是传统的 Amdahl 定律公式中所没有的。
在标准模型(没有开销)中,解决问题所需的总时间随着 N 函数单调递减,逐渐接近 Ts。在修改后的公式中,可以明显看出,随着 N 的增加,由于出现通信开销,解决问题所需的总时间将开始增加。在上述的简单示例中,可以根据以下公式定义完全并行的应用 (Ts=0) 所需处理器的最优数量:

由此,举例来说,若 To 是 Tp 的 1%,则可以使用 10 个处理器获得最大性能。是否将此作为一个重要设计点,将取决于其他性能与性能价格比指标的相对重要性。
2.3. 市场问题
即将推出的多核芯片与 RISC SMP极其相似 —— 在过去的 10 年中,RISC SMP 市场的硬件收入超过 2400 亿美元。
与 1990 年代中期的 RISC SMP 一样,这些多核心处理器具备易于使用、内置缓存、共享内存的特性,不同的是,多核心处理器是在单一芯片中实现这些特性。
1995 年前后,SGI POWER Challenge 是中端市场中最畅销的 HPC 服务器 —— 笔者之一(McCalpin)当年就曾花费近 40 万美元购买了一个配备 8 个 CPU 的系统。在 1996 到 1997 年,CPU 主频为 90 MHz (11 ns),主内存延迟接近 1000 ns,或 90 个时钟周期。2007 年,四核 AMD 处理器的频率超过 2 GHz (0.5 ns),主内存延迟约为 55 ns,或者 110 个时钟周期。这些比例都惊人的相似。
SGI要在Power Challenge上提供充足的内存带宽是一项艰巨的“挑战”(这里的双关令人遗憾)。一个配备 8 个 CPU 的SGI POWER Challenge 的最高浮点性能为 2.88 GFLOPS,最高内存带宽达到 1.2 GB/s,约为 0.42 字节/FLOP。而AMD即将推出四核Barcelona处理器的最高浮点性能约为 32 GFLOPS、最高内存带宽达到约 12.8 GB/s,也是大约 0.4 字节/FLOP的比例。
到1996 年,UNIX 服务器市场的硬件收入超过 220 亿美元,而到 2000 年,该收入提高到近 330 亿美元。之后,该市场一直在萎缩,2006 年,已下滑至 180 亿美元左右。
以下 3 个因素共同导致了市场萎缩:
• 越来越难以保持最初使UNIX服务器获得成功的系统平衡,
• 大规模RISC SMP 难以和小型RISC SMP一样,能不断降低CPU的平均价格,
• AMD推出了基于 IA32 架构、价格更便宜的服务器,进而令基于AMD64 架构的产品在2003年快速推出。
对这三个因素的详细分析也很耐人寻味。
2.3.1. 打破系统平衡
如上所述,最初,RISC SMP 主内存延迟在 100 个CPU时钟范围内,带宽范围接近 0.4 字节/FLOP。该延迟在很大程度上不受 CPU 数量的限制,同时,可以通过配置不同数量的处理器,调整每个处理器的带宽。
在应用领域和每个处理器带宽间,始终存在着明确的系统相关性,即“缓存友好”型应用领域采用满处理器负荷装入SMP,而“高带宽”领域配置更少的处理器或坚持使用单处理器系统。
到 2000 年,RISC SMP 中的主内存延迟已经降低了三分之一,而同时CPU 频率也已经提高了 3 到 6 倍。随着单一系统总线转变为多种NUMA结构,每个处理器的带宽也变得更为复杂。
2.3.2. 价格趋势
1990年代后期,服务器厂商获得了长足的进步,能够使在1990年代初极为成功的系统保持令人满意的系统平衡属性。虽然这获得了高度成功,但是却在经济方面代价不菲。其两大成本来源是:要为这些系统提供片外 SRAM 缓存和监听系统总线,以便实现缓存一致性。对于这些系统来说,大量片外 SRAM 缓存对于这些系统忍受相对较高的内存延迟,并降低对于共享地址和数据总线的带宽需求至关重要。当英特尔停止使用标准的片外 SRAM 缓存时,整个市场停滞不前,而 SRAM 的性价比也无法追随其他电子组件的下降趋势。2000 年,一个大容量片外SRAM缓存的成本要比处理器的成本高好几倍。
但是,对于小型 SMP 来说,减少共享内存和地址总线也就意味着缩短延迟并提高每个处理器的带宽,从而可以使用更小的片外SRAM缓存。随着小RISC SMP与大RISC SMP间的价格/处理器差距进一步拉大,客户也日益转向采用小SMP集群取代大SMP。
...全文
155 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧