服务器 频道

新趋势:GPU如何推动HPC向前发展

   【IT168 专稿】曾经,CPU厂商之间的竞争,几乎就是主频的竞争。各个厂商争相推出主频更高的产品以期占领市场。可是近年,所有厂商的CPU主频提升,都遇到了技术瓶颈,CPU主频高低的战争也就此偃旗息鼓。目前,我们已经很难在市场上看到高主频的CPU产品。虽然CPU主频提升的脚步就此打住,但是摩尔定律依旧生效,CPU的计算能力依旧以原有的速度在提升。现阶段CPU计算能力的持续提升,主要是得益于制造工艺的进步。现在,每个CPU可以集成更多的晶体管,而更多的晶体管也给了厂商充足的余地,来增加CPU内核数量和缓存容量,我们也由此步入了多核时代。多核时代固然好,但是多核CPU也面临着众多挑战。

    首先,一些应用只能由单一内核驱动。这些应用也是可以运行在多核上——通过多个内核各自的线程、OpenMP和 MPI运行,但是最终的整体编码的性能,还只能由一个单一的内核决定。第二,内存和I/O总线的提升速度现在赶不上多核的发展速度。这也就意味着,平均每个内核的内存带宽(memory bandwidth)将减少,对多核CPU的整体性能的提升有负面影响。第三,现在我们已经步入互联网时代,随着CPU内核的增多,平均每个网络接口(network interface)也必须分摊更多的内核,这可能也将影响计算机的整体性能,或者我们至少需要性能更高的网卡才能减缓这个瓶颈。

    尽管CPU面临了诸多问题,但HPC还是非常依赖CPU。但是与此同时,我们也开始寻找可能的替代品,来完成日益增加的、复杂的IT任务。显卡上的核心元件图形处理器Graphics Processing Unit (GPU)也就进入了我们的视野。

协处理器的历史回顾

    在往下讨论之前,我们不妨简单回顾一下计算机集群的发展历史。计算机集群的兴起,主要是因为传统的HPC系统(如SMP、MPP、NUMA等)十分昂贵,而且HPC单独一台计算机的性能无论再怎么高,也还是有局限。而多年来,普通PC性能也在不断提高,这让普通PC服务器的科研计算潜力被重视。

    1994年,在美国宇航局NASA,Goddard、Tom Sterling 和Don Becker发展了被称为Beowulf的计算机理念。所谓Beowulf计划,就是通过以太网连接方式,将16台带有DX4处理器的计算机组合成了一个计算机集群系统(Computer Cluster)。特别值得一提的是,这个计算机集群采用的是廉价普通的PC配件和开源软件。这个系统的价格仅仅为5万美金,却同样实现了极高的计算能力。如此低廉的价格深深地改变了HPC领域,极大的降低了HPC的门槛。

    也正是从这个时候开始,x86硬件以其富有吸引力的性价比,开始占领市场,高速以太网也开始进入市场(开源软件和因特网这时也开始普及,但这就是另外的故事了)。话说回来,Beowulf当时是一个巨大的成功,计算机集群填补了普通PC和HPC之间的鸿沟,这个集群的趋势,直到今天仍然在延续。今天,我们还是在以低价的计算机集群,来完成高性能要求的任务。

    HPC用户对于计算机性能的追求是没有止境的,对他们而言,还有一个方法增加计算机性能——就是添加协处理器(co-processor)到计算机系统上。协处理器,主要用于计算机集群节点的计算任务,通常有以下几种协处理器可以选择:FPGA(Field Programmable Gate Arrays),或者其他特殊的协处理器如Clearspeed。当然,这种解决方案可能需要比较昂贵的成本。协处理器继续发展,后来经过数代演变,其中的一种逐渐演变成了现在的显卡。

    现代显卡之所以能够高速发展,我们还得感谢PC游戏工业的持续进步。今天的显卡普遍采用速度极高的GPU (Graphic Processing Units)作为主要计算引擎。事实上,这些GPU是可以编程的——你可以针对GPU写各种代码。今天,如果有钱,我们可以轻松购买到高端显卡。这些高端显卡,可以让我们更顺畅的在电脑上屠杀怪兽和敌人,而本质上,这代表了更高的计算能力。

    早些年,每当CPU主频提升的时候,我们都觉得很兴奋,并且总是满心期待着CPU将拥有更高的速度和能力。与此同时,GPU却十分安静,但是在HPC领域GPU一直保持着跳跃式的发展。我们可以比较一下,03-05年的奔腾4和ATI 和NVIDIA的GPU的发展态势。

    在05年中旬,GPU的性能已经达到了CPU的数倍。譬如说Intel的桌面四核产品,Core 2 extreme QX6700,其主频在2.6GHz,浮点运算峰值为50G FLOPS,而与此同时,在市场销售的NVIDIA的GPU G80,浮点运算的峰值为330G FLOPS,而ATI的Radeon HD 2900XT则拥有475 GFLOPS的浮点运算峰值。如果你用两块ATI Radeon来配合,再超一点频,那么你的浮点运算峰值将可以达到1 TFLOP!虽然显卡的功能还主要局限于图像处理,但是我们也从中看到了GPU的巨大潜力。

    话说回来,为什么GPU的性能提升如此之迅速呢?首先是商业原因,PC游戏的急剧发展,促成了数十亿美金的市场,其中就包括了不断提高的显卡需求。利益的驱动使得GPU厂商前赴后继。第二,由于GPU的计算特性,在GPU上添加晶体管,要比在CPU上容易。第三,GPU整体的更新换代速度要快于CPU,这主要由于GPU结构设计相对简单。其实,GPU的潜力非常巨大,因为GPU已经拥有更便宜的每浮点价格,协处理器出身的GPU,也开始向主处理器的地位挑战。
 

0
相关文章