高性能计算不再像过去那样,其性能尤其会受到现代集群系统的设计限制。德克萨斯大学德克萨斯高级计算中心主任 Dan Stanzione 提供了一个关于这个结论的论据。
Stanzione 在最近的 2019 年 MVAPICH 用户组会议上讨论了这个主题,他在 TACC 的新“Frontera”超级计算机的背景下谈到了性能。从各方面来看,Frontera 是世界上最强大的系统之一。理论上它的最高性能为每秒 38.8 千万亿次浮点运算,在高性能 Linpack(HPL)基准测试中成绩为每秒 23.5 千万亿次浮点运算,这个成绩使其成为 TOP500 排行榜上的第五名。
Frontera 由 8,008 个双插槽节点组成,在节点之间以 100 Gb/s 的速度与 HDR InfiniBand 相连,并且以 HDR InfiniBand 支持的全速 200 Gb/s 速度运行到网络骨干网的备用上行链路。这些节点由英特尔顶级处理器“Cascade Lake”Xeon SP 8280 驱动,该处理器有 28 个核心,运行频率为 2.7 GHz,每个节点有工作频率为 2.93 GHz 的 192 GB DRAM。与去年的“Skylake”Xeon SP 8180 相比,Xeon SP 8280 具有相同数量的内核,但是凭借它更高的内存周期时间,使它的时钟速度提高了 8%,内存带宽增加了 10%。
从某种意义上来说,Frontera 仍然在建设中。TACC 刚刚开始添加节点,这些节点将配备基于 3D XPoint PCM 内存的 Optane 持久存储器。该计划是部署 16 个带有 6 TB Optane 内存的节点。这些将是四插槽节点,使用与 Frontera 的 vanilla 服务器相同的 Xeon SP 8280 处理器,他们希望将节点用于突发缓冲和内存数据库处理之类的事情。
接下来也会部署 90 个 GPU 节点,每个节点配备 4 个 Nvidia Quadro 5000 RTX 显卡。这些工作站 GPU 并不适合数据中心使用,TACC 将使用油浸技术降温(由 Green Revolution Cooling 提供)。这一动作的目的是为分子动力学和机器学习等工作负载提供大量的单精度和混合精度性能提供一个计算引擎,又不会像 TACC 那样为双精度和 Tensor Core 数学单元使用顶级 Tesla V100 GPU 加速器支付高昂的费用。
即使没有这些专用节点,核心 CPU 集群也足以使 Frontera 成为世界上最强大的学术超级计算机,无论是在峰值性能还是 Linpack 标准方面。但 Stanzione 并不认为这些数字并不意味着一切,虽然他也对 Frontera 的性能感到兴奋。正如我们稍后会谈到的那样,Frontera 实际上正在做它想要做的事情,即运行 HPC 应用程序比之前排名靠前的学术超级计算机 Blue Waters 快得多。但对于 38.8 千万亿次这个数字,Stanzione 却表示,这是一个可怕的谎言。
问题就是现在实现峰值浮点计算性能相当困难。而它在过去相当简单:CPU 主频×CPU 每个时钟周期执行浮点运算的次数×系统中 CPU 核心数目,这就是高性能计算峰值性能的方法。
但是,当您连续运行 Cascade Lake 的 512 位高级矢量扩展(AVX-512)设备时,您无法让处理器跑到 2.7 GHz。由于散热问题,英特尔必须降低 AVX-512 设备的时钟频率。在这种情况下,你运行 AVX-512 的频率会低于 2.7 GHz,他解释道。
所以即使 Frontera 的理论峰值为每秒 38.8 千万亿次浮点运算,也没有办法实现,理论上甚至没有。根据 Stanzione 的计算,考虑到该处理器的 AVX 频率约为 1.8 GHz,Frontera 的实际峰值性能接近每秒 25.8 千万亿次浮点运算,正如您可能注意到的那样,它更接近 Linpack 的每秒 23.5 千万亿次浮点运算结果。
所有这些都可能有助于解释为什么 Linpack 和峰值性能在 TOP500 列表上不再相关 - 至少对于使用 AVX-512 数学单元的机器而言。Stanzione 认为该指标过去更有用,因为这种相关性更加紧密。例如,当英特尔的“Sandy Bridge”Xeon E5 成为超级计算机的首选处理器时,Linpack 可以达到系统理论峰值的 90% 左右。现在,由于峰值浮点性能指标被误用,典型的 Linpack 收益率通常在 60% 到 65% 左右。顺便说一下,Stanzione 指出,现代所有处理器都存在这种混乱,而不仅仅是英特尔。
现在估计性能的基本问题是时钟频率是根据芯片工作的功率和热环境动态调整的。这些调整是连续发生的,因此,在任何给定时刻,都没有简单的方法来判断给定节点中给定处理器的运行速度。
但是,有一些方法可以优化环境以提高性能。例如,即使 Xeon SP 8280 在向量全速运行时以大约 1.8 GHz 运行 AVX-512 单元,在 Frontera 上,TACC 已设法将其增加到大约 2 GHz。这是采用基于 CoolIT 技术的特别高效的直接水架冷却系统的结果。Stanzione 说你也可以使用噱头来降低 DRAM 的速度来创造额外的热量裕量。TACC 不太可能采用这种技巧,因为一般来说,给 DRAM 降速并不是一个好主意,因为代码更容易受内存限制而不是计算限制。
抛开一切,好消息是 Frontera 在其选定的科学应用程序集中实现了所有性能目标。下图说明了机器在每种情况下都超过了这些目标阈值,有时只有几个百分点,在其他情况下,超过 100%。与 Blue Waters 相比,应用程序的运行速度提高了 3.2 倍至 9.5 倍,平均性能提升了 4.3 倍。Frontera 还使用了比 Blue Waters 上使用的节点少得多的节点来实现这些性能提升,使得每节点性能提高了 7.8 倍。
在这一点上,Frontera 目前有 37 个科学应用程序在其上运行。目前包括模拟黑洞碰撞的一般相对代码,引力波模拟,模拟原子水平相互作用的病毒细胞模拟,光伏材料科学应用,脑癌模拟以及与 AI 结合的混合应用量子化学模拟。Stanzione 希望 Frontera 最终可以运行数百个应用程序。
但不是数千个应用程序,与一些中级 NSF 超级计算机不同,Frontera 与其前身 Blue Waters 一样,旨在用于需要先进超级计算机的规模和功能的能力级应用。因此,一般而言,只需要应用最大的科学和工程问题。“我们真的想在这台机器上为人们节约大量的时间”Stanzione 说。
与非网编译内容,未经许可,不得转载!