谷歌破世界纪录!圆周率计算到小数点后 31.4 万亿位

2019 年 3 月 16 日 机器学习算法与Python学习

  新智元报道  

编辑:小芹、张乾


3 月 14 日,也是国际圆周率日。在这天,一位谷歌工程师创造了一项世界纪录!


她叫 Emma Haruka Iwao,来自日本,她利用谷歌云计算资源,花了 121 天,成功将圆周率 π 计算到小数点后 31.4 万亿位,准确地说,是小数点后 31415926535897 位,刷新了世界纪录。


Emma Haruka Iwao


上一次记录是在 2016 年创造的,当时瑞士物理学家 Peter Trueb 用一台电脑配置 24 个 6TB 硬盘,花了 105 天计算到圆周率小数点后的第 22.4 万亿位。


也就是说,Iwao 往后多算了近 9 万亿位。


Iwao 表示,这次的记录是利用云计算完成的,这也是第一次使用云打破吉尼斯世界纪录,证明了谷歌云的基础设施能够可靠地完成长时间、高计算量的任务。


Iwao 的团队使用了一个名为 ycruncher 的程序,该程序由谷歌云平台计算引擎上运行的 25 个虚拟机驱动。计算过程一共产生了 170TB 的数据,相当于整个国会图书馆印刷藏品数据量。


Iwao 表示:“对于 π 来说,最大的挑战是它需要大量的存储和内存才能计算出来。”


当然了,现实世界并用不到那么精细的 π,NASA 将火箭送至太空也仅运用了 π 小数点后 15 个数字,而要以单个原子的精度来测量可见宇宙的周长,也只需要算到 π 小数点后 40 位数字。


Iwao 说:“这一直是我自孩童以来的梦想,打破 π 小数点后位数的世界纪录。”12 岁时,她就试过自己下载软件,试图计算圆周率 π。


Iwao 在谷歌云官方博客上详细介绍了这次的计算过程,并且,所计算出来的 31.4 万亿个数字也已经成为开放资源可供下载,欢迎所有想用这些数字做实验的人下载使用。


121天,使用云计算的优势


自古巴比伦人以来,人们就没有停止过计算圆周率 π。π 是一个无限不循环小数,为一个圆的周长和其直径的比率。公元 5 世纪时,中国数学家刘徽和祖冲之用几何方法将 π 精确到小数点后 7 位,即最经典的 3.1415926,保持了 1000 多年。


我们使用 y-cruncher 实现了这一壮举  ,这是由 Alexander J. Yee 开发的一个 Pi 基准程序,使用 Google Compute Engine 虚拟机群集。计算从 2018 年 9 月 22 日开始到 2019 年 1 月 21 日结束,持续了 121 天


31.4 万亿的数字比 Peter Trueb 在 2016 年 11 月创造的世界纪录增加了近 9 万亿。Yee 使用用 Bellard 公式和 BBP 公式对计算结果进行了独立验证。下面是结果的最后 97 位:


6394399712 5311093276 9814355656 1840037499 3573460992 1433955296 8972122477 1577728930 8427323262 4739940


当然,大多数科学应用都不需要超过几百位的 π,不过,这并未阻止科学家们继续计算 π;从 2009 年开始,工程师们已经使用定制的个人电脑来计算小数点后万亿位数的 π。事实上,计算更多 π 数字的竞赛最近才加速,计算机科学家们将其用作测试超级计算机的方法,数学家也在相互竞争。


然而,Chudnovky 公式具有复杂性 —— 计算 π 的常用算法是O(n (log n)3)。通俗地说,这意味着计算数字所需的时间和资源比数字本身增加得更快。此外,随着计算的进行,在潜在的硬件中断或故障中生存下来会变得越来越困难。


我们决定使用来计算 π。使用 Compute Engine,谷歌云的高性能基础设施,比使用专用物理机器有许多好处。首先,Compute Engine 的实时迁移功能允许在基础设施更新时应用程序继续运行。我们在 111.8 天里运行了 25 个节点,即 2795 个机器日 (7.6 个机器年),在此期间,谷歌云不间断地执行了数千次实时迁移,并且对计算过程没有造成影响


在云中运行还允许我们将计算出的数字完全作为磁盘快照发布。在不到一个小时的时间内,每天只需 40 美元,你就可以复制快照、处理结果并处理计算资源。在云计算出现之前,分发如此大的数据集的唯一可行方法是运送物理硬盘。


此外,在云环境中运行还有很多好处:可以选择多种硬件,包括支持 AVX-512 的最新英特尔 Skylake 处理器。你可以根据需要对实例进行放大或缩小,并在使用完实例后将其删除,只需要为使用的实例付费即可。


以下是该计划的其他详细信息:

我们的 π 集群架构


集群设计


我们为主计算节点选择了一个 n1-megamem-96 实例。它是计算引擎上可用的最大的虚拟机类型,在项目开始时提供了 Intel Skylake 处理器。Skylake 一代 Intel 处理器支持 AVX-512,这是 512-bit SIMD 扩展,可以对 512 位数据或 8 个双精度浮点数同时执行浮点运算。


目前,每个计算引擎虚拟机最多可以挂载 64 TB 的永久磁盘。我们使用 iSCSI 协议远程链接永久磁盘以添加额外容量。节点的数量是根据 y-cruncher 的磁盘基准测试性能决定的。我们为 iSCSI 目标机选择了 n1-standard-16,以确保计算节点和存储之间有足够的带宽,因为网络出口带宽和永久磁盘吞吐量是由 vCPU 内核的数量决定的。


计算在以下 Google Cloud 节点上完成:


  • 计算: 1 x n1-megamem-96(96 vCPU,1.4TB),带 30TB SSD

  • 存储: 24 x n1-standard-16(16 vCPU,60GB),带 10TB SSD


24 个较小的节点用于网络附加存储。总计约有 240 TB 的存储空间。


如何获得31415926535897位数字


我们的 pi.delivery 服务提供了一个 REST API 来访问 web 上的数字。


方便你在自己的工作中使用这些数字,我们将计算出的 π 数字作为快照在谷歌云平台上提供。每个快照都包含一个带有十进制数字的文本文件,你可以根据这些图像创建一个新的永久磁盘。我们提供了 XFS 和 NTFS 磁盘格式来分别适应 Linux 和 Windows 操作系统。


你需要加入 pi-31415926535897 Google Group 才能获取访问权限。将克隆磁盘保存在项目的 us-central1、us-west1 和 us-east1 区域之一,每天大约需要花费 40 美元。我们将把这些快照保存到 2020 年 3 月 14 日。快照可在以下位置获得:


XFS: 

https://www.googleapis.com/compute/v1/projects/pi-31415926535897/global/snapshots/decimal-digits-xfs

NTFS: 

https://www.googleapis.com/compute/v1/projects/pi-31415926535897/global/snapshots/decimal-digits-ntfs


推荐阅读

突发!百度总裁张亚勤宣布退休

比DGL快14倍:PyTorch图神经网络库PyG上线了

京东回应 995 工作制:不强求但鼓励全情投入

4个Linux小技巧,帮你提高机器学习生产效率

把14亿中国人都拉到一个微信群在技术上能实现吗?

2019QS世界大学学科排名重磅发布!

登录查看更多
0

相关内容

谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和谢尔盖·布林共同创建,被公认为全球最大的搜索引擎。公司总部称为“Googleplex”,位于美国加州圣克拉拉县的芒廷维尤。业务包括互联网搜索、云计算、广告技术等,同时开发并提供大量基于互联网的产品与服务,其主要利润来自于AdWords等广告服务。
Python导论,476页pdf,现代Python计算
专知会员服务
261+阅读 · 2020年5月17日
斯坦福2020硬课《分布式算法与优化》
专知会员服务
120+阅读 · 2020年5月6日
【斯坦福新课】CS234:强化学习,附课程PPT下载
专知会员服务
123+阅读 · 2020年1月15日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
107+阅读 · 2020年1月2日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
181+阅读 · 2020年1月1日
元强化学习迎来一盆冷水:不比元Q学习好多少
AI科技评论
12+阅读 · 2020年2月27日
Julia 对决Python:谁能在2019年称霸机器学习编程?
七月在线实验室
3+阅读 · 2019年1月13日
量子计算
人工智能学家
7+阅读 · 2018年4月6日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
6+阅读 · 2018年3月12日
VIP会员
相关VIP内容
Top
微信扫码咨询专知VIP会员