π=3.1415926......
想必学生时代,当提及背诵圆周率 π 小数点后面的个数时,很多人的胜负欲在悄然之间被激起,“只要背得越多就越厉害”的观点也根深蒂固地印在我们脑海中。
殊不知,在数学、科学界,这样的观点依然存在,只不过此时的比拼早已从人类的大脑转战为云上计算。
近日,来自 Google Cloud 的开发者 Emma Haruka lwao 便打破了计算 π 值新的世界纪录,其可以将 π 的值一直计算到 100 万亿位,通过验证,第 100 万亿的小数点数值为 0。
对此,Google 团队发文庆祝称,“纪录就是要用来被打破的。”
回顾业界在 π 小数点值上的较量,似乎于近几年间进入了焦灼的状态,破纪录的时间也越来越短。
2019 年,Google 将 π 小数点计算到了 31.4 万亿位,创下了当年的世界纪录。
2021 年,格劳宾登州应用科学大学科学家计算出了另外 31.4 万亿位常数,使得总数达到小数点后的 62.8 万亿位,打破世界纪录。
2022 年 3 月,在 Google 第二次使用 Google Cloud 来计算后,其将小数点后的 100 万亿位数都给计算了出来。
此次项目共计用了不到 158 天的时间,更准确地说,应该是用了 157 天 23 小时 31 分 7.651 秒。
相关资料图
当更深层次了解 Google 是如何计算出 100 万亿位 π 小数点时,其向我们揭示了背后的技术:
程序:使用的是 Alexander J. Yee 开发的一个名为 y-cruncher v0.7.8(http://www.numberworld.org/y-cruncher/)的程序完成了繁重的工作
算法:楚德诺夫斯基算法(https://arxiv.org/abs/1809.00533)
主计算节点是一台运行 Debian Linux 的 n2-highmem-128 机器,采用 128 个 vCPU、864GB RAM,并支持 100Gbit/sec 的出口带宽。另外,Google 创建了一个网络存储群集,因为 n2-highmem-128 为单个虚拟机提供了 257TB 的附加存储,并且其预估计算所需的临时存储至少需要 554TB。
每个存储服务器都是一台 n2-highcpu-16 计算机,配置有两个 10,359 GB 的区域平衡永久磁盘。N2 机器系列提供均衡的性价比,当配置 16 个 vCPU 时,可提供 32 Gbps 的网络带宽,并可选择使用最新的 Intel Ice Lake CPU 平台,这使其成为高性能存储服务器的不错选择。
通过基准测试,Emma Haruka lwao 最终计算出 π 的第一百万亿位数字为 0。此后,其还使用了另外一种名为 Bailey-Borwein-Plouffe 公式算法进行了验证。Emma Haruka lwao 表示,“这次验证是整个过程中最可怕的时刻,因为在计算开始五个月后,没有确定的方法来知道计算是否成功。令人高兴的是,Bailey-Borwein-Plouffe 公式发现我们的结果是有效的。耶!”
以下是结果的最后 100 位数字:
验证之后,无疑证明结果是正确的。然而,不少网友也提出质疑,如此大费周章地去计算出 π 值究竟有什么样的意义?
CSDN 付费下载自视觉中国
对此,外媒 The Register 也对 Google 此次的项目进行了成本预估:
不过,在 Google 自身看来,一起都非常值得。Iwao 在博文中指出,“这种大规模的计算证明了 Google Cloud 的灵活基础设施如何让世界各地的团队突破科学实验的界限。这也是我们产品可靠性的一个例子——该程序在没有节点故障的情况下运行了五个多月,并正确处理了 82 PB 磁盘 I/O 中的每个位。在过去的三年中,我们的基础设施和产品的改进使这一计算成为可能。”
除此之外,Google 还将此次计算中运用的自动化解决方案的脚本代码在 GitHub(https://github.com/GoogleCloudPlatform/pi-delivery/tree/main/pi-100t)上开源出来,感兴趣的同学不妨通过代码更深入了解一下。