服务器 频道

单线程提升41% Intel逆超线程技术解析

  【IT168评测中心】由于内存墙和功耗墙的缘故,现代处理器工业界都走上了多核心设计的道路,通过片内集成多个处理器内核来继续提升多线程运行的性能,而功耗和通过提升频率的方法相比却没有明显的增加。


2010年3月31日发布的Intel Nehalem-EX集成了8个处理器核心

  多核心可以发掘程序的TLP(Thread Level Parallelism,线程级并行度),很多服务器应用具有很不错的TLP,然而还有一些程序线程级并行度并不高,单线程性能仍然是一个重要的指标。

  在上个世纪,处理器的单线程性能通过充分发掘ILP(Instruction Level Parallelism,指令级并行度)得到了极大的发展,使用的手段就是超标量、乱序执行等设计,这些设计需要附加复杂的控制线路,因此一些注重功耗的领域——如嵌入式——还可以见到非超标量、顺序执行设计的处理器。并且,ILP的发掘经过数十年的发展似乎已经到了极致,从上个世纪末到现在已经没有太大的进步了。例如,四发射已经成为了通用处理器最多的发射数目,因为更多的发射数量已经不能再明显的发掘ILP,相反,为了充分利用四发射,出现了如Intel超线程在内的各种CMT技术。

利用多核心系统提升单线程性能
Core Fusion,将多个核心聚合成一个大核心

  仍然有一些技术希望继续挖掘TLP和ILP,Core Fusion就是这样的一个技术,通过动态将多个核心聚合成一个大核心,可以灵活地获得多线程性能的提升,也能提升单线程性能,然而基于前面所说的缘故,四发射已经能基本充分地发挥ILP,更多的发射数目、更多的执行单元和更大的L1缓存的提升并不是很明显。Intel Barcelona Research Center提出了一种新的技术:Anaphase,这个技术通过将传统的单个线程在细粒度水平上分解成多个猜测线程(SpMT,Speculative multithreading)并分布到多核心处理器的多个核心上并行执行,最终加速了原单线程的性能。


Anaphase概念图
左:一个传统的单线程,包含了四个大区块和多个小区块
右:Anaphase将其分成两个猜测线程,每个线程具有若干个大区块和小区块

2
相关文章