新纪录!谷歌 Cloud 计算出圆周率“ π” 第 100 万亿位数

简介: 新纪录!谷歌 Cloud 计算出圆周率“ π” 第 100 万亿位数

6 月 8 日,谷歌 Cloud 官方博客发文宣布了一项新纪录 —— 通过谷歌云已计算出圆周率“π”小数点后第 100 万亿位数!(文章末尾附有此次计算结果的最后 100 位数字)

image.png

相信大家都是在小学时候就知道圆周率“π”,但当时的我们只知道这个无限循环的数学常数约等于 3.14 或 3.1415926,最多能背到小数点后几位。殊不知,最近几年这个无理数已经随着技术的发展被科学家们进行了更精密的计算。

据了解,早在 2019 年谷歌就计算出“π”小数点后第 31.4 万亿位数,这在当年打破了世界纪录。然后,在 2021 年,瑞士 Grisons 应用技术大学 (University of Applied Sciences of the Grisons—UAS Grisons)的科学家们又计算了 31.4 万亿位常数,使其总数达到 62.8 万亿位小数。

此次,是谷歌云计算第二次对“π”这个数学常数的破纪录计算,且仅在三年内数字就增加了三倍,这一成就也验证了谷歌云基础设施方面的飞速发展。

谷歌 Cloud 计算背后的底层技术

据谷歌方面介绍,实现这一切其背后的底层技术,就是计算引擎 —— 谷歌云的安全和可定制的计算服务,以及它最近的几个新增和改进:包括 N2 云计算引擎系列、虚拟 NIC @ 100 Gbps 出口带宽,以及平衡持久磁盘(balanced Persistent Disks)。

下面为此次谷歌云计算在“π”小数点后第 100 万亿位数方面的工作概述:

程序:y-cruncher v0.7.8,作者:Alexander J.Yee

算法:Chudnovsky 算法

计算节点:n2-highmem-128,带 128 个 VCPU 和 864 GB RAM

开始时间:2021 UTC 10 月 14 日星期四 04:45:44

结束时间:周一至 3 月 21 日 04:16:52 2022 UTC

总运行时间:157 天 23 小时 31 分 7.651 秒

总存储大小:663 TB 可用,515 TB 已使用

总输入/输出:读取 43.5 PB,写入 38.5 PB,总计 82 PB

image.png

从过去到现在,我们可以看到由于计算机速度发展的越来越快,“π”小数点后面的位数也正在以指数方式增加。

  • 架构(Architecture)

由于“π”的计算是一种计算、存储和网络密集型任务,因此给所配置计算引擎环境的方式带来挑战。

image.png

谷歌云计算引擎提供了支持计算和 I/O 密集型工作负载的机器类型,选择了 n2-highmem-128(Intel Xeon、128 VCPU和864 GB RAM)可用内存量、网络带宽两个最重要的因素以满足高性能 CPU、大内存和 100 Gbps 出口带宽的需求。

存储方面,谷歌估计计算所需的临时存储大小约为 554 TB,并设计了一个由一个计算节点和 32 个存储节点组成的集群,用于总共 64 个 iSCSI 块存储目标。

主计算节点是一台运行 Debian Linux 11 的 n2-highmem-128 计算机,具有128 个 VCPU 和 864 GB 内存以及 100 Gbps 出口带宽支持,并采用了基于网络的共享存储体系结构。

每台存储服务器都是一台 n2-highcpu-16 计算机,配置有两个 10359 GB 分区平衡持久磁盘。N2 机器系列提供了平衡的性价比,当配置 16 个 VCPU 时,它提供了 32 Gbps 的网络带宽,且可选择使用最新的 Intel Ice Lake CPU 平台,这使其成为高性能存储服务器的良好选择。

  • 自动化解决方案

谷歌云计算采用 Terraform 来设置和管理集群,且编写了两个 shell 脚本来自动化关键任务,Terraform 脚本创建了 guest OS(来宾)策略,以帮助确保自动安装所需的软件包,guest OS 操作系统安装过程的一部分由启动脚本处理,这种方式只需几个命令就可以重新创建整个集群。

  • 100 Gbps 网络

早在 2019 年,谷歌进行“π”小数点后第 31.4 万亿位的计算时,其云计算机器出口吞吐量只有 16 Gbps。这一次,n2-highmem-128 机型支持高达 100 Gbps 的出口吞吐量,这意味着带宽在短短三年内增长了 600%。

此次,网络驱动程序也从 virtio 更改为新的谷歌虚拟 NIC(gVNIC)。gVNIC 是一种新的设备驱动程序,与谷歌的 Andromeda 虚拟网络堆栈紧密集成,以帮助实现更高的吞吐量和更低的延迟,这也是 100 Gbps 出口带宽的要求。

  • 存储设计

持久磁盘(PD)是计算引擎虚拟机的一种持久的高性能存储选项,此次谷歌选择使用 balanced PD —— 一种新型的持久性磁盘,可提供高达 1200 MB/s 的读写吞吐量和 15-80k 的 IOPS,成本约为 SSD PD 的 60%。此存储配置文件是 y-cruncher 的最佳选择,它需要高吞吐量和中等 IOPS。

综述

以上,所有这些微调和基准测试共同使得谷歌此次实现了“π”小数点后面第 100 万亿位数的计算。

image.png

计算完成后,谷歌还用另一种算法(Bailey–Borwein–Plouffe 公式)验证了最终的数字,最终该公式被验证成功。

以下是本次谷歌云计算对“π”小数点后第 100 万亿位数计算结果的最后 100 位数字:

4658718895 1242883556 4671544483 9873493812 1206904813

2656719174 5255431487 2142102057 7077336434 3095295560

如果大家想要了解此次计算的整个数字序列,可登录谷歌云计算的演示网站上查看。

参考链接:https://cloud.google.com/blog...

相关文章
|
9月前
|
JavaScript 前端开发 大数据
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
|
9月前
|
C语言
火山中文编程 -- 计算1-100的累加和
火山中文编程 -- 计算1-100的累加和
67 0
|
算法 Python
算法与python:一台每秒计算10亿次的计算机,使用递归法,从宇宙大爆炸计算到现在,能计算到第几个斐波那契数列?
算法与python:一台每秒计算10亿次的计算机,使用递归法,从宇宙大爆炸计算到现在,能计算到第几个斐波那契数列?
256 0
|
数据挖掘
一维数组实验题:计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平
一维数组实验题:计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平
207 0
|
机器学习/深度学习 人工智能 并行计算
全球最快AI超级计算机开动,每秒4百亿亿浮点运算!正拼接最大宇宙3D地图
一个计算机探索宇宙的史诗级时刻!近日,被誉为全球最快的人工智能工作负载超级计算机——Perlmutte宣布开启。这台新超级计算机以拥有6144个英伟达A100张量核心图形处理器,将负责拼接有史以来最大的可见宇宙3D地图。并且,它有望拨开物理学天空的乌云——暗能量。
303 0
|
算法 固态存储 数据可视化
62.8万亿位!一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录
近日,瑞士格劳宾登应用科学大学团队历时101天9小时,完成了圆周率小数点后62.8万亿位的计算,比创下吉尼斯纪录耗费的计算时间减少一半!诞生如此多位小数的算法「y-cruncher」竟出自高中生之手。
687 0
62.8万亿位!一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录
7-15 计算圆周率 (15 分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。 2π​=1+31​+3×52!​+3×5×73!​+⋯+3×5×7×⋯×(2n+1)n!​+⋯ 输入格式: 输入在一行中给出小于1的阈值。
257 0
如何统计二进制序列中1的个数的三种算法(谷歌笔试题)
如何统计二进制序列中1的个数的三种算法(谷歌笔试题)