安腾处理器在***00及TOP500上的稍显落寞实际上是极大的埋没了安腾在高性能计算上的优势和特性,在近几年的高性能计算榜单上,安腾处理器所占的份额一直不温不火,偶尔甚至还会出现些许倒退,这对于以高效率和创新架构著称的安腾处理器来说着实有些不公平,而服务器供应商们也在不同的场合不断提及这一现象所蕴含的问题,以及用户上的一种误区。
事实上,市场上的主要以英特尔平台为基础的高性能计算提供商,如惠普、SGI等,都对安腾青睐有加,并不断的在推出基于安腾处理器架构下的高性能计算集群,以试图将这种不同于传统x86集群的产品保留在用户的选择列表上,有趣的是,在几年以前,安腾处理器刚刚问世不久的时候,惠普公司曾经表示:“安腾并不仅仅限于高性能计算。”而这看似一种轮回似的安腾处理器在高性能计算上的发展历程为我们提供两个讨论的切入点,***,安腾为何在当时被认为是一种适用于高性能计算的处理器?第二,在这一场轮回之下,到底发生了什么?以及安腾目前在高性能计算市场的位置到底在什么地方?
这已经是我第三次讨论***的一期TOP500榜单,而问题的核心,基本上维系在一个话题之上:我们到底在高性能计算的发展历程上忽视了什么?之前我已经讨论过曙光5000A的现实意义和Infiniband、安腾处理器在TOP榜上的“伤心”,而在这一篇依旧关于安腾的文章中,其实我并不仅仅只是希望谈论安腾的话题,更多的,我希望能够找到TOP500的权威性日益呈现下滑趋势的原因,以及高性能计算在普及化的今天所必需了解的一些现象和问题。
安腾:不同策略下的自我定位
在提笔之前,我曾给惠普公司企业计算及专业服务集团关键业务服务器产品部高级产品经理陈武胜列个7个问题,主要的内容都围绕在安腾处理器以及作为安腾处理器服务器系统出货量***的服务器厂商,对于安腾在高性能计算上的现状到底作何感想?在回答问题的时候,陈武胜表现出了对安腾处理器,尤其是安腾在高性能计算上应用的极大的支持,他认为仅就效率问题而言,安腾适合高性能计算就是“很明显的***点。”
从最直观的印象来说,安腾的定位由于英特尔自身的产品策略而言,与基于x86架构的至强处理器处于两个不同的层面,安腾更加注重稳定、安全和效率,而至强则以较高的性能以及不断降低的价格来实现了英特尔在通用标准型服务器市场上的最重要的布局。因此,仅从价格上来看,安腾在以规模著称的高性能计算集群应用上的***屏障就已显现。
陈武胜在“答卷”中谈到:“安腾确实比集群要贵,这个肯定的,这也是为什么它在大规模的集群里面这个数量显的不是很多。数量不多,主要是因为大部分的大型的这种集群都倾向于用这种低成本的结点去搭建,”而这也是至强的一个价格优势所在,对于至强来说,其本身的架构比较低,那么搭建起来就是这个实施的这个案例也比较多,目前来看的话,是一个主流,“安腾在大规模系统里面它的成本要比至强高一些,那么现在帮助衡量这个系统的主要指标,能够按这个吞吐量来计算的话,如果屏蔽掉其他的一些技术细节的话,那么很显然大家会去选择一个就是说看起来架构更低的,成本更低的一个方面。”——这也就是为何我们能够看到如此之多的至强而鲜有安腾出现在TOP500里面的原因的一个重要方面(另一方面则在于,TOP500是以Linpack来界定入围者的,这在之前的文章中已有所提及。)
“总的来说,安腾与X86架构相比,***针对的用户群不一样,第二个就是价格上有很大的差别。这两方面没有很强的可比性。”陈武胜此言实际上印证了上面我们所说的,英特尔在产品策略上的划分——用户群划分不同,价格区间不同,因此,拿安腾和至强作比较并无太大意义,因此,这也是为何我一直不拿安腾和至强作比较的重要原因。
另外,陈武胜也提及了一个要点:“安腾用在的高性能计算里面应该说非常普及。只是TOP500或者***00里面你看到的都不是很多,在TOP500里不多,并不代表他实际的应用不多,这是一个很重要的一个概念。”对此,我认为这实际上直指目前高性能计算领域的一个要害:TOP500也好,***00也罢,事实上,这只是冰山一角,从应用角度来说,我们不能够忽略TOP榜的“分母”,而为了说明安腾“在TOP500里不多,并不代表他实际的应用不多”这个问题,我们除了价格之外,仍然有必要有充足的依据来佐证——统计实际数量的可能性不大,因此,从架构和用户需求上来探讨这个问题更为实际。
***00和TOP500:并不是全部
由于英特尔自身的产品策略和因此带来的价格问题在一定程度上对安腾在大规模的集群组件上造成了一定影响,基于安腾处理器的高性能计算集群的数量相较价格低廉的至强集群数量较少,但是陈武胜认为,安腾的特性和优势决定了,其在广阔的高性能计算市场上具有极强的生命力(如果按照Linpack来做参数比对的话,安腾的单位价格确实要远远高于至强系统,因此,在TOP500这个比照Linpack的评比中,安腾集群数量很少也是一个可以理解的现象。),因此,我们有必要了解安腾的架构和实际的优势。
从架构上来说,安腾优势在于“新”,从其出身来看,安腾是英特尔用以对抗RISC架构处理器的产品,其初衷在于占据高可靠性计算尤其是小型机市场,因此,安腾有了个天然的优势:新。安腾本身内核的架构是在相当于90年代末这个设计的,而其他的架构比如说X86也好,RISC架构也好,都要比这个早的多,从架构上看,安腾的这个内核架构的设计借鉴了微处理器发展近二十年的经验和教训,首当其冲的就是效率问题。
在这个架构上,安腾非常注重它一个效率。它更多的靠执行效率高来实现它这个高性能,“安腾这个架构的设计是最晚,它的这个领先性是***的,虽然安腾推出的产品不算很多,但是从内核从这个架构的这个角度来讲,安腾的架构是***的。它是90年代末的一个产品,它满足今后25年的一个计算需求,它的这个内核的架构强调了它的效率,它就是为了摆脱依靠主频来增加效能的这样一种方法。”业内分析师们一直认为,频率主导论的衰亡最重要的原因,就是处理器效率的不断降低——以传统处理流程为基础的x86架构,流水线架构的特性决定,只有不断的提高频率才能够增强性能,这是在在不断增加被乘数(频率乘以效率)的情况下做出的无奈举动,很显然,这种方法的成本和技术难度越来越大,而性能损失也越来越多,因此,多核技术的出现与此不无关系。
这也就回到了我一直认为安腾在高性能计算领域拥有极强潜力的原因:效率一直是安腾的强项。技术上来讲,安腾除了这个多核多线层线程以外,它在这个内核这个微架构上,有很多改良,它***大的地方是如果按每一个CPU内核这个片内的资源去看的话,一个安腾内核所具备这个片内的资源能力,可能相当于一个RISC处理器可能是它的3倍到4倍。某些资源可能是一倍两倍,有些资源可能是3倍4倍甚至更多。它的处理能力要明显的强于其他的一些架构的这种CPU。而且它在指令分配方式是并行的,不是一条一条的。并行载入要比其他的那种速度要快很多。它的一个内核可以同时执行的这个指定数是6条, 而且对RISC或者X86这个处理器来说,虽然它也具备那个比如说一个内核同时执行数条左右的机制,但是由于它的架构上它不是一个并行的机制,它的软件大部分都是串行,那么它的编译器也没有支持它做芯片类的这种并行,或者支持的不是很好。但安腾就完全不一样了。它可以执行的这个数量远远高于这个数据,而且可以说它的这个利用率也高的多,所以安腾具有很强的一个片内资源,可以去运行。而且编译器软件的这个机制,确保它能够充分利用这个资源,能够充分利用这个处理器,达到很高的效率。
因此,我们看到了安腾在与Infiniband结合之后所获得的极强的效率,这种效率实际上是高性能计算梦寐以求的,虽然目前我仍然无法拿到切实的证据来佐证安腾对通用x86系统效率的超越,但是陈武胜很确定的表示:“安腾的这个效率确实要明显的高于X86的这种架构,这个是很明显的***点。”——与此同时,在与安腾联盟亚太区主席Eddie Toh的一些沟通中,他也多次提及安腾的效率之高,不过他并未直接与至强作对比,他曾强调一点:安腾的许多特性是至强所没有的,这是一种产品策略上的划分,因此“二者不可总是拿来作对比的,这没什么意义。”
与至强的对比
或许有人有所疑问,为何刚刚谈过不与至强比较,为何又出尔反尔?其实,我所要谈的对比,是基于用户的两种应用模式,而非产品的对比。
在HPC领域,安腾架构的环境,跟X86还是有一个比较大的一个区别的,X86它就是一个主流的低价格的,就是成本比较低的,大批量的这样一个市场,那么它的这个软件它的主要特点在于它的通用性,普及性,那么安腾它是一个相对来说,它有很多主流的跟X86类似这种,但是它更多会用在一些特殊行业,特殊规格的这种应用上。那么它的这个安全架构本身也使用一些,它的这个适应性会强一些,相对于X86这种芯片这种架构,安腾它可以更多的适用这个高性能的计算的这种算法。
举一个例子来说,就是说像大部分X86架构集群,它都是用这种瘦结点去构成的,而这个安腾它不光是可以用瘦节点去做搭建还可以用那些相对比较大的胖节点,所以这就是说,比如说安腾现在***的单机,你可以做到128路,可以在集群里面可以用这个横向的扩张的方法。因为很多的算法是有特定的适用的领域的。像这个大规模的集群,它是采用分布式的这种结点去做的,而有一些任务效率并不高,它需要用那种叫做大的共享内存的这个系统,SNP的这个结构,它效力才会更好,安腾适用于这两种结构。安腾可以做出一个TB,***到一个TB那一层,甚至于2个TB那一层的这种机器。
那么对于某些适合于这种共享的内存编程的这种算法的话,安腾的这个理念就有很大的适应性,它的效率会比大的集群要好的多。那么当然安腾也可以做瘦结点,也可以做这个分布式的集群。总体来所,安腾是适用性更加广泛的这样一种架构,安腾的适用能力比比X86要强很多(这实际上说明了一直以来大家的一个误区,那就是安腾实际上是“小众产品”)。
但现实看起来却并非如此理想,在***00和TOP500中,都容易发现一个问题,安腾的系统仍然以科学计算为主要市场,而Xeon已经开始踏足较低端的游戏、工业设计等领域,这让很容量容易被理解为安腾和Xeon的市场将在未来出现一个自然划分,而非安腾将由于其更加广泛的适用性而被广泛接受。
对此,我仍然打算征询陈武胜的意见,他认为,至强的发展,应该说是目前的一个市场需求***的一块,因为它的一个成本比较低,所以就是低成本的HPC,能够得到一个很大的一个普及,这个是符合目前一个科学计算一个发展的一个方向。但是,安腾的系统它的适应能力,它能够适应的这种计算的这个对象显然还是要更广泛,所以在很多专业的领域里面,安腾还会有很多应用。至强所占领的市场主要是大的这个集群,是瘦结点、大集群的一个市场,它可以并入很多适应这种算法的这个领域,那么这个领域里面至强占的份额应该更大,当然用户愿意选这种成本比较低的节约方式,这个是市场的确会出来一个比较自然的一个划分。所以划分的依据很简单,***,对解决问题的一个适应性,就是算法本身是否适合这样的做法,第二个就是成本如问题。
有关安腾的***两点:绿色和系统调优
在安腾的发展路线图上,其较低的频率一直是惹人注目的,正如我们前面所说,安腾的架构和高效率注定其不需要类似x86架构那样极高的频率来完成处理工作,而能够以较低的频率凭借高效率完成业务作业(相较于多核技术之前已经到了3GHz的x86处理器来说,频率甚至只有一半的安腾显然频率实在是太低了),这个话题有一个x86自己的故事来验证:在奔腾四出现时却又有许多用户倾向于购买新核心的奔腾三——理由很简单,奔腾四的高主频输给了奔腾三的高效率。
当然,频率低速度快也带来另外一个好处,就是比较节能。主机率低电源消耗就低了。英特尔换算过,如果同一个芯片主频提升20%的话,耗电增加的差不多70%的,所以从这个点来说,高效率还带来一个节能的一个好处。
对于,高性能计算来说,我一直相信系统调优是很有效的解决方案,这在之前我谈论曙光5000A时曾经提到过,因此,安腾的高效率我相信与系统调优是有关的,而每个厂商都会有自己的独特的系统调优方法,但是可惜的是,关于安腾系统的系统调优的话题和资料十分少见,对此,咨询陈武胜是一个很简单的办法,他谈到,从调优的角度来说,安腾的内核是一个非常强的处理器,处理能力非常强,并行度很高的一种内核。撇开这个算法本身不谈,系统的编译器就需要有非常好的这个性能去提高这个并行度。就是提高这个现成的一个并行度,使得安腾的内核有充分发挥性能的一种可能,也就是说编译语言代码的使得它***化的进行并行化。所以它就是说,你要说它这个安腾的高效率它一方面跟它的硬件的架构有关系, 一方面跟它这个专门编译器有关,那么因为它的这个编译器的智能化程度很高,所以从这个角度就是一种非常大的一种条约,等于说你编译器好的话,对所有的应用程序都有比较好的条约的效果。
事实上,在惠普也好,在英特尔也好,在不同的操作系统上我们都有很多的这个专门的这种调优工具,可以把这些以往在其他的这个架构上不可能实现的一些条约的措施把它加进去。因为这个在安腾里面它设置了很多很多状态跟踪的寄存器,英特尔有专门的这种调优工具,它可以追踪到软件的在执行过程当中,比如说分支,或者是态势命中等等这些动态的事情它都能知道。通过这种数据,我们可以再去优化我们的代码,使得它的这种执行速度的时间降到最小,那么在这些传统的这个芯片里面这种机制是不存在的。即在一些很关键的很重要的这种计算的这个软件里,可以用这种调试到芯片级的活动,等于说安腾还是拥有独有的系统调优技术和工具。
在讨论了价格、架构、效率、节能以及系统调优之后,整个话题差不多已经谈论完了,在这个过程中,不难发现,效率的话题是一个非常重要的点,正如文章开头所说,我希望能够找到TOP500的权威性日益呈现下滑趋势的原因,以及高性能计算在普及化的今天所必需了解的一些现象和问题。现在,或许我能够做出一些结论,从TOP500来说,Linpack的权威性已经日益丧失,这也就是为何TOP500的权威性日益下滑的重要原因,当然,这并不能说以Linpack为评价标准的TOP500榜单已经毫无用处,但是从效率上来说,高性能计算集群的着眼点必须有所进步。
论及高性能计算在普及化的今天的我们所必须了解的东西,那么有以下三点值得我们重视,***自然是效率,第二是节能——这一点我们已经谈论的太多,第三则是恰当的认识不同处理器架构和不同市场定位产品的应用领域,即我们应该切实的了解x86架构的局限性和安腾处理器架构的更大范围的普适性,相信上面我已经谈论的够多了
【编辑推荐】