个人集群 走近你的办公桌

时间:2009-02-22   来源:   网友评论:0   人气: 351 作者:

一直以来,高性能计算(HPC)总是和拥有许多机柜设备的数据中心紧密联系在一起,但现在,HPC硬件设备已经可以直接放到你的办公桌上,或者就搁在你的工作台边。多核技术、高效节能系统设计、应用软件开发等多种因素的结合,正在为个人HPC的发展扫清障碍。

    几年前,当第一款双核处理器出现在市场上的时候,我曾经和一家CPU厂商的技术人员谈起过:双核对HPC会带来什么样的影响?我看好的是HPC scale up(向上扩展)的方式,即每块主板上集成越来越多的CPU内核,而不是scale out(向外扩展)的方式,即一个集群里集成越来越多的服务器节点。这里我们来看一下,对于一个双路或四路的服务器来说,如果使用双核,就可以在一个系统中集成4-8个内核,如果使用四核,就可以把CPU内核数扩展到8-16个。要知道,在几年前,使用2U机架双路单核服务器,一套16个节点的X86集群就需要占据一个机柜中32U的空间;如果再加上交换机、KVM、UPS等设备,42U的机柜很容易就被挤得满满的了。而多核的发展,使得在一个系统内集成更高计算性能变得更为容易。

    今天,四核CPU已经成为HPC服务器的标配,六核处理器也在去年出来了,明年还会出现8核的处理器。多核技术的发展开始推动人们考虑把HPC的应用从传统的数据中心机房里迁移到一台部门级服务器上,或者甚至迁移到桌边的工作站中。这个趋势,我们已经无法再忽视了。其中起作用的因素有几个,首先也是最明显的因素就是多核——一台服务器里集成了越来越多的内核,已经有足够的计算性能满足大多数HPC应用的需求;其次,就是供电和散热制冷技术的发展,使得针对办公室环境的HPC成为可能;最后一个因素也许会让你大吃一惊:大多数人并不需要那么多内核!小规模的HPC足以担当你的应用扩展。

    下面,我们就逐一来讨论一下,看看他们对部门级HPC系统、个人HPC系统会带来什么样的影响。

多核推动HPC小型化

    今天,CPU内集成的内核数越来越多。四核处理器已经是HPC的标配。英特尔和AMD都推出了性能不错、高效节能的四核产品。六核心至强7400处理器在去年也已经推向市场。备受关注的英特尔Nehalem EP至强服务器处理器也将在今年3月份正式发布,预计会大幅提升四核平台的性能。今天,一块四路服务器主板上可以集成多达16-24个内核。而且,英特尔八核心Nehalem EX至强处理器也有望在今年底或明年初推向市场。

    除了X86处理器,流处理器或GPU处理技术(即通用图形处理单元,General Purpose - Graphics Processing Units,简称GP-GPU)也得到了快速发展。测试表明,对于许多特定的应用,这种硬件可以获得比传统通用处理器更大的性能加速比。全球主要的显卡制造商象NVidia和AMD/ATI,都已经设计了相应的产品来给HPC用户使用。这些系统都是通过使用大量的主频较小的内核(比如800个以上内核)来并行计算某一个特定的问题。它们可以作为1U服务器安装在机柜中,也可以作为台式机放在你的工作台上或你的脚下。

    不管是什么样的外形,总之,多核技术的发展使得我们可以在一个小的空间里实现相当高的计算能力。这一点使得HPC系统再也不必象以前那样总是呆在数据中心机房的机柜里了。

 

大多数HPC软件用不到32核

    谈到高性能计算,人们总会提起全球高性能计算机性能TOP500排行榜。每当新一届TOP500发布时,我总是会做一些小调查,比如“今年TOP500系统用到了129600个CPU核,你的典型应用能够用到多少个核?”借此我想提醒大家TOP500中的系统毕竟是全球最快的超级计算机,主要是专门为一些大问题来设计的,象天体物理、核爆炸,关心这类问题的人毕竟是少数。对于大多数HPC用户来说,并不需要这么多的核。一般来说,我听到的答案是,以8核或16核的居多,能用到32核以上的就很少了。

    IDC在SC08(2008年国际超算大会)上也公布了对78个ISV软件扩展性的调查结果。发现,只使用一个核的应用软件占了24%,使用2-8个核的应用占了32%,9-32核之间的比例是26%,能使用到32个以上核的应用不到20%。也就是说,适合32个以下内核的软件仍然是当前ISV市场的主流,比例高达82%。

    最近,我自己也对106个HPC从业人员进行了一项小规模的调查,我问了他们一个相同的问题:“针对MPI任务,你使用的核心数量范围是多少?”结果如下图所示。接近一半的受访者用不到16个核。注意,这个调查没有进一步细化,因此结果中既涉及到了从ISV购买软件的用户,也包括自己写代码的用户和那些使用开源软件的用户。

    这一系列的调查都证明,当前大部分的HPC应用所使用的内核数都少于32个。


 

文章评论