 |
 |
|
 |
首页 >> 服务器 >> 服务器技术指导 >> 服务器技术资料 |
|
|
| 学术文章:关于高性能微处理器的综述 [服务器技术资料] |
| 中国龙芯论坛 |
| 2007-4-20 8:57:00 文/ |
|
3.2 多核处理器面临的挑战和机遇
本节阐述了多核处理器面临的基本理论问题以及实现上必须面对的问题。对多核处理器而言,这些问题既是必须面临的挑战,也是难得的发展机遇,他们决定了未来多核处理器的发展方向[23,24,25,26]。
(1)多核处理器面临的基本理论问题
目前的计算机结构以图灵机理论为基础,属于冯.诺依曼体系结构。本质上,图灵机理论和冯.诺依曼体系结构是一维串行的,而多核处理器则属于分布式离散的并行结构,需要解决二者的不匹配问题。
首先,串行的图灵机模型和物理上分布实现的多核处理器的匹配问题。图灵机模型意味着串行的编程模型。串行程序很难利用物理上分布实现的多个处理器核获得性能加速.与此同时,目前并行编程模型并没有获得很好的推广,仅仅局限在科学计算等有限的领域.研究者应该寻求合适的机制来实现串行的图灵机模型和物理上分布实现的多核处理器的匹配问题或缩小二者之间的差距,解决“并行程序编程困难,串行程序加速小”的问题。
在支持多线程并行应用方面,未来多核处理器应该从如下两个方向加以考虑。第一是引入新的能够更好的能够表示并行性的编程模型。由于新的编程模型支持编程者明确表示程序的并行性,因此可以极大的提升性能。比如Cell处理器提供不同的编程模型用于支持不同的应用。其难点在于如何有效推广该编程模型以及如何解决兼容性的问题。第二类方向是提供更好的硬件支持以减少并行编程的复杂性。并行程序往往需要利用锁机制实现对临界资源的同步、互斥操作,编程者必须慎重确定加锁的位置,因为保守的加锁策略限制了程序的性能,而精确的加锁策略大大增加了编程的复杂度。一些研究在此方面做了有效的探索。比如,Speculative Lock Elision机制允许在没有冲突的情况下忽略程序执行的锁操作,因而在降低编程复杂度的同时兼顾了并行程序执行的性能。这样的机制使得编程者集中精力考虑程序的正确性问题,而无须过多地考虑程序的执行性能。更激进的,Transactional Coherence and Consistency(TCC)机制以多个访存操作(Transaction)为单位考虑数据一致性问题,进一步简化了并行编程的复杂度[45,46,48]。
尽管目前主流的商业多核处理器主要针对并行应用,但是如何利用多核加速串行程序仍然是一个值得关注的问题。其关键技术在于利用软件或硬件自动地从串新程序中派生出能够在多核处理器上并行执行的代码或线程。多核加速串行程序主要有三种方法,包括并行编译器、推测多线程以及基于线程的预取机制等。在传统并行编译中,编译器需要花费很大的精力来保证拟划分线程之间不存在数据依赖关系[34]。但是,编译时存在大量模糊依赖,尤其是在允许使用指针(如C程序)的情况下,编译器不得不采用保守策略来保证程序执行的正确性。这大大限制了串行程序可以挖掘的并发程度,也决定了并行编译器只能在狭窄范围使用。为解决这些问题,人们提出推测多线程以及基于线程的预取机制等。然而,从这种概念提出到现在为止,这个方向的研究大部分局限于学术界,仅有个别商业化处理器应用了这种技术,并且仅仅局限于特殊的应用领域。我们认为动态优化技术和推测多线程(包括基于线程的预取机制)的结合是未来的可能发展趋势[35,36,37,38,39,40,41,42,43,44,60,61]。
其次,冯.诺依曼体系结构的一维地址空间和多核处理器的多维访存层次的匹配问题。本质上,冯.诺依曼体系结构采用了一维地址空间。由于不均匀的数据访问延迟和同一数据在多个处理器核上的不同拷贝导致了数据一致性问题。该领域的研究分为两大类:一类研究主要是引入新的访存层次。新的访存层次可能采用一维分布式实现方式。典型的例子是增加分布式统一编址的寄存器网络。全局统一编址的特性避免了数据一致性地考虑。同时,相比于传统的大容量cache访问,寄存器又能提供更快的访问速度。TRIPS和RAW都有实现了类似得寄存器网络。令另外,新的访存层次也可以是私有的形式。比如每个处理器和都有自己私有的访存空间。其好处是更好的划分了数据存储空间,已洗局部私有数据没有必要考虑数据一致性问题。比如Cell处理器为每个SPE核设置了私有的数据缓冲区。另一类研究主要涉及研制新的cache一致性协议。其重要趋势是放松正确性和性能的关系。比如推测Cache协议在数据一致性未得到确认之前就推测执行相关指令,从而减少了长迟访存操作对流水线的影响。此外,Token Coherence和TCC也采用了类似的思想[32,33,49,50]。
最后,程序的多样性和单一的体系结构的匹配问题。未来的应用展现出多样性的特点。一方面,处理器的评估不仅仅局限于性能,也包括可靠性,安全性等其他指标[51,52,53]。另一方面,即便考虑仅仅追求性能的提高,不同的应用程序也蕴含了不同层次的并行性。应用的多样性驱使未来的处理器具有可配置、灵活的体系结构。TRIPS在这方面作了富有成效的探索,比如其处理器核和片上存储系统均有可配置的能力,从而使得TRIPS能够同时挖掘指令级并行性、数据级并行性及指令级并行性。
(2)多核处理器面临的实现上的一些问题
除了上述理论问题之外,多核处理器也必须依考虑到物理实现上面临的一些问题。这些问题主要与实现工艺密切相关,包括处理器的访存瓶颈,可靠性问题,功耗问题等。
首先,处理器的访存瓶颈(Memory Wall)[54,55]。随着逻辑运算与存储部件的速度差距不断拉大,传统的以处理器为中心的计算与存储分离设计导致为解决访存延迟问题而大大增加了处理器的复杂性,使得访存速度成为未来提高处理器性能的主要瓶颈。根据目前片上并行处理技术的发展趋势,不久就会出现当处理器发射数百甚至上千条指令时只能取一个值到片上存储器的情况。因此,要求将处理器和存储器能做在同一块芯片上,把应用执行期间的工作集尽可能放到片上。另一种缓解访存瓶颈的方法是预取技术. 传统的硬件或软件预取,属于基于结果的预测技术,适合于具有规则访存行为的应用程序。而基于线程的预取技术利用空闲的多线程硬件资源,通过动态地执行地址预测代码进行预取,属于基于执行踪迹(trace)的预测技术,具有更高的预取准确率,不仅可以加速具有规则访存行为的应用程序,而且能够有效地加速访问模式不规则的应用。多核处理器为基于线程的预取机制提供了很好的计算平台.另外,Power5处理器在CMP基础上引入SMT技术,智能的线程切换技术也有助于容忍访存延迟[22,31]。同时,单个芯片上的I/O引脚数目由于物理技术的限制不能同晶体管数目同比例增长,使得计算能力的增长与片外带宽的增长不匹配。从180纳米到35纳米,晶体管数与信号引脚数的比率增加了45倍。这意味着尽管随着晶体管数目的增加,单个芯片上可以容纳的处理器核数目能够相应增加,但芯片与系统中其它部分的通信带宽即并不会同比例增加,使多个核不得不共享同一条访存或通信通路。有限的片外带宽将成为影响性能和可扩展性的瓶颈,并在实际上限制单个芯片上处理器数目的有效增加(尽管有更多的晶体管资源可用)。因此,在结构设计时,我们需要寻找在固定带宽上可容纳的处理器核数、处理器核的复杂度、不同应用的存储模式、以及片上存储容量之间的平衡关系。
其次,可靠性问题。随着摩尔定律的延续,芯片特征尺寸进一步按比例缩小,在单芯片上集成数十亿元件(晶体管)已成为可能。与此同时,由制造过程中工艺参数的涨落或内部原子级效应引起的器件参数离散性不断增加;越来越薄的栅氧化层导致因隧穿而影响可靠性的机率不断增加;越来越多的片内存储器(单个存储单元的尺寸越来越小)给单粒子效应等因素导致的软失效提供了越来越多的机会;芯片供电电压的不断降低和漏电流的不断增加,使传统的可靠性筛选方法(如动态老化、Iddq测量、施加过压应力等)越来越难以实施;等等。随着缺陷密度增加,芯片的成品率不断下降、芯片的失效速率不断攀升,使芯片的高可靠性设计成为延长硅集成电路摩尔定律最迫切的需求之一。传统的考虑故障容忍的容错方法成本较高,且其有效性受到失效速率上升的严重影响。必须研究使电路和系统从故障中自动恢复的新原理,从缺陷容忍、故障容忍和差错容忍等三个层次上研究支持芯片高可靠设计的新结构、新方法,从而提高芯片成品率,降低成本,构造稳定可靠、性能可预测的系统。研究者提出线程级的容错方法,即通过硬件或软件自动产生冗余线程以确保程序运行的正确性。比如Slipstream Processor以及DIVA处理器均采用类似思想[51,52,53]。
最后,功耗问题。随着摩尔定律的进一步延续,芯片产生的功耗与封装及系统允许的功耗之间会产生巨大的缺口。功耗问题已经成为微处理芯片设计第一位的限制因素。可以采取多个不同层次的工作去降低功耗。例如,通过设计新的算法,可以减少程序执行过程中运算操作的次数,以减少能量消耗;可以通过设计新的power-efficient指令系统,如EDGE指令系统;也可以采用异构处理器结构,使得简单处理器核运行简单任务,复杂处理器核运行复杂任务,从而取得合理的能量消耗[57];因为访问寄存器比访问存储器的功耗小,所以可以由编译优化减少访存次数来减少功耗;可以通过操作系统的帮助,关闭当前不用的功能部件甚至处理器核来减少功耗,或者通过操作系统动态调整处理器核的运行时钟频率或电压达到控制功耗的目的;可以重新设计总线的编码方式,减少同时跳变的信号个数,来降低功耗;可以通过对内存数据的压缩来减少片上内存(cache)容量,从而降低功耗;等等。在逻辑和电路层次上的低功耗设计方法就更多了,如门控时钟、门控电源、双阈值电压、动态电压变换、半频率时钟、异步逻辑等等[56,59]。
随着晶体管特征尺寸的大幅度缩小和相应芯片规模的扩大,片上互连线不仅在信号传输延迟上极大地影响了微处理器的性能,而且其能耗已经超过了晶体管电容充放电所消耗的能量。美国斯坦福大学的William J. Dally教授指出,在片上10mm长度传输32位数据所消耗的能量与一次32位ALU操作、一次寄存器读操作和一次8KB存储器读操作所消耗的能量,在130nm和50nm工艺下,对应比例分别为20:1:10:2和56:1:28:5.6。可以清楚地看到,互连线设计对于纳米级低功耗处理芯片设计是非常重要的。处理芯片上的互连线包括系统级(全局)连接网络、片上存储器总线、寄存器堆总线、流水线数据旁路网络、时钟分布网络等。低功耗的互联网络设计也是未来多核处理器的重要研究方向之一[58]。
4. 结束语
通过分析回顾微处理器的发展历史,根据工艺、结构、功耗、应用等几个方面的趋势,本文预测微处理器的体系结构面临突破性的变革机会,这场变革应该是一场由复杂到简单的变革,应该面向网络服务和媒体的应用,应该考虑低功耗的要求,应该采用层次的结构简化物理设计的复杂度。目前,片内多处理器及多线程技术作为较好符合上述趋势的处理器结构技术正在成为处理器体系结构设计的热点。进一步的,本文分析了目前国内外的发展现状,介绍了高性能微处理器发展前沿,详细分析了研究中的几种新型体系结构的处理芯片。提出并分析了多核处理器面临基本理论问题以及实现上可能面临的问题。
总之,高性能微处理器的发展正处在历史的转折点上。互连网的普及正在悄悄改变着计算机的应用模式,主频至上的处理器设计理念正在终结,性能功耗比继性能价格比之后正在成为计算机的主要设计指标。在快速发展的计算机领域,很少有人能够预测未来5-10年的发展。不过有两点是可以肯定的:第一、未来5-10年必将迎来高性能处理期的一个激动人心的发展时期;第二、技术转型期也是后来者的重要机遇期,中国应该紧紧抓住机遇,发挥后发优势,实现跨越发展。
·IT产品报价大全 |
|
|
|
|
[第一页] [上一页] 1 2 3 4 [最后一页]
|
|
相关文章 |
|
|
|
|
 |
|
 |
|
|