利用CMT技术,倍增服务器吞吐量——介绍Sun公司的UltraSPARC T1处理器

黄鹏,Sun中国工程研究院    

    2005年11月14日,Sun公司在美国旧金山宣布,最终产品名称确定为UltraSPARC T1的“Niagara”处理器芯片正式问世,这也是全球第一款商用CMT处理器芯片,标志着处理器发展发展历史上新纪元的到来。

    “Niagara”这个代号取自位于美加边界的尼亚加拉大瀑布,意为“急流、洪水”,Sun公司用Niagara这一名称来形象的展现这一处理器在吞吐量方面的超前优势。本文将通过一系列文章向大家介绍:
    UltraSPARC T1中所采用的CMT(Chip Multithreading芯片多线程)技术,以及CMT技术所带来的服务器吞吐量方面的革命性变化。
    UltraSPARC T1的构造以及UltraSPARC T1的超高带宽,片上服务器(Server-on-a-chip)的技术特色。
    如何利用CMT技术,怎样在CMT系统上实现系统性能调优。
 

第一篇:什么是CMT技术

    在本系列的第一篇中,我们将来探讨CMT诞生的背景,CMT技术的实质及其优势。

    1.传统微处理器的发展瓶颈
   
    当前,微处理器的发展日新月异。我们结合传统的X86处理器的发展局限性以及计算机应用的发展趋势向大家介绍CMT技术提出的背景。

    1.1 传统通用微处理器体系结构的局限性
   
    我们日常所见的以X86为代表的通用微处理器均是采用冯-诺依曼模型的单处理器单指令流芯片,以计算为中心的冯-诺依曼体系结构规定了计算机存储式程序(Stored Program)的运作方式,即CPU的处理所需的指令和数据只能经由存储器获得。

    当前,传统的微处理器主要有如下三方面的发展局限性:

  • 内存带宽和访问延迟的限制
        在摩尔定律的推动下,CPU的速度差不多每隔两年就提升一倍。然而,从目前的技术发展现状看,存储器的速度提高得很慢,基本上内存访问速度每隔六年才提升一倍。因此,这两者差距越拉越大,从而造成了CPU空算等待存储器的时间占了很大的比例。根据统计数据,在高主频的计算机中,有可能高达85%的时间浪费在等待内存的存取上。如果将处理器比作一个工厂的流水线,那么这就意味着,整个流水线大部分的时间都是空闲着,因为不能获取需要处理的原材料。
  • 指令级并行遭遇危机
        为了提高处理器的性能,传统的解决方法是力图不断提高处理器的指令级并行性(ILP,Instruction Level Parallelism)。所谓ILP是指在处理器中引入多个功能部件(注意:是功能部件而不是处理器内核),例如:整型处理部件、浮点处理部件、加载/存储部件等,为处理器提供并发利用这些功能部件执行多条指令的能力。处理器负责挖掘指令间的并行执行能力,即:找出能够同时分别使用这些部件的不相干指令,在每个时钟周期内发送和执行尽可能多条指令。近年来,人们为了提高处理器的指令级并行度更是做了不懈的努力:一方面将一些原来应用于大型机的体系结构技术,例如:超标量,多级缓存,预测执行等指令级并行处理技术引入到微处理器芯片;另一方面,引入深度流水,将指令的执行划分为更多更细的流水级。
        然而,相关技术的副作用以及计算类型的转变使得ILP技术已经难以满足处理器性能进一步增长的需求并可能成为约束处理器性能增长的主要因素。一方面,超长流水线引入了超大指令窗口,一旦转移预测失败,就势必要将多个预先加载的指令清空并重新加载新的指令,这一操作过程对于处理器的性能的影响是非常大的,往往会带来不可忽视的性能损失;另一方面,ILP本身也不再适应计算应用类型的变化了:ILP技术更多的适用于传统的计算密集型应用,这类应用中ILP程度较高,能够利用ILP类型的处理器提升应用的性能。而当代以商用事务处理和Web应用为代表的数据密集型的应用,其控制流非常不规则,ILP非常低,难以有效利用ILP技术提升性能。
  •     处理器主频的提升不再有效
        伴随着指令流水线的不断细化,以及集成电路工艺水平的不断提高,微处理器的主频也在迅速提升。近年来,主频更是成为提升微处理器的性能的主要推动力:微处理器的主频迅速的完成了由90年33MHz到现在2GHz以上主频的飞跃。
        但是,时至今日,主频的增长速度正日益趋缓,主频增长带来的副作用却日益显著。首先,主频的增长是以硬件设计和工艺的复杂度的提升为前提的。随着芯片集成度的增加和线宽变窄,处理器的设计、验证和测试变得越来越困难,为提高性能而增加的硬件资源利用率不高,性能的增长空间有限。相对而言,主频增长所带来的功耗的增长比性能的增长则要快得多。例如,从Intel 80486、Pentium、Pentium III到Pentium IV这4代处理器,整数性能提高了5倍左右,而晶体管数增加了15倍,相对功耗则增加了8倍。微处理器芯片呈现出更快、更大、更热的发展趋势。其次,主频增长依赖的超长流水线技术也使得分支预测失败后流水线指令清空和重新加载所需要的周期大为延长,所带来的性能损失大大削弱了主频提升所带来的性能增益。

    不可否认,ILP技术以及主频的提升在一定程度上、一定时间内提高了计算机对于单一线程执行速度。然而,相对于CPU主频、复杂程度的提升,计算机的整体性能并没有取得相匹配的增长。这其中的主要原因就在于:从计算机体系结构的角度来看,传统的技术并不能有效、充分的利用计算机的整体硬件能力。

    1.2 计算机应用的演变

    时至今日,以商用事务处理和Web服务为代表的应用日益成为服务器应用的主流。回顾计算机的近30年发展历史,我们不难发现,计算机应用已经从传统的以SPEC CPU2000为代表的计算密集型的科学技术应用,发展到了现今的以SPEC JBB2000为代表的数据密集型应用,表现出完全不同的执行和数据访问的特征。

    传统的计算密集型应用,对于数据的运算操作远远多于数据的装入操作,因而具备很高的代码和数据访问的局部性,能够有效的利用预取操作数、Cache等技术来弥补内存带宽的不足以及内存访问未命中所造成的时间延迟。
当前面向商用事务处理的主

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值