距离IBM Power 7处理器发布已经有些日子了,从最初8核32线程3.8GHz主频的超强规格,到之后在TPC-C、SAP ERP、SPEC等测试中的超一流成绩,Power 7为我们带来的不止是性能上的震撼,更蕴含着IBM对小型机应用和面向未来的思考。本文主要梳理和分析Power 7处理器中的四大创新技术。
1、eDRAM技术大幅度拓展三级缓存
直入主题,所谓eDRAM顾名思义,就是指嵌入式动态随机存储器(Embedded DRAM),它有两方面的好处。首先是eDRAM本身比目前广泛使用的SRAM缓存具有更高的速度,更高的密度以及更低的功耗。据IBM称,早期的 eDRAM测试芯片拥有低于2ns的存取时间,密度也是嵌入式SRAM的4倍。根据IBM的官方数据,eDRAM只需要传统SRAM三分之一的空间,五分之一的功耗就可以获得同样的缓存容量,并将错误几率降低250倍。
eDRAM与逻辑晶体管全兼容,且逻辑性能不会退化。与先进的高K介质工艺和金属内衬电容技术结合,eDRAM只需要1个晶体管就可以存储1个二进制数,而原先的SRAM技术存储1个二进制数需要使用6个晶体管。IBM Power 7处理器集成了高达32MB的片上L3级缓存,较片外缓存延迟只有1/6,带宽则提升了两倍。
我们知道,处理器执行计算需要依次在L1、L2、L3缓存中查询数据,如果没有就去"更远"的内存中查询,还是没有才会去"最慢"的硬盘。近年来计算机技术的发展一直在致力于减少这个I/O瓶颈的制约,缩短这一过程。一方面是缩短访问过程,如集成内存控制器在CPU内;另一方面则是加大CPU内的缓存,使得CPU在查询自身高速缓存时的"中标"率提高。Power 7中的32MB L3级缓存可以说将这种思路拓展到了极致。
PS:有观点认为IBM这里采用的edram就是ZRAM技术,因为DRAM电容延迟长达 10~20ns,不适合做缓存,而2005年基于SOI晶体管浮体kink效应的新器件被发现,并命名为ZRAM。ZRAM的特点:单管结构,无电容,所以密度很高。因为不需要电容工作的稳定期,所以延迟短。假如把集成在cpu里的ZRAM叫作eDRAM,语义上是没有错的—-确实是embeded dynamic RAM。不过eDRAM一般情况下是特指电容结构的DRAM,而且至今没有ZRAM成规模使用在上市产品中的消息,所以虽有怀疑,却也没什么证据。
kink效应的主要描述:SOI工艺的场效应管电流的通过其实依靠的是体区的载流子对的激发与迁移。电子比较"活泼"而空穴比较"懒惰",所以不经处理的话晶体管截止之后体区会遗留少量空穴,这样就些许改变体区的电位,影响下次开通时的电流。换句话说,SOI-FET对上一次的工作有一定的记忆能力。对于逻辑电路来说,这是个很大的麻烦,需要很多方法来排除—但是对于存储器件来说,这倒是SOI器件一个意外的优点。
2、SMT4智能的并发多线程
并发多线程技术(SMT)大家已经不陌生,但是与以往单一物理内核能分出2个逻辑线程并行计算不同,Power 7中的SMT4将每核心的多线程数量从以前的2线程提升至4线程。而且处理器可以智能的根据应用需求在单线程,双线程和4线程之间动态切换自身的线程数量,以获得最佳应用表现。
首先说一下单个内核4线程的提升–对于数量众多,规模较小的OLTP应用来说,其并行效率相当于提升了一倍。在数据库索引,复杂的并发渲染中多线程将发挥重大作用。但是另一方面,面对规模大的任务(如浮点密集型应用)时,多线程技术反而会浪费CPU资源–因为其计算只在切分出的一个线程中运行,其它线程在等待,等于闲置了一部分CPU资源。
其实这对应用程序编写者提出了较高的要求–你需要为多线程环境优化代码执行效率,并考虑到任务繁重时的资源闲置问题。现在,Power 7给出了"智慧"的解决方案:多线程可以智能的合体成单线程,从而让大型任务的线程"占满"CPU。
可以说,IBM Power 7的并发多线程最大的进步不是每颗核心4线程,而是智能的根据应用调整线程数量–在面向繁多的"碎小计算"时转入SMT4模式,8核32线程最大并行计算;而面向大规模单线程计算任务时,转入SMT1模式,8核8线程,最大化的使用每颗内核进行计算。
IBM官方数据显示,当负载能够受益于多线程时,SMT2模式较SMT1提升50%,SMT4模式较SMT1提升80%。
3、 Turbo Core模式将全部资源集中
与前面两个技术不同,Turbo Core模式目前仅在Power 7服务器的高端机型Power 780上提供支持。其最大特点是根据应用负载的变化,自动关闭Power 7八个核心中的四个,将缓存、带宽资源全部分配给剩下的四个核心,并动态提升主频。
举个形象的例子,8辆车(8个核心)在高速公路(相当于带宽)上跑,现在退出了4辆车,于是变相等于剩下4辆车的路(带宽)变宽了–而那4辆车的汽油(CPU内供电)也给了剩下的车,于是发动机可以超负荷工作(提升主频)跑的更快了。此外,剩下的4辆车还获得了全部的货物(缓存)。
从技术角度来说,Power 780上的Power 7处理器有两种工作模式: MaxCore Mode与TurboCore Mode。在MaxCore Mode下,处理器主频为3.86GHz,所有的处理器都是激活的,L3级缓存平分给所有的处理器,即4MB每处理器;在TurboCore Mode下,服务器自动优化系统的频率和高速缓存利用率,此时处理器主频为4.14GHz,处理器有一半是激活的,L3级缓存平分给所有激活的处理器,即 8MB每处理器,这使得单个处理器获得的L3级缓存是MaxCore Mode下的两倍,并结合处理器主频的提升从而使得单个处理器的运算能力相当于POWER6处理器的1.5倍,并降低了机器的耗电量。
对于数据库和事务工作负载来说,计算的并行度并不是掣肘的因素,因此IBM在Power 7中会用"牺牲其他4核"的方式集中所有资源给剩下的内核,以提高计算强度。另外,从目前日趋流行的虚拟化和云计算发展来看,减少处理器内核有助于降低虚拟化软件的收费;而云计算也是按需付费计算核心数量,这样在获得较高数据库性能的同时,降低了成本。
4、AME技术将可用内存拓展100%
AME技术全称是Active Memory Expansion ,是从POWER7开始支持的一项新的内存虚拟技术。它通过内存数据压缩的方法,在已有内存容量不变的基础上,为服务器开辟更多的LPAR,或是提升LPAR性能。
据IBM透露,在SAP应用测试环境下,Active Memory Expansion可以将内存量提升50%,该技术将使得之前受到内存容量限制的同性能服务器多处理65%的交易处理或用户量。在Power 7系统上,AME技术可以让SAP等内存密集型应用程序将目前的内存多认出50%,而有效扩展推度可以达到100%。
不过,目前AME技术并不能广泛用在所有Power系列服务器上,其系统要求是:
a) POWER750, 770, 780,激活了AME许可,运行在POWER7 mode下;
b) 服务器通过HMC管理: V7R7.1.0.0 或更新;
c) Firmware: 7.1;
d) AIX 6.1 TL4 SP2 或更新。
以上四大创新型技术使得Power 7从性能到应用针对性都较以往得到了很大改进。使得Power7系统能够满足从构建智慧电网到实现对金融市场的实时分析等各类新兴应用的严格要求。在进一步巩固Power服务器RISC霸主地位的同时,Power 7也凭借SMT4、AME等技术对x86市场展开了冲击。