服务器 频道

佼佼者的游戏 历数异构计算的那些事儿

  【IT168 评论】在上个月德国莱比锡进行的ISC2013大赛上,由中国自主研发的“天河二号”超级计算机获得了TOP500第一名,这再一次引起了世人对于超级计算机的关注。纵观当前的TOP500榜单,特别是TOP10排名中,有近半的超级计算机采用的是异构计算模式,即我们熟悉的处理器+加速器模式,这次夺冠的天河二号就是采用了英特尔至强处理器+至强融核协处理器。这也预示着异构计算已经成为了高性能计算行业的发展趋势,无论是天河二号还是去年夺冠的泰坦都采用了这样的方式。可以说,异构计算正在改变着超级计算机的形态和能力。

  一、异构计算

  当我们回顾超级计算机的历史,我们就会发现长期以来处理器一直是负责计算的主要工具。追根溯源,“超级计算”(Supercomputing)这名词第一次出现是在媒体“纽约世界报”于1929年关于IBM为哥伦比亚大学建造大型报表机(tabulator)的报导。

关于异构计算 你必须知道的那些事儿
天河二号超级计算机

  但是随着超级计算机的发展,人们发现虽然在性能上可以获得前所未有的突破,但随之而来的则是巨大的占地面积、能源消耗和后期维护成本。在这样的情况下,NVIDIA公司率先于5年前提出了GPU计算的概念,其意在于运用GPU (图形处理器) 搭配CPU来加速通用科学和工程应用程序。此后,GPU计算迅速成为一种行业标准,在全世界范围内拥有数以百万计的用户,几乎所有的计算供应商均采用GPU计算。而这种计算的模式,我们就称之为异构计算。

  二、异构计算的特点

  在传统意义上理解:在异构计算系统上进行的并行计算通常称为异构计算。但如今,人们已从不同角度对异构计算进行定义,综合起来看:异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异地机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。

关于异构计算 你必须知道的那些事儿
多核+群核模式

  类似我们刚刚距离的NVIDIA GPU加速计算来说,图形芯片最开始被用作固定函数的图形流水线。经过多年的发展,这些图形芯片的可编程性逐渐增强,从而使第一颗NVIDIA GPU得以问世。在1999-2000年间,计算机科学家和医学成像以及电磁学领域中的研究者开始使用GPU来加速一系列的科学应用。这就是所谓的“GPGPU”或GPU通用计算运动。

  三、异构计算的蓬勃发展

  1、GPU计算的发展过程

  正如我们刚刚介绍过的GPU加速计算那样,所有NVIDIA GPU诸如GeForce、NVIDIA Quadro以及NVIDIA Tesla均支持GPU计算和CUDA并行编程模型。开发者几乎在任意平台上均可运用NVIDIA GPU,这些平台包括最新的苹果MacBook Pro。NVIDIA Tesla GPU完全专为加速科学技术计算工作而设计。最新的NVIDIA Tesla GPU基于“Kepler架构”中的诸多创新特性,与上一代架构相比,可提供三倍的性能,双精度浮点性能高达1Teraflops以上,同时还大幅提升了可编程性和效率。

关于异构计算 你必须知道的那些事儿

  虽然用户取得了前所未有的性能(在某些情形中实现了比CPU高100倍的性能,然而难题是GPGPU需要使用OpenGL和Cg等图形编程API来对GPU进行编程。这样便限制了人们利用GPU的强大处理能力来为科学加速。

  NVIDIA意识到了将这种性能提供给更广阔的科学界的潜力,因此投入力量修改GPU,让开发者能够对GPU充分编程,使其能够无缝地运用C、C++以及Fortran等熟悉的语言。

  如今,GPU计算的发展势头比以往任何时候都更加迅猛。现在,世界上一些最快的超级计算机仰仗GPU来加快科学探索,全球有600所大学已开设NVIDIA GPU并行计算课程,积极运用GPU的开发者人数已达数十万计。

  2、英特尔至强融核协处理器

  正如我们文章最初提到的,世界最快的超级计算机如今使用的并非是GPU加速,而是英特尔特色的“微异构”模型。我们承认包括泰坦、天河一号A及之前的多款超算都采用了GPU加速,GPU加速也是目前超级计算机主要的异构计算形态,但英特尔的后来居上却让我们更为惊叹。

  著名的摩尔定律在处理器的发展历程上最能得到体现。英特尔联合创始人戈登摩尔(Gordon Moore),在1971年公司推出全球首个通用型微处理器4004之后,提出了“每过18个月,芯片上可以集成的晶体管数目将增加一倍。”的理论。由于仅仅依靠提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,因此,人们逐渐转向了多核处理器的探索和发展道路。

至强融核Xeon Phi的规格介绍

  然而,多核系统架构虽然能满足一时应用增长的需要,但由于物理规律的限制,多核处理器性能增长还是会遇到三方面的主要限制:功耗、互连线延时和设计的复杂性。当一个处理器的晶体管数量越来越多的时候,会因为功耗和互连线的限制而影响性能的进一步提升。为此,很自然地就会想到,在单个处理器中集成多个简单的处理器核。

  英特尔集成众核(Intel Many Integrated Core,MIC)在这种情况下应运而生。应该说,MIC架构是英特尔公司现有产品(包括英特尔至强处理器在内)的另一个关键补充,它旨在引领行业进入百亿亿次计算时代。相比多核的英特尔至强处理器,英特尔MIC架构具有更小的内核和硬件线程,以及更宽的矢量单元,是提供更高整体性能、满足高度并行化应用需求的理想之选。随着开发者们采用较高的并行度(指令、数据、任务、矢量、线程和集群等),英特尔架构处理器常用的重要且已普及化的编程模型可扩展至英特尔MIC架构,而无需改变编程工具。这些相同的技术在英特尔处理器上能够提供非常好的的性能——将应用扩展至内核和线程上,以及针对分层的内存和高速缓存对数据进行模块化处理——它们也可用于最大程度地提高英特尔MIC架构上的性能。通过更有效地复用并行处理器代码,软件公司和企业IT部门只需创建和维护一个二进制代码库,而无需重新为开发人员提供与加速器相关的专用编程模型培训就可获得收益。

英特尔首款60核处理器Xeon Phi开始出货

  2012年6月,在德国汉堡举行的ISC2012大会上,英特尔基于MIC(集成众核)的计算加速协处理器Xeon Phi。Xeon Phi并非传统意义上的英特尔处理器(CPU),它更像是与CPU协同工作的GPU(图形处理器,显卡),其基于英特尔消费级GPU技术Larrabee,不过该项目已经于2009年被取消。但英特尔仍然需要Larrabee技术,从而在超级计算机市场与NVIDIA竞争,因为更简单、更专业的GPU处理器可以更有效地处理某些超级计算任务,从而提高性能并减少能耗。

  目前,零售版本的至强融核包括了2大系列的产品,分别为3100系列和5100系列,其中5100系列中的5110P已经正式有了详细的参数内容。其中,Xeon Phi 5110P具备了60个物理核心,240个线程,30MB总缓存,8GB GDDR5内存和320GB/s带宽,最大的峰值性能可以达到1TF(双精度浮点运算),标称TDP为225W。英特尔的官方建议零售价为2649美元/颗。

  3、AMD APU架构

  除了我们刚刚介绍的NVIDIA和英特尔之外,似乎还有一个低调而沉默的声音——APU。

关于异构计算 你必须知道的那些事儿

  APU是“Accelerated Processing Units”的简称,中文名字叫加速处理器,是AMD融聚未来理念的产品,它第一次将处理器和独显核心做在一个晶片上,协同计算、彼此加速,同时具有高性能处理器和最新支持DX11独立显卡的处理性能,大幅提升电脑运行效率,实现了CPU与GPU真正的融合。APU是处理器未来发展的趋势。

  从APU的发展来看,AMD在做的事情是让CPU和GPU彻底融为一体,无论是AMD的Llano,还是Brazos,目标都是一致的。AMD认为,CPU和GPU的融合将分为四步进行:第一步是物理整合过程(Physical Integration),将CPU和GPU集成在同一块硅芯片上,并利用高带宽的内部总线通讯,集成高性能的内存控制器,借助开放的软件系统促成异构计算。第二步称为平台优化(Optimized Platforms),CPU和GPU之间互连接口进一步增强,并且统一进行双向电源管理,GPU也支持高级编程语言。第三步是架构整合(Architectural Integration),实现统一的CPU/GPU寻址空间、GPU使用可分页系统内存、GPU硬件可调度、CPU/GPU/APU内存协同一致。第四步是架构和系统整合(Architectural & OS Integration),主要特点包括GPU计算环境切换、GPU图形优先计算、独立显卡的PCI-E协同、任务并行运行实时整合等等。

  在谈到APU的作用时,AMD公司高级副总裁兼产品事业部总经理Rick Bergman表示:“简而言之,我认为AMD Fusion加速处理器是自从x86架构问世之后40余年来处理器领域最伟大的进步。通过这一跨越,我们让顾客能够随时随地体验高清视频、享受超级个人计算体验,并且让笔记本电脑具备全天的电池续航能力。这是一个全新的产品系列,全新的视角,给消费者带来全新的精彩应用体验。”

  四、异构计算的差异化:各说各的道理

  谈到异构计算,特别是超级计算机应用的现实状况,恐怕NVIDIA与英特尔的斗争将会成为未来一段时间内长期发展的主题。一方面,NVIDIA作为首家异构计算解决方案的提供商,经过多年的市场和人才培育,已经形成的庞大的用户群。事实上如果我们说在至强融核也就是Xeon Phi尚未出现之前,所有加速器市场都是由NVIDIA一家独占的,恐怕没人会有任何异议。

关于异构计算 你必须知道的那些事儿
英特尔数据中心及互联系统事业部副总裁兼高性能计算事业部总经理Raj Hazra 先生

  不过随着在去年美国SC12大会上的亮相和采用Xeon Phi协处理器的德州超算"Stampede"的出现,至强融核的名字一夜之间成为了行业的焦点。对于英特尔来说,至强处理器在市场中有着绝对优势的占有率,那么对于至强融核的市场占有率又有怎样的期待呢?英特尔数据中心及互联系统事业部副总裁兼高性能计算事业部总经理Raj Hazra先生则表示——对于英特尔来说,还是立足于自身的发展,通过Xeon Phi产品的不断完善和性能的不断提升获得竞争优势,而凭借着Xeon Phi先天在X86架构上的优势,也更容易获得用户的支持。

  至强融核,专家解读究竟是易上手还是更困难?

  与至强处理器“同种同源”,这或许是至强融核协处理器的最大优势,也是宣传的重点。自至强融核发布之日起,甚至在MIC产品的研发过程中,英特尔便一直强调至强融核的易上手、易操作。英特尔服务器平台产品经理张振宇对此也曾表示:之前有数不胜数的人采用英特尔至强处理器进行编程,如今在至强融核出现之后,无疑提升了这部分用户的编程效率。

关于异构计算 你必须知道的那些事儿
东京工业大学教授Satoshi Matsuoka

  对于英特尔这种说法,却有行业专家给予了否定的态度。笔者曾经在4月进行的亚洲大学生超算大赛(ASC13)上采访了日本东京工业大学教授Satoshi MATSUOKA,他表示——Xeon Phi的确在编程上有相当大优势,但编译的方便并不代表模型和算法的优化。他承认在目前,Tesla的优势更明显一些。

  其他更多的专家观点如下:

  Xeon Phi从最初的设计到不断的调试,经过用户的测试之后性能的确有所改进,最近一年的变化也非常明显,并且已经和美国得州超算中心进行合作,从这些方面来说Xeon Phi已经有了长足的进步——国际高性能计算咨询委员会主席Gilad Shainer

  Xeon Phi系统具备了可编程性和高性能,从这2个角度来说Xeon Phi相比其他平台来说具备优势。而且英特尔在自身也对于Xeon Phi有了完整的发展规划,已经有实际的路线图出现,这也证明英特尔对此非常具有信心——圣地亚哥超算中心Richard Moore主任

引领行业发展 NVIDIA谈GPU与高性能计算

  从编程的应用性来说,源于X86的架构的至强融核可以让用户不太费力的进行过度,特别是不再需要学新全新的编程语句,比如CUDA。不过从NVIDIA的观点来看,CUDA也仅仅是在原有代码的基础上增加了少部分全新的指令而已,并且运行起来更为高效。

  加速比:以什么作为评判的标准?

  除了简单易上手之外,至强融核所宣传的另外一个特性就在于提供了全新的加速比评判方式。英特尔给出了一个计算的模型,比如我们要运行500个程序,按照传统的方式只能一步步进行,那么运行时间可能是500秒,我们假设这个运行效率是1。

协处理器究竟能够提升多少倍的性能?

  那么通过并行处理,我们可以减少一定量的计算时间,如上图,同样的程序可能运行时间只有400秒,那么我们的效率就提升到了1.25倍。

协处理器究竟能够提升多少倍的性能?

  现在我们继续,将并行应用分配得更小块,速度也就提升得更快,这次同样的任务只耗时350秒,效率提升到了1.4倍。

协处理器究竟能够提升多少倍的性能?

  同理当我们分配得越多,性能也就提升得越大,最多的时候我们可以获得1.7倍的效率。

协处理器究竟能够提升多少倍的性能?

  现在我们换一种方式,同样的时间内,我们不断增加运行的程序数量,也可以达到效率提升的效果。500秒内我们运行了700个程序,效率可以提升至1.4倍。

协处理器究竟能够提升多少倍的性能?

  我们可以将运行程序扩展到1100个,同样的500秒内效率可以提升到2.2倍。

协处理器究竟能够提升多少倍的性能?

  同理,当我们将程序扩展到N个的时候,我们获得的效率提升也无限接近于N倍。但是,我们能够随意提升程序数量,达到最大化的性能吗?

协处理器究竟能够提升多少倍的性能?

  英特尔指出,性能的提升并不是无限的,它受到硬件平台的规格制约。从协处理器来说,核心数量、带宽数量都会性能阻力,而在互联方面,至强处理器与至强融核的通讯带宽也成为了瓶颈。从这些角度来说,所谓的几十倍与上百倍的性能提升在目前看来不免有夸大的嫌疑,经过英特尔的测试,Xeon Phi相比至强处理器在并行处理能力上也可以获得2-3倍的性能提升,部分金融应用中这些提升可以达到8-10倍。英特尔认为这样的成绩是比较靠谱的,也是符合硬件运行规律的。

  英特尔核心观点:加速比应该建立在已经充分优化过的至强平台基础上,对比的双方应该是两颗至强处理器与一颗至强融核(因为两者的功耗相当)。只有同时满足这样的两个条件,加速比才有真正的意义。

关于异构计算 你必须知道的那些事儿
华大基因高性能中心负责人王丙强博士,GPU加速实际用户

  不过行业中同样的领军者NVIDIA显然并不认同这样的观点。与英特尔不同,NVIDIA在多年以来的行业经营中积累了众多的用户,NVIDIA更愿意通过这些用户的角度解读Tesla产品如何帮助他们实现更高的加速比。笔者曾经采访过应用GPU加速的华大基因,华大基因高性能中心负责人王丙强博士则表示——同样的基因研究,在GPU加速出现以前,单纯依靠CPU计算需要大约1619天的时间,数据的获取非常艰难。除了漫长的等待时间之外,实验的成本也非常高,需要大量的人力、物力和财力的投入。而在GPU加速出现之后,进行同样的项目时间大大缩短,仅采用单一GPU加速的时间缩短了16倍,仅用101天即可完成;如果采用GPU集群的模式,最快可以在5.4小时完成工作,效率提升446倍。正是由于GPU加速的出现,使得生物基因的研究取得了突飞猛进的发展,也才能让华大基因这样以科研为基础、以市场为导向的公司迅速成长。

  虽然英特尔和NVIDIA两家在观点上针锋相对,但有一点却成为了两家的共识,那就是——应用在Xeon Phi上的大型商业软件的确是比较少。笔者也曾就这个问题询问过英特尔数据中心及互联系统事业部副总裁兼高性能计算事业部总经理Raj Hazra先生,他表示由于发布的时间尚短,英特尔还在积极与各大应用软件的厂商沟通,争取在今年下半年或者不远的将来加快软件应用的广泛性;同时他也表示,由于高性能计算涉及的行业众多,软件也是千差万别,更需要客户与英特尔的共同努力。

  俗话说有竞争才能有进步,看看当下的处理器市场我们就会发现,竞争或许并非是一件坏事。对于芯片行业的两大巨头来说,这样的竞争能够尽快加速行业的发展,NVIDIA也公开表示Xeon Phi的出现对于应用普及大有裨益。

  五、异构计算的未来发展之路

  对于异构计算,目前在高性能计算行业已经形成了普遍的共识——这是通往百亿亿次计算的必由之路,也是唯一的道路。无论你采用GPU加速器还是Xeon Phi协处理器,异构计算都是最行之有效的解决办法。相反,如果我们还是以CPU计算作为主要的方式,在能耗和占地面积上恐怕会有巨大的消耗。

关于异构计算 你必须知道的那些事儿
NVIDIA Tesla事业部的总经理Sumit Gupta先生

  笔者曾经采访过NVIDIA Tesla事业部的总经理Sumit Gupta先生,他曾谈到了GPU计算对于超级计算机发展的巨大推动作用——以2012年的冠军泰坦为例,如果仅仅依靠CPU进行计算的话,不仅仅需要更大面积的计算机集群,其耗电量也会相当惊人(大约相当于6-8万户居民的年耗电量),这是完全不可想象的事情。可以说,正是由于GPGPU的出现,使得超算的性能迅速提升,同时也节约了大量的场地、电力、维护等成本。从这个意义来说,NVIDIA提供了一个可以永载史册的创举。

关于异构计算 你必须知道的那些事儿
英特尔服务器平台产品经理张振宇

  虽然异构计算已经成为了行业共识,但是我们惊奇的发展在TOP500的榜单中使用异构计算的超级计算机并不占多数,甚至就在TOP10排行中,异构计算的超级计算机也从上一次榜单的6台下降到了现在的4台。这是否与行业的趋势相悖,或者说行业的趋势是否会有新的变化呢?英特尔服务器平台产品经理张振宇认为这样的变化与并行计算的整体发展趋势并不矛盾。一方面,用户结合自身的应用,并且基于价格、性能和可编程性三个方面的考虑,在不追求极致性能的时候并不是一定要使用并行计算的模式;另一方面,超级计算机的生命周期较长,而加速器的发展速度非常快,引起也会出现超算发展落后的局面。

  总而言之,异构计算的出现大大促进的行业的发展,无论是NVIDIA还是英特尔,甚至是AMD都对异构计算的发展起到了巨大的推动作用,而这种作用在高性能计算领域已经开花结果,并且在实践中的经验又反作用于加速器产品的研发。NVIDIA在近日展示了下一代基于Kepler架构的Project Logan全新处理器,而英特尔下一代的Xeon Phi产品Knight Landing也有消息流出,说明双方还在不遗余力的进行着努力。毕竟从利润的角度来说,Tesla是NVIDIA重要的盈利部分,而在数据中心市场英特尔也不愿放弃超级计算机这块肥肉。

  异构计算,战争才刚刚开始,未来将会更为精彩。

0
相关文章