如何评价神威太湖之光打败天河二号在超算 Top 500 榜单中登顶第一?

在sc16上最新公布的top500榜单中,突然杀出来的纯国产超算神威太湖之光(Sunway TaihuLight)达到了93P的linpack值,登顶榜单第一!并且中国拥有的超算数量首次持平美国! top500.org/news/new-chi 看到回答中有提到神威蓝光和DEC alpha的,印象中alpha是因为内存模型太弱而退出市场的? 不知道就太湖之光的架构方面以及跑Linpack以外的实际应…
关注者
4267
被浏览
330440

211 个回答

白天看到这个消息非常振奋,当即就去找导师汇报!

我:“中国造了一台新超算,100PFlops!”

导师的第一反应是:“功耗多少?”

我:“15MW”

导师:“Holy sh*t!”

我:“他们没用 Intel 的芯片。”

导师:“oh that makes sense”

我也不是黑 Intel,但实在是x86架构的历史包袱太重了,想要实现 性能/功耗比的重大提升,这是一个迈不过去的坎。 我在 如何看待 19 岁少年想做出在目前 Intel 同等计算性能下降低 80% 功耗的全新电路系统芯片? - Sean 的回答 这个回答中就提到过,Rex Computing 的人在做的事之一就是砍掉Cache,用 Scratch Pad Memory 取而代之。而在太湖之光的众核架构中的大量 Slave core里面,采用了同样的思路,只保留了instruction cache。data cache用Scratch Pad Memory代替,避免了众核情况下的cache coherence带来的大量性能和功耗浪费。(Master core 里面有正常的Cache),我觉得这是太湖之光实现高性能/功耗比的一个重要原因。 而且Slave core只支持user mode,于是我猜测它在TLB上面应该也有精简。但目前 SW26010 芯片还没有详细的文档资料,所以这点我也只能猜测。

至于采用众核架构,可以说是大势所趋,美帝一些新的系统用的也是Intel的众核Knights Landing芯片,据说性能也很不错。

至于指令集,Jack Dongarra在他的报告里特意强调和Alpha的指令集没有关系,所以哪怕神威前几代芯片和Alpha 有渊源,但这次应该真没有。。

然后更令我惊喜的是不光系统搭起来跑了Linpack,而且还有三项应用入围了Gordon Bell奖的最终名单 (这个算是超算界最厉害的奖了)。充分说明太湖之光已经形成战斗力了啊!

最后冷静下来谈一谈不足之处: HPCG的跑分。为什么HPCG跑分重要?因为它比Linpack更接近真实应用的场景,更能体现出内存系统的瓶颈。用一个汽车的比喻来讲,Linpack的跑分更像是汽车的百米加速指标,而HPCG更像是到真实的赛道上去跑——这时候就不光是加大马力就能行的了,操控性等其他因素也很重要。

太湖之光在HPCG的测试下只达到了它0.3%的峰值性能,总的算下来还不如天河二号。说明其在 memory 和 network 的性能上存在很大的瓶颈。这其实还是挺不乐观的。

最最后还是不要掉以轻心,美帝这边正在奔着exa-scale (1000 Pflops) 努力,计划在2023年拿出性能达到exa-scale,功耗小于20MW 的超算。(美帝目前没有建造类似天河二的系统很大程度上是因为功耗的限制,放眼望去基本都是10MW 以下的) 眼前就有GPU带来的变革,DARPA 为此也投资了不少黑科技的项目, 而且这个新闻一出,估计跟国会要钱更容易了…… 革命尚未成功,同志仍需努力啊!
嗯,终于有 @Sean 出手了,这个题目才算有价值的回答。
还有 @zodism 转帖的部分也很有意思。他自己写的部分是车轱辘话不看也罢。

超算冲榜,如果靠本国自研制的消费级CPU,不管是自有指令集和架构,还是仿制x86,继承Alpha的遗产,还是复活MIPS,甚至是借力ARM ISA,我个人认为 3-5 年内,都比较难有突破性的作品出现。

但是如果做流式的处理器或者是many cores那是有希望的。这一类产品的好处就是可以根据需求,调整控制和计算单元的配比,设计更高效的IO体系。这点我非常同意 Sean 的看法,On-chip local memory因为没有同步问题,协议简单可以针对特定应用,在较少面积较低功耗的情况下,做到很好的Bandwidth/Latency,是超算的一个方向。

事实上,以消费级芯片为计算核心的超算设计时间并不长。


x86-64主打的Supercomputer是从03年才开始的,IBM现在的Power芯片也都和消费级芯片区别不大。更早之前往往都是大型机的历史。

消费级芯片集群占据超算主流,主要是因为,

0. 消费级芯片性能的迅速提升
1. 这一等级芯片的巨大产量带来的廉价芯片
2. 节点上成熟的软件体系
3. 节点易于复用

但是一旦节点数量增长到一定限度,单芯片性能本身遇到瓶颈的时候,整体功耗和极为复杂的节点互联带来的可扩展性就开始成为了问题。大家都看到这个问题,但是消费级芯片的灵活性和软件的完备性又不是说替代就替代的。有同学认为,支持了 OpenACC 和 OpenMPI 就没有软件问题了,这完全是一厢情愿的美好愿景。

在可以预测的将来,超算应该会朝着异构集群的方向发展,在满足灵活性和软件适应性的情况下,对特定应用寻求更高的性能和性能功耗比。

现阶段能见到的方案就有(感谢评论栏中 李发 的提醒):

  1. 同构:京(K Computer)
  2. 异构:
    1. 从设备:GPU
      1. 主-从片内通讯:目前还没见到过,也许以后AMD的hUMA会出超算?
      2. 主-从片间通讯:天河1,Titan(AMD Opteron + Tesla)
    2. 从设备:Slave Cores
      1. 主-从片内通讯:神威,下一代Phi Cores
      2. 主-从片间通讯:天河2(Xeon + Phi)

这些体系各有各的优势。
论易用性和软硬件成熟度,同构高于其它,片间通讯又要比片内的主从结构方便一些(这个并不绝对),Many Cores比GPU方便一些。但是可并行的计算密集型应用的话,片内通讯的CPU+GPU最经济。

所以神威现在于Linpack上的领先地位,我个人认为更多是来自于代际不同。
这是一个非常好的起点,起码以后中美在做Exa级别的架构、互联、应用上已经是同场竞技了,这点从中美两国超算建设的Roadmap上就能看出来。而且做个大胆的预测,除非以后光路计算机得到广泛应用,否则即便是量子计算机出现,超算也不会跳脱现有的异构体系,新体系很可能是未来数十年的基础。

但是这个代际之间的转换并不是免费的,牺牲了HPCG换来了Linpack,牺牲了一些Master换来了一大批Slave。这就意味着现有的设计,总是会在一些场景下不如以前。
对于神威的军方背景,面临的问题相对单一。以核爆模拟为主的计算,Linpack对他们来说或许是最合适的测试,这一点Gordon Bell提名是个非常有利的支持证据。

但是对民用超算而言,场景更加复杂多变。这时应当能见到很多来自于Master的瓶颈。所以要想有更加强力的民用超算,消费级/通用 CPU 还有待继续发展。

而天河和神威,也应该是一对互补的超算系统,分别适用于不同的应用场景,在各自的领域他们都是最顶级的计算设备。撇开场景直接将指标相比较,是不太合适的。
为什么?