超级计算机的竞赛本质是什么
每年的7月和11月,尽管没有喧闹的锣鼓声和喇叭声,我们都可以听到人们此起彼伏的吹捧声,因为世界上最快的超级计算机就会揭晓
Top500的前几位
· Since June 2008
IBM Roadrunner
Los Alamos National Laboratory
Speed: 1.026PFLOPS
· November 2004-June 2008
IBM Blue Gene/L
Lawrence Livermore National Lab
Speed: 478TFLOPS
· June 2002-November 2004
NEC Earth Simulator
Japan
Speed: 35.9TFLOPS
· November 2000-June 2002
IBM ASCI White
Lawrence Livermore National Lab
Speed: 7.2TFLOPS
· June 1997-November 2000
Intel ASCI Red
Speed: 2.4TFLOPS
· November 1996-June 1997
Hitachi CP-PACS
Japan
Speed: 368GFLOPS
· June 1996-November 1996
Hitachi SR2201
Japan
Speed: 220GFLOPS
· November 1994-June 1996
Fujitsu Numerical Wind Tunnel
Japan
Speed: 170GFLOPS
· June 1994-November 1994
Intel Paragon XP/S140
Sandia National Laboratories
Speed: 143GFLOPS
· November 1993-June 1994
Fujitsu Numerical Wind Tunnel
Japan
Speed: 124GFLOPS
· June 1993-November 1993
Thinking Machines CM-5
Los Alamos National Laboratory
Speed: 58GFLOPS
Source: Top500.org
测试用例
如果超级计算机Top500是基于这种狭隘的标准——浮点性能,那么为什么不找一个更好的测试标准呢?
NCAR(对地球海洋和环境进行建模)超级计算机研究务发展部门的主管Richard Loft称:“我相信,你会提出一个测试用例,它对于我们更为有用
服务器
NCAR的计算机模型模拟了一个随时间流动的过程,它通过将一个大的空间——比如太平洋,分割成一些巨大的网格,然后把每一个网格中的一个单元或一组单元交给超级计算机中的每一个特定处理器来计算
Turek称,快速的存储系统和快速的互联系统可以起到一些帮助
“Top500的列表对于告诉你一台计算机能力的绝对上限值非常有用”,Loft称
“只要我们对于浮点运算性能不断地关注,我们就会更多地偏离了真正的问题,而恰恰这些问题会阻碍科学的进一步发展”,Loft谈到
www.orchn.com
“在往回追述几年,你可能会使用最快的处理器和最多的内存来创建计算机,并且一切看起来很好”,Turek称,“问题是,你需要多少内存来满足一个exascale级别的系统呢?如果你希望能够保留编程模型,你最好在你的口袋中准备足够的钱来支付内存方面的费用
“如果我知道了用户的应用程序,我可能会说,你需要用同一种方式来衡量不同的方法以比较系统”,他谈到
www.orchn.com
“这是一个好消息——或者是个坏消息,Linpack数字只是一个简简单单的数字而已”,田纳西州大学教授Jack Dongarra谈到,他在几年之前选择该测试标准作为排列计算机计算速度的主要方法
但是,这些问题却引起了计算机和芯片制造商们的注意
www.orchn.com
因此,对于很多应用,盒子内的网络交互带宽比起浮点性能来讲更为重要
如果你是一个超级计算机的用户,并且当前看起来没有机器能够满足你的要求,计算机会为你而亡吗?也许不会
对于让处理器运行的很快这一点还是非常不错的
当不能够将一个应用程序拆成统一的、并行性的指令流时,就会出现更大的瓶颈
最新的Top500列表在今年的6月份公布,也被视为历史上非常重要的列表之一,因为它标明了计算机计算速度的一个新的高峰——突破了petaflops的障碍
科罗拉多州Boulder地区大气研究国家中心的超级计算研究部主管Richard Loft称,他怀疑Roadrunner针对NCAR的海洋和气候模型,只会在它峰值的2%的速度下运行,实际上也就是20-30 teraflops的速度
通过更快地访问内存、同时通过更加聪明地做一些事情,系统中的内存绝对量就可以减少了,IBM深度计算的副总裁Dave Turek称
除了将这些处理器通过互联的手段结合起来,比如互联网或者InfiniBand——这种方法其它公司也会使用,IBM还在蓝色基因内部创建了5个自有的网络,每一个网络都针对特定的工作进行优化并且有编程者所选取
Linpack对于矩阵的每一个单元都进行操作,并且通过把矩阵切成相等大小的单元,用户就可以保证每一个处理器始终比较忙,因此可以获得更好的系统效率
“但是,将它们归纳起来却不大容易,我不能把它作为Top500列表的衡量标准
“而在告诉你计算机使用中真正科学计算方面的能力则是用处不大的
”
他谈到,这种测试在所谓的HPC挑战测试中就已经存在了
”
他谈到,问题就是Top500的列表实际上是由具有几十年历史的Linpack指标来决定的
”
而且,那些试图能够挤入Top500列表的用户和厂商都费劲心思来调整他们的系统,使得系统可以更快地运行Linpack,而这一点恰恰是当初Top500列表编译者所禁止的
”
而且,问题不仅仅是购买内存那么简单,Turek指出
但是,超级计算机的用户必须检查他们当前的编程模型——这种编程模型已经演进了20多年,这样,他们才能更好地利用exascale计算机的强大功能
他谈到,一开始,用户们都批评蓝色基因只有很小的内存,但是最终,他们都可以扩展它们的应用程序使之可以很好的在60000个处理器上运行,通过改变应用程序代码中的算法,而这可以减少内存方面的使用
制造蓝色基因超级计算系列的IBM公司就相应了采取了一些系统办法
通信 厂商们都会开始吹嘘,而媒体总是会做很多的类比
因此,Linpack指标并不能给出一个应用程序的整体性能,尤其是那些做了很多处理器之间交互或者内存访问的应用程序
如果一个处理器获得了比它应当处理的更多的工作,其它处理器就可能等待它处理结束才能继续,这就导致了用户这边所看到的性能上的下降
www.orchn.com 存储会消耗很多的电能,同时会产生大量的热量,而这又需要昂贵的散热系统来移除这些热量
尤其,对于商务方面的一些应用更是如此,比如在线搜索或者交易处理中
www.orchn.com 当然,做一个100年的气候模拟需要一个处理器大量的访问内存,有时候这会导致系统非常的慢
比如,这如果换作一个具有耐心的人来用手工方法计算的话,可能也需要很多很多年(经常是几千年)来完成,而计算机硬件可能只需要1秒的时间就可以得出结果
由IBM公司制造的为新墨西哥的Los Alamos实验室的计算机——由用户取名为Roadrunner,在这次top500最快计算机列表中名列第一,它的速度为1.026petaflops,或者可以换算为每秒超过1000万亿次的算数运算
服务器 而HPC测试是由国防高级研究项目委员会发起、并由田纳西州大学开发而成的测试套件
而Linpack是由Fortran代码写成,并且用于测量处理器浮点算数运算的速度——比如,两个十进制长整形数相乘
蓝色基因系列在今年6月前长期占据Top500列表中的第一名和第二名
该测试包含了Linpack的浮点测试方法,同时还包括其它六种方法,比如整形运算、存储更新、可持续存储带宽以及处理器间的交互等
这其中没有任何的夸张,不能达到petaflops这一目标看起来更像它的昵称“Roadwalker”
除此之外,一些应用程序需要将很多消息从一个处理器传到另一个上,这也同样会导致系统很慢
www.orchn.com 随着工程师努力工作创造exascale级别计算机(比起Roadrunner快1000倍),这一点就显得更加关键,他谈到
0
顶一下0
踩一下