英特尔描绘HPC的多核与众核蓝图
在今年的国际超级计算机会议上有很多关于多核架构与亿亿次级计算的讨论——这两个主题似乎是密切关联的。但随着各种团体迅猛的朝着这个亿亿次级里程碑迈进,可以明确的是x86多核CPU的自然发展不会使业界离这个目标太远。众核GPGPU(通用GPU),另一方面也显现出是一种切实可行的实现亿亿级计算的途径。那么Intel的“少GPU”技术意味着什么呢?
简言之,Intel对GPGPU的回应是它的新超多核心架构(MIC)。MIC是今年夏天在德国召开的国际超级计算机会议(ISC`10)上提出的,是Larrabee技术的再利用,该技术原先是Intel为高端显卡和虚拟化市场而开发的。当Intel发现努力的结果并不能带来与NVIDIA及AMD发布的GPU的竞争力时,于是就放弃了该计划,并将技术加以改造成为一种HPC加速器。
英特尔高性能计算业务总经理Rajeeb Hazra在英特尔有15年的工作经验,今年7月他接替Richard Dracott担任HPC业务总经理的一职。在这之前,Hazra是超级计算架构与设计(SAP)部的主管,主要负责高端平台的架构设计,即petaflop和exaflop计算。他向我们深入介绍了Intel的高性能计算战略。
他在超级计算部的经历是偶然的,考虑到Intel在服务器市场最大的挑战可能就是为高性能计算的重点部分交付产品。如今,从10大超级计算机到集群,再到下面的高性能客户机,Intel已成为HPC所有平台主要的处理器供应商。该计划还将延续下去。Hazra表示:“我们的目标是推进高性能计算市场的革新,从高端的超级计算到批量工作站,根本上推动所有类型高性能计算的发展。”
Intel的MIC架构是其中最主要的部分。Hazra表示,MIC架构是未来10年或更长远的众核处理器设计的基础。但首先他们必须击中一个移动目标。在过去三年,通用GPU进入高性能计算领域的快速扩展已经给NVIDIA——以及较低程度的AMD——一个十分有利的开端。
到10月份为止,世界上最快的超级计算机天河1号A,采用的是GPU-CPU的混合架构。该计算机在 Linpack测试中达到的速度为2.5 petaflops,超过半数以上的性能都是由GPU提供。另外还有其他少数由GPU提供强大支撑的TOP100入榜超级计算机,更多的则还在研发中。如果Intel对GPGPU没有切实可行的替代选择的话,它的芯片将会被降级到在未来很多超级计算机——更不用说主流集群和高性能工作站——中扮演支持的角色。
尽管MIC是一个改良的x86产品并且与GPGPU是完全不同的体系结构,但它的目标也是解决同样的问题——也就是在高效能的封装中获得更高的浮点性能。MIC也计划可以像GPU那样的方式使用,也就是作为一个连接传统x86处理器的浮点加速器。一般的思路是这两种架构都使用高度并行和简单核心来使每瓦特释放能多的性能。
对任何HPC平台来讲那都是有价值的特性,但是对于下一代数万亿次级别(multi-petaflop)的超级计算机来说将是决定性的。Hazra表明在过去10年中,TOP100超级计算机取得的性能提升主要是借助横向扩展模型,也就是增加更多的处理器和更多的结点。新的CPU架构稍稍改变了每瓦性能曲线的斜率,但是系统普遍变大了,因此会消耗更多的电量。
这种情况不会持续很多年。消耗300兆瓦的电量来建立一个500petaflop的系统是不实际的。传统的观念是对于单独的机器来说,电力消耗上限应介于20-40兆瓦之间。所以你不能只是凌驾于现有至强或者皓龙处理器的性能曲线之上,期望为这些未来系统提供所需的性能。Hazra承认:“展望未来5到10年时,那些系统将会有一些重要的转折点。”
Intel想要实现类似于GPGPU的每瓦性能,这将会在x86架构内展开。Hazra表示,这将允许应用程序从单线程代码转变到高度并行的代码,且不用改变基础模型。Intel将会为产品提供编译器和运行软件的支持,如果它取得商业成功,其他厂商将会毫无疑问的添加他们的产品。Intel也将会在Xeon及MIC的产品上提供一套通用的开发工具,两种架构的差别也囊括在了该工具中。目标是能够对任何x86的源码进行重新编译,并使其自动处理MIC指令。 #p#page_title#e#
这种思想,很显然是为了最大程度提高程序员的生产效率——不仅是对新代码,也是对代表了几年甚至几十年投资的传统代码。在这方面Intel似乎有优势。虽然Xeon-MIC混合架构仍然是一个异构平台,它将会变得更加趋近同构,至少从一个指令方面来讲,要比Xeon-GPGPU平台要强。Hazra相信他们在Intel x86框架下所追求的路线将会允许他们提供一个更加平衡的异构系统。如果Intel能够真正地实现从多核Xeon到众核MIC的转型,并且将其中的麻烦和难题减至最少,那么他们将拥有一个引人注目的HPC加速器产品。Hazra表示:“我们相信,随着越来越多的应用和算法能够利用并行化技术,MIC架构将成为一个主力。”
代号为“Knights Corner”的第一款MIC产品采用了Intel的22nm制程工艺生产。考虑到22nm晶圆极有可能用来开发批量出货的芯片,所以我们可能在2012年以前看不到第一款MIC产品问世。Knights Corner是由50个核心组成的芯片,但是Intel并没有提供任何评估性能度量标准。
与此同时,Intel将继续发展其多核Xeon生产线,贯穿企业和“批量”HPC市场。并不是每个HPC应用都需要众核加速器,对于那些更加匹配粗粒并行或者专门面向单线程执行的代码组,Xeons芯片就是最佳的选择。
Xeon生产线将会继续使用Intel用在其主流的x86处理器上、12个月为周期的tick-tock开发策略。不过根据Hazra所言,MIC步调会很慢,大约18-24月的样子,虽然在这样的情况下每个处理器更新要囊括更多架构上的变化。这种时间策略与NVIDIA和AMD固定的GPGPU提供速度紧密一致,并在很大程度上理应得到相对低容量的加速器。
最大的未知数,就是Intel能否及时交付产品来逆转GPGPU。NVIDIA与AMD拥有三年的领先优势,当第一款商业MIC芯片问市之时,这个差距甚至还会扩大到五年。Intel不需要依靠这些众核产品的成功来取得再次成功,但是它在HPC上的抱负似乎却与其紧密相关。2010年将是值得关注的一年