西西河

主题:世界首台100P超级计算机-神威太湖之光在中国诞生了! -- 尖石

共:💬105 🌺723 🌵7 新:
全看分页树展 · 主题 跟帖
家园 全文转载是违反河规的

首先你这个就是从solidot.org上全文抄过来的

其次solidot又是从hpcwire上抄过来的

所以你们一窍不通,还装神弄鬼

下面是你们都不知道的关键细节:

首先是Linpack和HPCG的区别。Linpack是用高斯消元法解n元一次线性方程组,这是一类常见的工程问题,所以它被用来做超算的基准测试。它最大的问题是,当n增大时,浮点计算量按O(n^3)增长,而通讯量只按O(n^2)增长,所以其高度依赖峰值浮点性能,而对节点间通讯测试不足。而HPCG改为用共轭梯度法解线性方程组,浮点运算和内存访问/节点间通讯之间更为均衡,所以除了峰值浮点性能,下面四个因素极大地影响了了HPCG成绩: 缓存大小和速率、内存带宽、节点间通讯延迟和节点通讯的半径。

HPCG的出台主要受现在GPU超算的影响。GPU浮点运算是巨人,数据吞吐是侏儒。早期大家对GPU集群很有意见,把老程序放到Linpack成绩极好的集群上,性能一塌糊涂,唾沫都把这些GPU集群给淹死了。大家的强烈意愿推动了HPCG这类测试,这下GPU集群 Linpack 成绩不管用了,HPCG 成绩惨不忍睹。这时美帝的泰坦也唰地一下就下来了。说起HPCG效率,泰坦 (1.1%) 还不如天河二 (1.2%),当然比太湖之光的0.3%还是好看些,而全CPU版本的京 (K computer)就能做到4.0%的HPCG效率。

太湖之光的架构决定其峰值速率很高,功耗控制很好,但跑HPCG一定成绩很差。 跑HPCG最大的问题在于其缓存。SW26010 每个 core 只有一级 64kb 的数据缓存,而现在常见的 Intel Xeon 使用三级缓存体制,有几兆到几十兆的数据缓存,二者差三个数量级。缓存是耗电大户,少了缓存耗电量自然就下来了,当然对Intel CPU而言低效的x86核心拖后腿的效应也是客观的。太湖之光的第二个问题是内存吞吐,用的是DDR3,不是DDR4。第三个问题是神威网络,就是其节点间通讯的机制,虽然神威网络现在的吞吐率是很好的 ( MPI通讯:12 GBytes/s ),但是延迟相对比较大 (1us)。

从总体架构上讲,太湖之光是一台非常专一甚至可以说偏颇的超算。它更类似一套用GPU搭起来的同构集群。说它像GPU是说它的缓存结构比较简单,缓存也比较小。但是它是同构集群,全部是CPU,所以程序优化比GPU简单多了,并行效率也很好(以Linpack计有74%,天河二和泰坦分别是61%和64%),功耗很低,所以和现在TOP500排名靠前的几个含GPU或Intel Phi处理器的异构超算相比有很大优势,抢占GPU超算市场不是难事,这世界上还有乌泱乌泱的超算应用是和Linpack近似的。

说"Linpack并不能反映实际应用"是对的,但是隐含的"HPCG能反映实际应用"却是错的。实际的应用,既不同于Linpack,也不同于HPCG。计算机是死的,人是活的,计算机适合哪种运算,实际的应用就会向哪个方向优化。以分子动力学为例。分子动力学就是超算应用中的所谓“药物设计”、“材料设计”的大头了。分子动力学中包含一个计算很大的稀疏矩阵的共轭梯度的过程,而且这个计算过程就是计算中最耗时的步骤之一,历来是并行化的重点。从原理上说,HPCG是更贴近分子动力学的测试,那么不用测我们就可以得出一个结论:GPU不适合分子动力学,因为把原始程序简单GPU化以后,保证跑得比CPU还慢,一做profiling,时间全花在内存和GPU缓存之间的数据交换上。但现实是,现在大所数人都用GPU加速这一过程,加速比还不错,从2-3倍到10倍到几十倍的都有。GPU加速版本,基本上是通过增加局部数据交换,减少全局数据交换,取得一个接近CPU版本的足够好的近似解。一块做GPU运算的显卡比一块CPU便宜,运算还快,经济上自然取得优势。以前没深入优化的老程序在GPU集群上跑加速比有限,现在慢慢地在提高,GPU集群的接受度也越来越高。就连HPCG这个测试本身,在天河二上优化优化,成绩居然有6.8倍的提升。

通宝推:otto,朴石,indy,曾自洲,一介书生,nighter,parishg,梓童,mezhan,预备役师的防化,石狼,snark,北纬42度,盲人摸象,崇文尚武,关中农民,图灵,敲门,nettman,唐家山,刹那芳华,witten1,epimetheus,pattern,桥上,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河