圆周率 π 小数点第 100 万亿数字是多少?Google 用 Debian 服务器给出了答案

来源:CSDN博客 | 2022-06-11 05:51:12 |

π=3.1415926......

想必学生时代,当提及背诵圆周率 π 小数点后面的个数时,很多人的胜负欲在悄然之间被激起,“只要背得越多就越厉害”的观点也根深蒂固地印在我们脑海中。

殊不知,在数学、科学界,这样的观点依然存在,只不过此时的比拼早已从人类的大脑转战为云上计算。

近日,来自 Google Cloud 的开发者 Emma Haruka lwao 便打破了计算 π 值新的世界纪录,其可以将 π 的值一直计算到 100 万亿位,通过验证,第 100 万亿的小数点数值为 0。

对此,Google 团队发文庆祝称,“纪录就是要用来被打破的。”

Google 是如何计算出 100 万亿位 π 小数点?

回顾业界在 π 小数点值上的较量,似乎于近几年间进入了焦灼的状态,破纪录的时间也越来越短。

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)上开源出来,感兴趣的同学不妨通过代码更深入了解一下。

关键词: