美国能源部的橡树岭国家实验室的“Summit”pre-exascale 超级计算机,计划在2017年年底到2018年年初建成,看起来像一个巨大的系统集群,可能用于训练神经网络。这是一个非常方便的发展。

在盐湖城召开的SC16超级计算会议上,Summit系统和它的将在劳伦斯利弗莫尔国家实验室部署的伙伴系统“Sierra” 不止一次被称为“AI超级计算机”,这反映了事实上,世界各国的国家实验室被要求在通常只做模拟和建模以推进科学的同一系统上做机器学习,因此不仅仅是要推进高端大气的科学计算,还要让这些系统看起来更酷和更多有用。价值数亿美元的pre-exascale 超级计算机,重要的是尽可能多地被使用。 

考虑到多年以前Summit和Sierra的架构已经完成,对于IBM,Nvidia和Mellanox 来说,混合庞大的CPU和GPU组合已成为用于训练神经网络的首选节点类型。同时也是提高GPU加速数据库管理系统速度的首选系统架构。

Summit和Sierra节点的详细信息在SC16会议上公布。 它们反映了事实,任何超级计算机的采购都是提前完成,只是不知道系统将被分配的预算,比如就像Summit和Sierra。

回到2014年11月,当宣布CORAL采购将在橡树岭、劳伦斯利弗莫尔和阿贡国家实验室放置三个能力级pre-exascale系统时,这三台机器的总帐单为3.25亿美元。 这包括在美国阿贡国家实验室的180 petaflops的“曙光女神”的超级计算机 ,它是基于英特尔未来的“Knight ”的Xeon Phi处理器和它200 GB /秒的Omni-Path 2级互联以及基于Lustre并行文件系统(也来自于英特尔),整个系统预计13兆瓦的功耗。 英特尔是Aurora的主要承包商(第一个),Cray是实际进行系统集成的分包商,系统将在2018年安装。对于Summit和Sierra系统,它们最初的计划性能为150 petaflops最小峰值性能,机器是基于混合来自IBM Power9处理器和NVIDIA Tesla “Volta”GV100 GPU 以及100 Gb /秒的InfiniBand EDR网络和基于IBM的GPFS并行文件系统的存储,所有功耗为10兆瓦。

超越极限

原始的Summit规范要求系统由大约3,400个节点组成,使用Power9 CPU和Volta GPU,具有超过40万亿次的性能。

Summit看起来需要更多的节点,以获得希望达到的性能水平,相较50,000个“Knights Hill”Xeon Phi节点,后者将让Aurora超算实现180 petaflops。 看起来,Summit也将进行网络升级,Mellanox上周确认,它将能够在明年年中获得200 Gb /秒的高数据速率(HDR)InfiniBand,将用于Summit和Sierra系统上。

在SC16发布了最终Summit节点配置,这里是他们的样子:

正如你所看到的,Summit的节点数已经增加到4,600个,比两年前关于机器配置的原始讨论增加了35%。

Oak Ridge在演示中确认,每个Summit节点将有两个Power9芯片和6个NVIDIA Tesla Volta GPU。 Power9芯片每个有24个内核,具有4 GHz的中点设计时钟速度,就像Power8芯片一样; 时钟速度可以从低到2.5 GHz到高达5 GHz,我们认为,这取决于客户需要的功耗范围。 Oak Ridge还没有谈到它将在Summit机器中使用Power9处理器的核心数量和时钟速度。

Power9芯片将在每个插槽中提供48条PCI-Express 4.0 Lanes, 双向总共有192 GB/s的带宽.此外,还提供48条lanes的Bluelink连接, 每条lanes具有25Gb/s的传输速度,累计双向是300GB/s。这些Bluelink端口用于运行来自Nvidia的Volta GPU的NVLink 2.0协议,并且其带宽比PCI-Express端口高出约56%。 因为拥有这些Bluelink端口,IBM不仅仅能通过SMX2接口将Tesla卡插入主板,还能同时通过BlueLink让它们互联。这样利用这些BlueLink的连接口,可以让Volta加速器通过NVLink协议来彼此共享显存,还能与两个Power9芯片共享内存。 

这是件令人感兴趣的事, 去知晓部署在Summit中心的系统里, 所具有的NVLink网络的拓扑结构情况。以及, 去知晓将来Volate在单芯片上, 是支持4个还是8个NVlink端口。显然人们需要在每6个GPU的cluster内, 尽量减少网络跃点. 还需要在GPU Cluster和2个CPU间, 尽量减少跃点。现在的GP100的Pascal GPU, 每个芯片上面只有4个NVLink 1.0端口, 这不够同时互联4个GPU, 以及, 通过连接到2个Power8 CPU节点的。但如果Volta能有8个NVLink 2.0端口, 那将使我们相信这会满足足够的连接要求。人们可以直接将每个Volta GPU直接连接到2个Power9 CPU芯片, 还能剩下6个用来互联cluster内部的其他全部GPU. 这样, 在不需要其他例如交换机之类的东西的情况下, 实际上通过网状网(Mesh网), 只需要再有5个NVLink口, 就足够连接所有的GPU了, 这样还能剩下第8个NVlink口. 它可能看起来像这样:

是的,我们还是喜欢纸

我们认为IBM和Nvidia正面临压力,如何让Summit系统更加强大,在节点中挤满更多的GPU,并且扩大节点数量。43.5Tflops的单节点峰值, 一共4600个节点, 这将让Summit具有超过200Pflops的理论峰值性能. 这很可能让IBM荣登2017年11月的Top500超算排行榜首位, 如果到时候该机器能运行起来并能跑起Linpack测试的话.

最初的计划要求Summit是10兆瓦的功耗,但是已经提高了30%到13兆瓦。 一些增加的功率预算可能是由于增加的计算能力和增加的存储容量。 最初的Summit规范要求一个带有1 TB /秒带宽的120 PB GPFS文件系统,但是从上面的图表可以看出,该文件系统已经增长到250 PB的容量,带宽高达2.5 TB /秒。 这是超过2.1倍的容量和2.5倍多的带宽,这很可能是一些额外的功耗。 同样,为了在更大的Summit集群上提高计算能力,我们认为IBM和Nvidia可能已经减少了Volta GPU数量,以便在Summit节点中获得更好的每瓦性能,并将单机中的GPU数量从四个提高了到六个加速器来扩展性能。 (我们当然可以猜测,但也有可能IBM和Nvidia不这样做,不过一个明显的问题是:为什么不这样做呢?) 

Summit配置还告诉我们一些关于Volta GPU的信息,或至少是在Summit内使用的GPU的信息。

回到当时,在2015年初,Nvidia说,它将能够提供32 GB的HBM内存的Pascal GPU,提供1 TB /秒的GPU内存带宽。 真正发生的是,Nvidia只能在Tesla P100提供16 GB的内存和720 GB /秒的带宽HBM。 没有人做出关于Volta GPU内存或带宽的承诺。 在2015年,Nvidia说的是,Volta GV100 GPU将提供每瓦72 Gigaflops的相对单精度浮点通用矩阵乘法(SGEMM),而Pascal GP100的每瓦性能为40 SGEMM gigaflops。

如果你使用这个比率,然后将其减半为双精度,那么一个Volta GPU保持在一个恒定的300瓦(与Pascal卡相同)将有一个超过9.5 teraflops双精度性能,那么四个将提供38.2 teraflops ,而Summit节点性能多半会超过40 teraflops。 所以这个性能级别的六个GPU将提供总共57.2 teraflops,虽然没有人承诺,这就是为什么我们认为Nvidia正在将这些Volta GPU降低到大约200瓦。 如果你切断时钟,因此每个卡上的热量减少100瓦,你可以保持四个Pascal P100卡相同的1,200功耗,但也许只能削减20%到25%的性能,降低33%的功耗。 通过将每个节点从四个Voltas变成到六个Voltas,每个节点的HBM内存和每瓦性能可以增加很多,并且总体性能可以推动进一步。所以如果功耗降到200W的Volta GPU, 根据我们的上面的推理, 能在一张GV100上得到7.6T的double性能, 以及38.2GFlops的每瓦性能。

为了有趣,我们假设Summit每个节点是50 teraflops。 这是一个总的512 GB的主内存的(根据今年早些时候IBM提供的规格是120 GB /秒的带宽, ),如果Nvidia公司能达到其原来的每颗GPU卡32 HBM GB内存的目标—.这样计算出来一共192GB的HBM显存, 和6TB/s的总带宽.  这比Summit's Witherspoon节点的前任, 即现在的Minsky Power Systems LC, 所具有的64GB的HBM显存, 和聚合的2.8TB/s的GPU显存带宽, 要多很多. 同时在Summit节点中, 还有800GB的非易失性内存. 我们很确定它不会是Intel的3D XPoint闪存. 虽然Oak Ridge没有说过, 但我们猜测它是来自希捷科技的, 很有可能是NVM-Express接口的闪存盘.这样情况下下的数据计算就会得到, 主存是512GB的DDR4, GPU上是共192GB的HBM显存 + 800GB的闪存. 4600个节点, 一共具有6.9TB的聚合总内存容量.(顺便说下, 那图有个错误. "Titan"超算应当是每节点32GB的DDR3内存+6GB的GDDR5显存, 一共是693TB的聚合总内存容量)

如果这样的电力消耗和性能对Volta来说是正确的, 那么我们认为每个节点50teraflops的性能是可行的, 即整个集群的峰值是230petaflops.如果(6个)Volta GPU的性能能聚合到54.5petaflops, 那么我们说整个集群将超过250P的性能 --- 已经摸到E级别的1/4了,这也是一个大型机器,理论上可以同时为机器学习这样的工作, 负载4,600个并行神经网络训练(我们不是说它会将来干这个),但考虑到在机器学习中使用的半精度数学运算,这已经是超过exaflops 计算能力了!