• 其他语言



多核时代的性能扩充
页面和feed选项
打印
收藏此页
Digg此页 | 添加到您的del.icio.us帐号
目录

摩尔定律与时俱进
"未来的十年很可能会是直通式前进... 创新将无时不在。"

- Gordon Moore 的演讲,《摩尔定律的延伸》 ,国际固态电路会议(ISSCC),2003 年 2 月。

如今,摩尔定律仍继续有效,预计它将继续提升晶体管的密度,为期至少达几代产品。然而近年来,频率的攀升已经遇到了阻碍。功耗和产生的热量随时钟频率呈指数增长。直到最近,这还不算什么问题,因为功耗和散热都还尚未达到一个显著的高度。如今,功耗和散热问题已经成为处理器和系统设计的限制性因素。

为了避免过热现象,系统集成商致力于将大量工程设计资源投入到优化功耗及冷却系统当中,这显著降低了元器件的寿命。IT 机构也面临着类似的挑战。在不到十年之内,全球服务器总体数量已经增加了大约 150 倍。大多数数据中心当初在设计时并未将这一增长考虑在内,而今,它们无法满足当今高密度服务器及刀片式服务器在功耗及冷却方面的需要。尽管今天的系统能够比之前的系统交付更为出色的每瓦特性能,然而,他们却有着更高的总体功耗及冷却方面的需求。用于满足这些需求的累积成本将变得越来越大,尤其在今天 IT 利用率不断增加的情况下更是如此。

由于所有上述原因,提高时钟频率不再作为一项可行的提升处理器性能的主要方式。时钟频率将继续增加,但仅呈增量式增长。为了维持曾在性能及性价比方面的提升,有必要采取新的战略。

推陈出新

尽管过去 40 年来频率的攀升一直是性能增益的主要来源,然而在处理器架构方面也找到了多种方法以充分利用不断增加的晶体管的数量进而提升性能。最重要的战略包括:

  • 更大的数据格式: 如今的 64 位处理器是当初的 4 位处理器长期演变的结果。每次转变都使得处理更大的数据元素速度更快,并支持处理器直接寻址更大的内存。这些先进特性对于性能的提升和能力上的扩充是十分关键的,而没有这些先进特性,今天的数据密集型应用将难以想像。
    然而,我们已经处于整个产业范围内主流应用向 64 位处理器转换的过程当中。对比一下可发现,32 位处理器可直接寻址高达 4 GB 的内存;而 64 位处理器理论上则可寻址高达约 1,800 万 TB的内存(实际寻址容量取决于具体部署)。这是一次巨大的飞跃,很可能需要经过一段时间以后,硬件及软件开发人员才能充分利用那些他们现在已经能够利用的较大寻址空间。

  • 指令级并行(ILP): 利用指令级并行,处理器可通过动态预估软件代码流来找出能够以并行或乱序方式进行安全处理的独立指令。如果某指令正等待数据,处理器可执行独立指令来保持运行效率。由于处理器速度已超过了内存速度,这种策略正日益重要。如今,如果处理器必须从主内存中检索数据或指令,它就得等待上百个时钟周期,而这会降低所增加频率的值。
    近年来,处理器设计人员已投入很大的精力优化指令级并行(ILP),以降低内存等待时间所造成的影响。然而,这要求大量复杂、高速的晶体管逻辑在运行时检测软件代码,寻找进行指令级并行(ILP)的机会,以及对软件代码进行相应的重新调整。基于这一原因,指令级并行(ILP)可视为一项资源密集型应用,它会消耗当今处理器大量的能耗并将生成大量热量。和频率增加一样,指令级并行(ILP)已接近一个递减点。

  • 超线程(HT)技术: 过去,在任意给定的时间,一枚处理器只能执行一个软件指令流,或称为 "线程"(虽然处理器能够在多个线程之间迅速切换)。支持超线程的处理器可通过交错传送代码流同时处理两个线程。由于单个线程极少占用处理器的所有执行资源,这使处理效率得到提升并增加了多线程应用的总吞吐量。
    然而,由于软件线程必须在代码中明确定义,因此性能优势并不能自动获得。对于许多现有单线程应用来说,如果它们希望充分利用超线程(HT)技术或其它线程级并行(TLP)技术,它们就必须进行线程优化。由于软件厂商加大了其在线程优化方面的工作力度,跨多个应用超级程的优势将得以获得,但是,所获得的这种优势并不能带来大幅度的性能增强,这种方法也不能替代增加频率作为提升性能的主要战略。

  • 更大的高速缓存: 高速缓存用于储存临近处理器的数据和指令(通常位于同一芯片)。高速缓存的速度远远高于当前速度最快的内存子系统,因而可显著减少处理器等待时间。高速缓存的耗能远远少于逻辑电路,因而增大高速缓存大小是保持处理器运行效率并全面提升性能的一条节能途径。
    在上面讨论的所有战略中,较大的高速缓存大小在未来的年份中预计将能推动性能获得显著且经济高效的增长,但这种增长并不足以满足不断增长的需求。除非应用为内存密集型,否则也不能从更大的高速缓存配置中获得实质的性能提升。尽管获得性能提升的这些密集型应用中包括许多当今应用,甚至包括一些过时的应用,但是,较大的高速缓存大小从来不曾像增加频率那样获得非常明显的性能提升。

简言之,当今处理器设计中所使用的一些传统战略将继续发挥其性能优势,但没有一种战略能够像过去增加频率那样获得极大的性能提升。为了维持快速地增长、从而迈向更高的性能,需要采取全新的战略。

迈向多核世纪

面对当前的性能挑战,业界的回应是,利用不断增长的晶体管密度优势(也就是摩尔定律),在每个处理器集成更多的执行内核。多核同时执行时,处理器设计人员可通过调低时钟频率来限制功耗和热量产生,同时大大提高多线程软件的总吞吐量。由于时钟频率较低,单个线程可能处理速度稍慢,但通过多核,总吞吐率却能获得极大的提升。

本质上来讲,多核处理器和多处理器服务器极为相似,只是并行计算资源集成至单个芯片。这是一个更经济高效且节能的方法。借助更快的核与核间通信,它还可带来更好的性能。英特尔预测,未来三到四年内,集成更多内核到处理器中将带来高达 10 倍的性能提升(图 2)。


图 2. 多核处理器和线程优化软件的结合,有助于推进未来几年性能和功效的飞速提升。

同时,英特尔公司正在开发新的材料、晶体管结构、电路设计以及制程,从而实现每个内核频率的增加,同时不会带来更多的功耗。尽管这项特性不再是性能提升的一项主要推动力量,但它将有助于在未来的多核处理器设计中维持和增加每线程性能。

从多核处理器中获得最大优势

多核处理器无疑是所有计算架构未来事实上的潮流。在今后的十年乃至更长时期,这项技术将使性能不断扩充,几十个乃至几百个内核将被集成至未来的处理器当中。当然,要使这些发展优势带来巨大价值,软件和使用模式也必须有相应发展。

当前,对于高度线程应用(这些应用包括当前很多数据层、技术、科学、大容量交易应用)而言,多核处理器不失为一个理想选择。多线程处理器也适用于虚拟环境,在这种环境下,每台服务器运行多个应用。在这种情况下,多个应用构成独立的代码流,这些代码流均可充分利用多核。然而,多核处理器中的其它内核却几乎不能为运行于一台专用服务器上的单线程应用带来任何优势。

通常,在评估具体部署中的多核的价值时,企业应密切关注工作负载、使用模型,以及每核性能。企业还应考虑其操作系统及应用厂商的授权策略。软件厂商应花费时间对其全部主流应用的多线程吞吐率进行优化。事实上,多核处理器技术仍将继续发展。

上一部分1  2  3  4  下一部分

第 2 页, 共 4 页