新闻中心

EEPW首页 > 嵌入式系统 > 业界动态 > 高性能计算的另类思维

高性能计算的另类思维

作者:时间:2009-02-17来源:中国计算机报收藏

  随着IBM机“走鹃”于2008年6月诞生,机()迈入千万亿次门槛。用户对需求的持续增长,推动着规模越做越大。在由CPU构成的高性能计算的世界中,由于CPU计算性能的提升速度远远落后于高性能计算需求增长的速度,增加CPU的个数便成为提高性能的主要途径。如今全球高性能计算500强(Top500)中已经出现内核累计总数多达20多万个的HPC。

本文引用地址:http://www.amcfsurvey.com/article/91321.htm

  但是,在提升性能的同时,CPU个数的增加也给HPC增添了复杂性,并带来可用性降低、系统功耗惊人、成本高居不下等问题,让HPC厂商日益感到头痛。于是,高性能计算厂商开始探索新的提升HPC性能的途径。IBM的“走鹃”就是采用CPU和Cell处理器的混合架构,AMD和Intel也都分别对外发布了各自的CPU+GPU(图形处理器)的混合架构。

  作为GPU领域龙头老大的NVIDIA自然不会放弃在高性能计算这一CPU的传统领地炫耀性能的机会。它先是推出了CUDA架构,使得程序员可以用C语言对CPU和基于CUDA架构的GPU进行统一编程,从而解决了因编程复杂而被程序员敬而远之所造成的GPU应用难以普及的问题。进而,它又推出了面向高性能计算的Tesla系列GPU。2008年11月21日,NVIDIA在美国德克萨斯州奥斯汀市举办的2008超级计算大会上联手HPC的巨头Crayon推出个人HPC。与此同时,会上公布的Top500中,采用Tesla技术的HPC首战便占据了第29名的位置,标志着NVIDIA从个人HPC和高端HPC全面切入高性能计算领域。

  为此,本报记者独家专访了NVIDIA高性能计算事业部总经理Andy Keane。

    Andy Keane 2006年加盟NVIDIA,出任GPU计算事业部总经理,全面负责这一全新业务部门的组建和运营。他曾为3dfx和QED的快速发展以及公开上市做出了卓越贡献。3dfx带动了消费级3D图形加速器的发展,而QED则是世界首批多核处理器供应商之一。他还在Xilinx早期进行的可重配置计算以及FPGA系统的开发过程中发挥了重要作用。Keane还曾任职于英特尔生产设计部门,从事容错并行计算技术的生产设计。

  最近,刚刚庆祝了十周岁生日的英特尔中国研究中心迎来了英特尔研究获取的两项最新成果——按Tick-Tock战略完成下一代32纳米芯片制造工艺开发工作和在硅光电子领域做出基于硅的、拥有创世界纪录性能和明显成本优势的雪崩光电探测器。这两项成果让我们这些在英特尔内部从事研发工作的人振奋不已。这种振奋,一方面是源于它们可以大大增强英特尔在技术上的领先地位和未来产品的竞争力;另一方面,则是因为它们来的很是时候,正好赶上了大有愈演愈烈之势的全球金融风暴。

  或许有朋友会问,英特尔发布技术创新成果,和眼下的经济形势有什么关系?事实上,这场危机的影响已经开始从很多IT企业的业务部门波及到了研发部门,让他们不得不开始紧缩在研发上的投入。在这种情况下,英特尔是不是也要采取类似的措施,放慢技术创新的脚步?对于这个问题,我们的董事会主席贝瑞特和CEO欧德宁早已做出了回答:即使全球经济出现衰退,英特尔也会坚持对产品和技术领域的创新投入。

  英特尔本身就是一个以领先产品和技术为安身立命之本的企业,而且在过去40年的发展历程中,它已经形成了一个传统,那就是要用加大技术创新的力度方式来主动对抗危机,而不是仅仅依靠压缩支出被动地熬过困难期。因为后一种策略即便奏效,也会让公司大伤元气,无法在经济形势转暖时迅速恢复原有的竞争力,而前一种办法不但有助于公司在危机后获得进一步拓展业务领域和竞争优势的机会,甚至在危机持续过程中,它也可能为公司找到新增长点,化危机为转机。

  早在上世纪70年代中期第一次石油危机导致美国经济萧条时,英特尔就坚持走技术创新的道路,并给刚毕业的大学生提供了很多机会,这种看似逆势而为的做法不但没有让当时成立只有数年的英特尔倒下,反而还提升了公司在产业和市场上的影响力。在80年代中期美国半导体存储行业因日本同行压价行为而受到强力冲击时,英特尔再次凭借在处理器领域的技术创新,用最快的速度从一家以半导体存储器为主营业务的企业转型成为一家处理器制造商,从而避过了那次危机,并为我们催生全球PC和互联网革命打下了基础。在2000年前后.com泡沫破灭,全球IT产业进入寒冬时,英特尔又是在很多同行都削减研发投资时,反其道而行之,加大了对技术创新的投资,最终使公司凭借迅驰平台这样的突破性创新技术获得了新的、更具增值潜力的发展机会,实现了持续稳定的发展。

  这些过往的经历让我们认识到,每次危机就好比是一次考验,只有把它的压力转变为动力,积极革新和完善自身,才有可能避免损失,并获取进一步强大的资本。因此对一家以技术研发为核心竞争力的IT企业来说,越是在危机时刻,就越要加注创新、拓展新的市场机遇。如果产业界有更多同仁能够在这次经济危机中坚持这一策略,并携起手来迅速推广每一项创新成果,兑现它们应有的价值,那么整个IT产业摆脱危机影响,也就可以是一件指日可待的事情了。

  越是危机时刻 越要重视创新。

  HPC中的GPU

  记者:GPU在高性能计算中的性能已经到达了何种地步?

  Keane:CPU的运算速度在很大程度上还取决于缓存的大小,而GPU则是在任务并行化后用大量的线程来进行运算。虽然CPU已经多核心化,可以多达8个内核,但在并行计算时,显然不是GPU上千个线程的对手。

  比利时有所大学,以前用的是512个CPU组建的HPC,当他们了解到GPU的运行功能很强后,试着自己搭建了一台配置有8个GPU的台式机,结果性能竟与以前512个CPU的HPC不相上下。

  记者:既然GPU的性能远远超过CPU,那么NVIDIA何时开始关注GPU的计算能力?

  Keane:15年前,我们就开始针对3D游戏开发GPU了。但GPU的编程很复杂,因而应用主要是集中在图形显示领域。之后,我们开发了CUDA架构,你可以把CUDA想象成与x86相似的硬件架构,它允许应用开发者用他们熟悉的语言对GPU进行快速编程,从而为GPU拓宽了应用范围。现在,NVIDIA所有的GPU都支持CUDA架构。

  记者:懂得计算机的人都知道,并行编程要比串行编程复杂得多。程序员如何在CUDA平台上对CPU和GPU统一编程?

  Keane:尽管CPU与GPU之间在架构上存有很大的区别,但我们觉得CPU与GPU的结合才是最好的计算架构。于是我们在CUDA上推出了C语言编译器,程序员在开发应用程序时,只要对序列执行的程序代码和并行执行的程序代码简单地进行标注,C编译器就可以向PC解释哪部分该由CPU做,哪部分该由GPU做。

  记者:CUDA的编程看来不难,那么搭建一个个人HPC难不难?

  Keane:用Tesla组建个人HPC是件很容易的事。你只要把买到的Tesla卡插到PC主板上的PCI插槽,你的PC就变成了1台个人HPC。

  记者:Tesla贵吗?

  Keane:4个GPU的价格在9500美元~1万美元之间,3个GPU的Tesla价格为7000多美元。但与同等价位的工作站相比,我们的性能应该有百倍的提升。

  记者:我们看到现在全球性能最高的HPC“走鹃”所采用的CELL处理器实际上就是一个集成了8个流处理器和一个CPU内核的处理器,而GPU也是由数百个流处理器构成的。你是如何看待CELL的?

  Keane:CELL的编程要比CUDA复杂得多。CUDA本身就是一个GPU架构,我们所有GeForce、Quadro和Tesla产品线都可以很完美地对其提供支持。它的编程模式是很简单的,语言与C语言非常接近,编译器与C语言也基本一致。唯一的改变是将之前的串行计算更新为并行计算。在过去的一年中,CUDA积累了大量的应用程序,而且在美国,也有很多活跃的论坛讨论CUDA的编程问题。我们也在CUDA中文网站上开设了CUDA中国专区,上面有144个使用的案例。对于程序员而言,这些编码都是开放的。

  记者:在基于Tesla搭建的HPC中,GPU与CPU从指令集上看是异构的。而英特尔最新展示的具有80个内核的Larrabee却采用的是x86指令集,从而实现了CPU和GPU在指令集上的兼容,对于程序员来说,这是否会比Tesla编程更为容易呢?

  Keane:我并不这样认为。在NVIDIA的CUDA平台上,不管面对何种架构,编程人员都可以用很普及的C语言去对CPU和GPU进行统一编程。对于程序员来说,Tesla的编程是很简单的。而Larrabee无法用C语言来编程,程序员要学习这种新架构和它的语言并用两种语言分别对CPU和GPU进行编程。

  记者:AMD选择GPGPU(通用GPU)来切入高性能计算领域,对此你有何见解?

  Keane:关键要看它的普及率了。这里有两个数据:英特尔x86处理器市场占有85%的份额,AMD只占15%;同时,AMD的FireStream只有5%的使用率。你为客户定制产品的确会又好又快,但如果产量不高,成本无法有效摊薄,价格就会非常高。 而我们主要针对主流市场,用更加标准的界面来制作,让用户很容易使用,而且有能力承受。我们能够让很多研究人员将原本要跑到数据中心去做的计算转移到插有Tesla卡的工作站上,并很容易地获得高性能计算的体验。

  应用领域

  记者:TOP 500中,x86架构CPU已经占据了90%的地盘。请问Tesla进入高性能计算市场的机会有多大?

  Keane:几乎是100%。我们强调的是异构计算,GPU不可能完全取代CPU,只是能显著地减少CPU的数量。如果我们从另外一个角度上看这个问题,其实全都采用一样的架构未必是件好事。如同在GPU领域,因为有我们GPU、Intel的Larrabee和AMD的ATI的存在,因此大家可以互相激励,充分开展竞争,刺激创新。但是服务器领域的架构几乎统一,这对创新是不利的。

  记者:那么在工作站方面呢?

  Keane:工作站的限制主要在于工作站机箱内部空间的限制,例如工作站的电源只能提供1000W的功率,那么,我们可以在这1000W之内给你提供尽可能高的计算性能,比如说1T的性能。

  记者:无疑,Tesla个人高性能计算机的性能远好于现在的工作站,但目前工作站上的很多应用软件都是基于UNIX系统,厂商们愿意把它们移植到Tesla平台上吗?

  Keane:这些开发商面临着决定应用何种并行运算解决方案的选择。其中之一为多核CPU解决方案,即将计算工作分配到双核、四核甚至八核上。这样,对于开发人员来说,如果他们要想通过并行计算来得到性能的提升,就必须将应用分解为4块甚至8块。这其中最大的挑战是如何将计算工作划分为完全均衡的4块或者8块。另外一种解决方案类似Intel的Larrabee,开放人员可以用比多核解决方案更为简单的方式解决并行计算的问题。但是针对并行运算,GPU架构可以非常简单地实现非常大规模的并行计算。如果你要按照时间和效率来衡量这几种选择方案,GPU无疑是效率最高的。

  记者:未来工作站会不会被Tesla个人超级计算机替代?

  Keane:对于任何使用集群的用户,都有应用Tesla GPU的需要。我将努力说服他们中的所有人。利用工作站进行高性能计算的用户也是我们的目标人群,我们也希望让他们认识到我们的好处。事实上,如果用户很看重预算和效率,对成本和时间很敏感,那么Tesla对他们来说就很有价值。

  未来发展

  记者:在CPU领域,虚拟化是一个很时尚的话题,Tesla也能虚拟化吗?

  Keane:如果CPU可以做到虚拟化,那么GPU也可以做到虚拟化。因为他们都是基于处理器架构的。就好像将GPU作为CPU的一个资源,只要CPU可以实现虚拟化,那么GPU也可以作为CPU的资源实现虚拟化。

  记者:Tesla现在使用C语言编程。我们知道C语言与硬件很容易结合,也易于控制。听说NV还要在Tesla上使用Fortran,这样会不会影响到效率?未来还会有其他语言吗?

  Keane:Fortran是非常结构化的语言,并行计算的性能非常好,在GPU上的执行效率甚至更高。同时,在未来我们还将增加C++等语言。

  记者:既然在Tesla计算机中,Tesla GPU要与CPU协同工作,那么,未来GPU和CPU会不会集成在一个芯片上?

  Keane:我们不认为GPU和CPU将会融合。因为目前GPU的设计比CPU还要复杂,GPU拥有更多的核心,更高的内存容量,芯片的面积也很大。我们的客户也对计算性能和内存提出更高的要求。我们所能做的是提升制造工艺,从而降低芯片的面积。

  我们当然可以把一个小型CPU集成进来,但这样对GPU计算性能的提升并没有益处。就高性能计算而言,高速异构计算架构是一个CPU搭配多个GPU,然后更多的CPU搭配更多的GPU,这样,GPU就可以发挥加速器的作用。

  记者:既然高性能计算市场这么大, NVIDIA会不会借助Tesla成为HPC厂商?

  Keane:不会的。我们的优势就在GPU上,我们也生产主板,但是我们的研发都是投在GPU上。这一点,我们的CEO说得很清楚,NVIDIA会一直专注在GPU上,不会在其他地方分神。

 



关键词: 高性能计算 HPC

评论


相关推荐

技术专区

关闭