IBM欢庆100岁生日 市值超微软和谷歌(2)
陈文光谈道,作为国家863计划的高性能计算机评测中心,在为全国近30套大规模系统做测试的过程中,发现了不少的软件和硬件问题。在谈到测试的经验时,陈文光指出,在测试的过程中主要用到了自底向上、逐逐层建模的思想,并提出了应用导向的高性能计算机评测。因为高性能计算机的性能不是用一个数字来表达的,而是一个程序或者一组程序在这个计算机上运行所表现出来的特性。 HPC评测思想:自底向上、逐层建模发现潜在问题 陈文光谈道,在测试过程主要用到了的两个评测思想:自底向上、逐层建模。通过这样的测试思想,可以发现中大规模HPC系统中潜在的问题并确定引发问题的环节。 判断一个系统有没有故障,一般的方法是将实测数据与理论上正常的数据相比较,如果相匹配,则说明没有故障,反之,系统有故障。 自底向上、逐层建模的思想就是基于这样的理论,从最底层开始,自底向上,通过对每一层建立一个性能模型来预测每一层的正常运行时间,并将其与实测数据相比较,根据比较结果来判断HPC系统是否有问题以及问题所在的层次。 据陈文光介绍,这些层次自底向上依次包括:最底层点对点通信、集合通信(MPI通信)、小程序(如FT)、实际的应用程序等五个层次。每一层的具体判断过程描述如下: 最底层的系统体现为点对点的通信、CPU的执行速度、内存、带宽等等,先把这些基本数据测出来。如果这个层次发现一些故障,比如点对点通信有很多节点之间不通,或者虽然通但是速度比其他节点之间慢很多,这就是一个故障。 在点对点通信之上是集合通信,就是MPI通信,比如广播、O2O等。集合通信可以分解成点对点通信。所以如果知道点对点通信的性能,集合通信的性能也可以推测出来。然后在机器上实测集合通信的性能,与推测出来的性能相比较,如果不匹配,则说明在这两个层次之间的软件和硬件存在问题。 集合通信之上是一些小程序,例如FT。FT是一个FFT程序,它是经过大运算量的计算,然后进行一次大规模的O2O通信,然后再经过大规模的运算量。进一步把集合通信测出来的数据作为参数输入到性能模型里面去,预测出一个正常的系统下FT的运行时间,通过和实际测试的FT运行时间相比较。如果不匹配,则说明在集合通信、CPU执行往上聚合到实际FT程序之间的软件和硬件可能会有问题。 小程序之上就是实际的应用程序,包括很多算法、数据,很多通信模式。类似地,通过性能模型预测出应用程序的性能,再与实际测量的数据做比较。 “应用导向”的高性能计算机评测和选购 陈文光强调,高性能计算机的性能不是用一个数字来表达的,而是一个程序或者一组程序在这个计算机上运行所表现出来的特性。所以要谈性能,必须说明两个东西:机器和应用,机器和应用合起来才叫性能。 “所以我们提出来一套方法:用户如果要购买一台计算机,不能只看一个计算机的峰值速度,或者LINPad测试的程序速度。最重要的是要知道这个机器上需要运行哪些应用程序,再在计算机上运行这些应用程序,看性能怎么样”,陈文光在采访中谈道。 陈文光还指出,对于一些需要运行许多应用的计算系统,不能对所有的应用进行测试。这时可以根据二八原则,选择一些比较重要的用户的比较重要的应用进行测试。 但是,不是所有的应用可以测试。比如对于一规模特别大的应用,只有购买了机器之后才能运行,这时候可以抽取一部分进行测试,也就是说选择一些有代表性的输入进行评测。 通过有代表性的输入,能把它的规模减小,使应用能够在一个结点上,或者在少数的结点组成的集群上运行。 在谈到高性能计算服务器的选型标准时,陈文光表示,高可用性并非是高性能计算选型时需要考虑的指标,因为,高可用性一般都是靠应用来维护的,在系统级的实现高可用容量和时间代价都太高。 上一页123下一页查看全文 内容导航
(编辑:ASP站长网) |