利用多个互连处理核心的力量的超级计算机消耗大量能量,其中一些运行功率高达 30 兆瓦。在一年的时间里,这些超级计算机消耗的电量相当于一座小城市的电量。
软件工程师Géraud Krawezik致力于确保超级计算能力在Flatiron Institute的科学计算核心(SCC) 得到有效利用。通过从开发代码到测试新硬件的项目,Krawezik 旨在优化该中心的计算。通过这项工作,他帮助科学家编写更好的代码以加速科学发现,并通过创新技术调节中心的能源消耗以更好地分配电力资源。
在加入 Flatiron Institute 之前,Krawezik 曾在多家公司和初创公司工作,从事一系列研究、计算和开发项目,包括科学软件开发、数据分析图算法以及金融和消费电子项目。他获得了博士学位。在巴黎南部大学获得高性能计算博士学位,并在伊利诺伊大学香槟分校完成了博士后研究职位。
你目前在做什么?
现在,我有两个主要项目。首先是帮助结构和分子生物物理学组,这是该研究所计算生物学中心和计算数学中心之间的合作。这些研究人员致力于创建蛋白质折叠的分子动力学模拟,并将其与低温电子显微镜数据进行比较。这些类型的模拟和观察有助于在分子水平上理解一整套生物过程——从某些蛋白质如何对温度变化作出反应,到冠状病毒如何利用其刺突蛋白渗入我们的细胞。我通过确保计算端的一切顺利运行来帮助他们。这意味着帮助优化软件、配置计算机节点以及安装和配置程序。
根据我的经验,不同软件包之间的科学软件效率差异很大。实际上很少有程序可以充分发挥超级计算机的潜力,这主要是因为它们中的大多数都不是由软件专家开发的。通常,当科学家编写代码时,他们只是希望它能正常工作,而不是——或者没有时间——专注于使其高效。通过处理计算和处理大型数据集的技术挑战,我的团队让 Flatiron Institute 的科学家能够专注于他们的科学研究。
这融入了我工作的第二部分,我基本上让机器学习算法与磁盘存储配合得很好。每当人们用机器学习训练神经网络时,他们都会从大型数据集开始。这些数据集占用了大量空间,并且包含数百万个必须由计算机随机访问的文件。这对于通常为单个大文件设计的计算中心中使用的存储机制来说是低效的。我正在努力通过改进软件代码来简化此过程,以便计算机在计算和使用存储时可以更有效率。
为什么效率在计算中如此重要?
我认为无论如何都应该以最佳方式使用计算机——打个比方,如果你用手柄而不是头部敲击钉子,锤子可能会起作用,但这是对其功能的不当使用。更重要的是,效率对环境很重要。具有讽刺意味的是,如果您在超级计算机上模拟气候变化,您可能会因为在计算中使用如此多的能量而加剧问题。例如,如果您的代码优化不佳,它可能会以其全部性能潜力的 10% 运行,这意味着它必须运行 10 倍的时间。 90% 的性能损失是 90% 的电力浪费,所以如果我们优化代码,我们可以节省很多能源。
我们还可以通过更多地关注我们使用硬件的方式来节省能源。不久前,我对我们的一个小型图形处理单元 (GPU) 集群进行了测试,该集群以每张卡 400 瓦的功率运行。我发现将其降低到仅 225 瓦仍然可以提供 90% 的性能。性能差异如此之小,以至于不值得以 400 瓦的功率运行 GPU。因此,我们现在限制了这些 GPU 的功率,从而节省了大量能源。由于我们可以向数据中心投入多少电力是有限的,这也有助于我们扩展我们必须容纳更多硬件的能力。
计算世界中使用的每单位能量的性能正在上升。在 Flatiron Institute,我们的一台超级计算机——每秒每瓦功率可执行 650.91 亿次触发器或浮点运算——现在是世界上最节能的。但与理论峰值相比,还有很大的提升空间。我们的聚合计算中心使用大约 1 兆瓦的功率,但 Frontier 等其他中心可以使用 20 或 30 兆瓦。可悲的是,许多新的处理器和附加的图形卡越来越需要能量来处理更多的信息和计算,这使问题变得更糟。对于这些非常大的系统,我们已经看到功耗在 20 年内增加了 10 倍。这让我想知道:2040 年的超级计算机是否需要自己的核电站?
每当新计算机或新型处理器问世时,我都喜欢运行基准测试以查看它们的性能。这有助于我们了解是否值得升级到最新最好的或保留我们已有的东西。
您在 SCC 采取的优化计算的步骤是否适用于其他地方?
是的,当然了。由于 Flatiron Institute 以外的其他团体使用我们科学家使用的相同通用软件,他们会遇到同样的问题。我们提出的任何调整和提示也会对他们有所帮助。在接下来的一年里,我有一些软件改进项目,我想通过博客或一些在线平台开发并提供给科学研究和计算社区,因为我认为它可以对其他希望提高计算效率的团体广泛有用.计算机科学家在超级计算中心之间协作和共享信息越来越普遍。 Flatiron Institute 的目标是传播知识,作为其中的一部分,我们希望与其他计算中心分享我们正在学习的知识。