每日最新頭條.有趣資訊

谷歌破世界紀錄!圓周率計算到小數點後 31.4 兆位

新智元報導

編輯:小芹、張乾

【新智元導讀】刷新世界紀錄!國際圓周率日這天,谷歌工程師成功將圓周率π計算到小數點後31.4兆位數字,比上一次記錄多了9兆位!

昨天是 3 月 14 日,也是國際圓周率日。

在這天,一位谷歌工程師創造了一項世界紀錄!

她叫 Emma Haruka Iwao,來自日本,她利用谷歌雲計算資源,花了 121 天,成功將圓周率 π 計算到小數點後 31.4 兆位,準確地說,是小數點後 31415926535897 位,刷新了世界紀錄。

上一次記錄是在 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 位:

當然,大多數科學應用都不需要超過幾百位的 π,不過,這並未阻止科學家們繼續計算 π;從 2009 年開始,工程師們已經使用定製的個人電腦來計算小數點後兆位數的 π。事實上,計算更多 π 數字的競賽最近才加速,計算機科學家們將其用作測試超級計算機的方法,數學家也在相互競爭。

然而,Chudnovky 公式具有複雜性 —— 計算 π 的常用算法是O(n(logn)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 的存儲空間。

我們的 pi.delivery 服務提供了一個 REST API 來訪問 web 上的數字。

方便你在自己的工作中使用這些數字,我們將計算出的 π 數字作為快照在谷歌雲平台上提供。每個快照都包含一個帶有十進製數字的文本文件,你可以根據這些圖像創建一個新的永久磁盤。我們提供了 XFS 和 NTFS 磁盤格式來分別適應 Linux 和 Windows 作業系統。

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

谷歌部落格:

https://cloud.google.com/blog/products/compute/calculating-31-4-trillion-digits-of-archimedes-constant-on-google-cloud

獲得更多的PTT最新消息
按讚加入粉絲團