Avoton平台新凌动逆袭ARM

  • 来源:微型计算机
  • 关键字:Avoton,ARM,新凌动
  • 发布时间:2013-11-02 13:52

  据IDC的资料显示,去年的全球服务器交付量中,x86服务器占到98%,收入占到了70%。在数据中心领域,英特尔几乎获得了全面的胜利。回想2000年左右,英特尔一统消费级PC市场,正寻求新的利益增长点。当时互联网行业开始崛起,涌现出一大批诸如Google之类的初创企业。而当时在企业市场占据主导地位的RISC方案采用纵向扩展(Scale up)的方式,即追求单机性能的强大稳健,但初始投入成本高,且扩展难度大,当应用提出的需求超过一定级别,会遭遇性能瓶颈,而系统的更新换代则会涉及数据迁移等高风险操作。

  当时英特尔从PC开始就提出了“开放的标准化”策略,随后致力于推动x86处理器成为事实上的工业标准。英特尔除了保留CPU的设计权限之外,周边设备都可开放,以此构建一个x86独有的生态环境。英特尔x86这一相对廉价的解决方案却吸引了Google等互联网企业的关注。经过Google等公司的推动,最终让横向扩展(Scale out)成为x86有别于RISC的一大优势。x86所具备的这一基因被英特尔发现,并迅速放大,作为特色优势推出,逐步受到大多数企业用户的认可,最终以英特尔为代表的x86服务器占据了企业市坜。

  在英特尔攻掠高端RISG市场的同时,其后院却遭到了RISC小弟ARM的袭击。在不经意间,ARM复制了英特尔的成功模式。但ARM比英特尔更加开放,在保留专利的基础之上,连处理器架构技术都对外授权,以此成功构建一个全新的RISC生态系统。并且,ARM生态圈成功地抓住了移动终端爆炸式增长的机遇,以低功耗、支持智能系统为特点的ARM架构移动处理器占领了新兴的手机、平板等市场,成功地在英特尔的后花园开辟了新的战场。

  历史总是惊人的相似。十年前,英特尔以桌面级市场为依托,用“开放、以量取胜、满足应用需求”三大法宝逼得以IBM、Sun为代表的RISC服务器节节败退。如今,以ARM为代表的新RISC处理器厂商用几乎同样的策略完成了对英特尔消费移动客户端领域的“包抄”,然后开始打算进入利润率最高、以英特尔和IBM Power为代表的传统企业级战场——数据中心。那么ARM能成功吗?

  云计算与大数据时代来临,使得数据中心相关行业的需求再次发生变革。随着大规模数据中心的不断增长,能耗成为不可避免的话题之一。以英特尔至强处理器为代表的系列产品,其发展路线是在保持能耗一定的基础之上,尽可能地追求更高的性能。而以Google.Facebook为代表的互联网厂商却希望能够在性能满足应用的基础上,在一部分应用上将能耗尽量降低,例如冷存储和一些SDN服务器。

  据IDC公布报告预计,到2020年,全球数据总量将达到40ZB,即相当于人均5247GB。在这之中,IDC认为,文件、电子邮件和视频等非结构化信息约占未来十年数据产生量的90%,即非结构化数据的增幅将远远超过传统的关系型结构化数据。而这些非结构化数据一经保存(不可删除),通常长期不再访问,如何尽可能降低这类型应用的能耗以节省成本,成为数据中心提供商所关心的话题。而这也给以低功耗著称的ARM带来了机会。

  其实英特尔也察觉了这样的需求,并且敏锐地认为:在这个低功耗服务器处理器市场,决胜局将在64位产品。于是,英特尔在去年就率先面向数据中心发布了首款64位凌动处理器-S1200。只不过,这款采用32nm工艺制程和顺序执行架构的处理器虽然在支持64位方面是领先的,但综合性能在与ARM的竞争中并不算出色,没能给28nm制程、低功耗、多采用乱序执行架构的ARM阵营产品带来致命的威胁。但英特尔的优势在于从技术储备到实际产品的转化速度非常快。今年9月,英特尔又发布了面向数据中心的第二代64位凌动处理器-C2000(内部代号Avoton平台,以下简称Avoton)。

  凌动G2000系列处理器确实被英特尔寄予了厚望。首先C2000系列采用了最新的22nm 3D晶体管制程工艺,相对于ARM阵营目前主流的28nm~U程,制程领先的优势立即显现出来,同时也一定程度上解决了此前的功耗问题。在性能方面,C2000采用乱序执行的全新Silvermont架构核心,带来的效果就是性能显著提升。与上一代采用顺序执行架构的S1200相比,据英特尔官方资料显示,其速度提升达7倍,每瓦性能则提升达6倍。

  虽然ARM阵营一年多以前早早就宣布了64位ARM v8架构的CortexA53/57服务器处理器计划,但其首款真正上市的产品却要到201 4隼才正式生产。也许,新产品会采用20nm工艺制程(并不一定是3D晶体管),但因此优势会重新回到ARM阵营吗?且不说ARM阵营多数没有自己的晶圆厂在制造工艺方面面临各种挑战,即使完全实现这个进度,根据英特尔公布的线路图,明年第三代64位凌动服务器处理器又将发布,会采用14nm工艺。也就是说,届时英特尔服务器凌动处理器的工艺会赶上桌面级产品,实现同步制程升级,拉大领先优势。显然,英特尔已经不再是警惕ARM,而是试图利用更快的制程和微架构更新速度将ARM“驱逐”出数据中心市场。

  代号Avoton的凌动C2000系列新处理器是否能给ARM阵营一个下马威、将ARM进军数据中心的“野心”扼杀于萌芽之中呢?这肯定还需要市场的检验,要看它是否能够满足这些低功耗应用数据中心的性能及功耗需求。下面我们就来看看Avoton平台究竟带来了哪些不同。

  内核架构大幅度优化

  此前的凌动处理器一直采用顺序执行架构,这在一定程度上是为了降低功耗,但确实对性能有影响。但在ARM阵营宣布其64位服务器CPU提供乱序执行的高端Cortex A57与低端顺序执行的Cortex A53之后,英特尔要关注的就不仅仅是功耗了,性能上也不能绐竞争对手口实。于是,新一代Avoton平台的核心架构升级到了Silvermont。这个架构第一次在凌动阵营中引入了众望所归的乱序执行。由于目前关于Cortex A57的资料非常有限,在下文的架构对比中,我们更多地是与ARM目前32位处理器中最强的Cortex A15进行对比研究,虽然它与Cortex A57可能存在一定的差异,但两者的设计思路是接近的。

  Silvermont的整体结构上仍然保持双发射设计,理论最高IPC(每时钟周期执行指令数量)为2。也许有人会问,消费领域的Cortex-A15就已经支持乱序三发射了,这是否意味着ARM的架构性能一定领先Silvermont呢?未必。流水线的宽度仅仅是衡量处理器性能的指标之一,一般来说实际IPC受制于多种因素,访存停顿、分支预测失败、乱序执行所需的保留站、重排序缓冲区满载等情况都会使实际IPC大大低于理论值,况且CISC指令集的密度高于RISC指令,二者的IPC不可直接比较。但有一点是肯定的,二者都在试图通过乱序多发射提升单线程性能,后端指令执行的能力都大幅加强,这意味着这两个微架构都必须加强前端的指令交付能力,以保证后端的流水线满载。

  那么就让我们首先对比前端设计。从分支预测上看,双方采用了近似的架构,整个分支预测器都由一个主预测器和一个从预测器构成。从预测器较小,预测准确率较低但是延迟也低,Silvermont和Cortex-A1 5都选择在指令读取部件内安插这个从预测器来帮助快速预判分支。而在主预测器上,双方也都采用了gshare预测器的哈希技巧,都囊括返回栈预测器和间接跳转预测器,而且这个主预测器也都被安排在指令解码阶段,通过指令解码获取的信息进一步提高分支预测准确率。由于主预测器的历史记录表较大,能够记录更多过往的分支指令执行情况,当主预洌器与从预测器的预测结果不符时,主预测器的输出将盖过从预测器。从分支预测的整体结构上看,二者颇为相似,只是由于Cortex_A15的流水线拉的更长,因此分支预测失败损失达到13周期,而Silvermont则缩短到1 0周期。在指令读取上,Silvermont与A15的指令读取带宽均为1 6字节,但考虑到代码密度不同,带宽直接对比同样没有意义。值得一提的是Silvermont还在流水线最前端安排了六个缓冲区,将指令读取与指令解码隔离,在读取指令发生停顿的时候,将不会有新指令被送进缓冲区,但是只要缓冲区中还留有未解码指令,指令解码单元就不会闲置。指令读取器可以趁着缓冲的时间恢复交付。在ARM的文档中笔者未见到类似的设计描述。

  接着看指令解码阶段,A15和Silvermont都在这个阶段中部署了循环指令检测。这是一种能够降低功耗同时提高单线程性能的技术,但需要一定的面积开销,也会提升设计复杂度。这种技术的可行性研究出现于上世纪90年代,其理论基础是,程序代码中存在许多循环,并且这些循环的局部性较好,少部分循环会执行许多次,并且执行次数也能够预测,因此若是在硬件中引入一个循环指令检测器,在检测到进入佰环执行之后,将循环内部的已解码指令全部保存到缓冲区里,随后就可以将前端关闭,以后每次发射循环指令都从缓冲区中送出,相当于硬件自动进行的循环展开,既降低了指令执行延迟也降低了功耗,可谓一石二乌。Silvermont和Cortex—A15都引入了这项技术,这是嵌入式处理器微架构逐步向高性能微架构靠拢的又一个例证。

  最后看流水线的乱序执行部分,Silvermont的乱序执行窗口大小为32,A15为40+左右,乱序执行窗口大小代表着乱序执行阶段所能同时容纳的指令数目,这是衡量乱序能力的重要指标之一。同时乱序执行的指令越多,代表处理器的指令调度能力越强,越能够容忍缓存缺失的情况,但是设计上也越复杂。不过,考虑到二者指令集不同,乱序执行窗口大小同样不能直接用字面值衡量。这两个架构都采用了便于提高能耗效率的分布式保留站设计,五个流水化执行单元都配备自己的独立保留站,在具体的保留站大小上,仅知ARM的访存指令保留站比Silvermont更大但是不能完全乱序,其余不明。两个架构都具备一个流水较短的执行单元用于分支的快速判断,从分布式保留站的发射能力总和上来说,A1 5为8发射,要高于Silvermont的5发射,可以说A15的乱序指令框架的设计更加激进一些,但这种设计能否提高实际执行能力还有待实测数据的检验。

  英特尔宣称Silvermont相比前代Saltwell单线程性能提高了1倍,这并非一个夸大的数字,由于低功耗市场的性能起点较低,加之引入了乱序执行这样的重大架构变化,单线程性能育飞跃性进步是可以实现的。作为一个感性的对比,Core微架构的乱序执行窗口字面值为96(考虑到宏指令融合,实际容纳能力要更高一些),从保留站到多个执行单元可以进行6发射,其SPECint 2006得分大约为2000+,而Silvermont的得分大约为Core的一半,可见嵌入式高性能微架构还有较大的潜力可挖。

  另外,由于CISC和RISC的指令集差异巨大,我们并不能简单地通过一些架构参数值来判断性能的强弱,而ARM架构的服务器产品又很少见,所以最终两者性能的差异需要等到未来Cortex A57上市之后的具体测试来验证。本文中我们会给出一些Avoton凌动与Xeon E5的性能对比,来帮助大家理解低功耗服务器处理器的性能究竟处于怎样的水准。

  多核心的弹性扩展方案

  对于服务器和数据中心而言,增加每个节点的核心数量是提升服务器密度的重要方法。上一代凌动S1200系列只有双核心配置,所以很多OEM厂商和用户并不是特别积极地选择。英特尔显然也看到了问题所在,在这一次Avoton平台中,对此已有针对性的考虑。Avoton的设计中,每两个Silvermont架构核心组成一个模块,模块内共享一块1 MB大小的二级缓荐,模块层次上允许灵活配置,可以通过连接1、2、4个模块形成2核心、4核心和8核心的不同规格多核心处理器,功耗区间为5-20W上下。对比ARM,Cortex-A15的做法是每四个核心形成一个集群,集群内部可以配置最多4MB的二级缓存,每块芯片可以选择配置1-2个集群,因此在多核心的可配置性上,英特尔的组合更多。 向多核心的扩展并非是简单地加入多个模块就能解决。当核心数量增多时,维护缓存一致性的压力也将同时增大。Avoton最多允许四个模块,一共八个核心,分别共享四块二级缓存。这四块缓存会统一连接到一个crossbar上,通过这个crossbar来维护多核计算的缓存一致性。这个crossbar被英特尔称为SSA,对内存的连接,和对所有I/O的连接都将经由这个SSA来进行,这个SSA能够提供25.6G B/s的带宽,正好与内存控制器的峰值带宽齐平。反观ARM,Cortex_A15每个集群内部四个核心有一层一致性维护机制,通过AMBA4接口还有另一层一致性维护机制,AMBA4接口的宽度为128位。至于扩展效率和一致性维护的方法是否高效,还是要等ARM的产品投入实用测试之后才能证明。

  这部分的最后我们要谈一谈虚拟化。新的Avoton处理器首次开始支持英特尔VT_x2硬件虚拟他技术,这对于数据中心来说也是极其重要的一点,有利于弹性分配计算资源,而且基于x86架构的软件一致性设计优势也非常重要。毕竟不用软件迁移,能够大大节省成本,还能加快应用和服务的部署及交付。

  内存与I/O的优化

  Avoton配备了双通道DDR3内存控制器,支持1.5V电压下运行的普通ECC内存和1.3V电压下运行的低功耗内存,支持ECC内存。每个控制器有两个内存插槽,总共四个插槽。每颗处理器最大支持64GB内存,能够以25.6GB/s的峰值速度将数据取入二级缓存。在I/O接口方面,Avoton支持更强大和主流的外部设备接口。两个SATA 6Gb/s接口、四个SATA3.OG b/s接口、四个USB2.0接口以及最多4个干兆网卡接口都让它与外部设备连接的能力大幅度提升。而且它还具备四个PCI-E 2.0控制器,可以实现各种PCI-E通道的组合。为了有效管理这些可能连接的I/O设备,在Avoton上英特尔特别设计了被称为IOSF的内置片上系统总线结构,将对速度要求较高的PCI-E总线直接连接到高速总线上,而其它设备则连接在中速总线上,避免低速设备干扰和影响高速设备。由于目前ARM产品的信息非常有限,我佃无法直接对比,只有ECC校验方面,我们知道ARM也是有相关设计的,作为服务器产品来说这是必备条件。

  专为提升性能功耗比而设计

  Silvermont微架构由于引入了乱序执行,并且将睿频状态下的主频提高到了2.4GHz甚至以上,其性能比前代Saltwell有了较大提升,但先进的架构和制程、电路级功耗管理设计使得它在同等性能下的功耗降低了4.7倍。

  由于是针对特定应用的服务器产品,英特尔也在Avoton上提供了各种规格来适应不同的需求。有偏重性能的八核心、2.4GHz运行频率以及20W功耗的旗舰,适合对性能有较高要求的通用性能服务器或者Web前端服务器。但对于冷存储来说,也许更关注的是机架密度和性能功耗比,因此Avoton也提供了四核心或者双核心的产品去适应用户需求。新的Atom C2000系列SOC所占的空间和功耗开销都将只有低端Xeon E3的一半。根据英特尔按现有产品测试后估算的数据,Avoton在性能功耗比上将是竞争对手ARM v8架构产品的1.8倍以上。至于是否真是如此,只有等明年ARM产品上市才知道究竟了。

  我们使用了SPEC CPU2006测试套件,对8核Atom C2750与1 6核32线程的驭路Xeon E5-2690进行了测试。SPEC CPU是一个应用广泛的大型CPU性能测试项目,由SPEC(Standard PerformanceEvaluation Corporation,标准性能评估公司)推出。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。SPEC CPU2006包括1 2项整数运算和17项浮点运算,以一台Sun Ultra Enterpirse 2工作站作为基准参考系统,系统基于一颗296MHz的UltraSPARC ll处理器。

关注读览天下微信, 100万篇深度好文, 等你来看……