存儲評論網

105 兆個 Pi 數字:通往新 Pi 運算記錄的旅程

企業  ◇  企業存儲

我們一直致力於挑戰計算極限,但這次的挑戰對像是圓周率π(e)。繼去年突破100兆位大關之後,我們決定更進一步,將圓周率π的已知位數推至105兆位。也就是說,3之後是105,000,000,000,000位數字。我們對平台進行了一些更新,在此過程中發現了一些令人驚訝的事情,也學到了一些東西——包括圓周率π的第105萬億位數字:6!

105 兆 pi - 伺服器和 JBOF

StorageReview 實驗室實現了 105 兆位元數字的破世界紀錄,凸顯了現代硬體令人難以置信的功能。這項成果由配備 2TB DRAM 和近 PB Solidigm QLC SSD 的尖端 128P 1.5 核 AMD EPYC Bergamo 系統提供支持,代表了計算和存儲技術領域的里程碑式成就。

面臨的挑戰

在100兆的數位化進程中,我們遇到了一些技術限制。例如,此伺服器平台僅支援前端插槽16個NVMe SSD。雖然我們擁有充足的 CPU 能力,但此計算在處理過程中以及輸出最終 TXT 檔案時在後端需要大量儲存。

為了解決上次的儲存問題,我們使用 PCIe NVME 適配器雪橇來擠入另外三個 SSD。然後,對於輸出,請注意,我們在 RAID0 中有一個 HDD 儲存伺服器,並且有一個 iSCSI 共用回傳計算盒。這次,我們想讓這個伺服器更「企業化」一點,所以我們請了一些朋友來幫忙。有趣的是,為伺服器添加一堆 NVMe SSD 並不像看起來那麼容易。

硬件

這項宏偉工程的核心是雙處理器 AMD EPYC 9754 Bergamo 系統,每個處理器擁有 128 個核心。 AMD 的處理器以其在複雜度極高的運算任務(人工智慧、高效能運算、大數據分析)中的卓越效能而聞名,提供了所需的強大動力。此外,1.5TB 的 DRAM 記憶體確保了快速的資料處理和傳輸速度。同時,近 1PB 的Solidigm QLC 固態硬碟提供了前所未有的儲存容量和可靠性。

105 兆個 pi 儲存驅動器

我們的基礎機箱平台與去年相同(QCT 盒子),但我們將 CPU 升級為 AMD EPYC 9754 Bergamo 晶片。我們想要追求速度和小數點的改進,同時避免使用儲存進行運算,這意味著我們必須呼叫 SerialCables 來提供 JBOF。這本身就帶來了一些挑戰,我們將在下面詳細介紹。

參數 價值
開始日期 19 年 14 月 10 日星期二 48:2023:XNUMX
結束日期 27 年 09 月 53 日星期二 16:2024:XNUMX
總計算時間 5,363,970.541 秒 / 62.08 天
開始到結束的掛牆時間 6,032,547.913 秒 / 69.82 天

計算期間:2023 年 12 月 14 日至 2024 年 2 月 27 日,共 75 天。

  • 中央處理器: 雙 AMD Epyc 9754 Bergamo 處理器,256 個內核,在 BIOS 中禁用同時多線程 (SMT)。
  • 內存: 1.5 TB DDR5 RAM。
  • 貯存: 36 個 30.72TB Solidigm D5-P5316 SSD。
    • SerialCables JBOF 中的 24 個 30.72TB Solidigm D5-P5316 SSD
    • 直接連接伺服器中的 12 個 30.72TB Solidigm D5-P5316 SSD。
  • 操作系統: Windows Server 2022 (21H2)。

通往 105 兆美元之路

參數 價值
常數 Pi
算法 楚德諾夫斯基 (1988)
小數位數 105,000,000,000,000
十六進位數字 87,200,612,490,794
線程模式 Cilk Plus 工作竊取 -> 256 / 256
工作記憶 1,492,670,259,968 (1.36 TiB)
總內存 1,492,984,298,368 (1.36 TiB)
邏輯最大檢查點 157,783,654,587,576 (144 TiB)
邏輯峰值磁碟使用率 534,615,969,510,896 (486 TiB)
邏輯磁碟位元組讀取 44,823,456,487,834,568 (39.8 PiB)
寫入的邏輯磁碟位元組數 38,717,269,572,788,080 (34.4 PiB)

遇到挑戰

為了擴展處理器可用儲存空間,本次運行新增了一個元件:NVMe JBOF。我們的測試平台提供了 16 個 NVMe 硬碟位,其餘 8 個僅支援 SATA 連線。雖然我們之前運行 100 萬億次時利用了三個內部 PCIe U.2 適配器將 NVMe 硬碟數量擴展到了 19 個,但這並非最佳方案。因此,在本次重測中,我們添加了一個Serial Cables 的 24 盤位 U.2 JBOF,這在兩方面都帶來了顯著提升:增加了計算交換存儲空間和內部輸出文件存儲空間。從此告別了瘋狂的 RAID 0 硬碟儲存伺服器!

串行電纜 24 盤位 JBOF 使我們能夠將原始運行的驅動器數量增加近一倍。我們為 y-cruncher 交換空間分配了 30 個驅動器,留下 6 個 SSD 用於儲存空間 RAID5 輸出磁碟區。這種方法的一個巨大優勢出現在輸出階段,我們不會像第一個 10T Pi 迭代那樣受到單一 100Gb 連接的速度的阻礙。雖然 JBOF 解決了驅動器總數問題,但它確實引入了一個限制:單一驅動器性能。

在具有直連 U.2 SSD 的伺服器中,每個磁碟機有四個 PCIe 通道。如果每個驅動器直接連接到主機板,則相當於 96 個 PCIe 通道可容納 24 個 SSD。 JBOF 的總頻寬受到它可以連接回主機的 PCIe 通道數量的限制。

在本例中,我們使用了兩張 PCIe 交換主機卡,將 JBOF 分成兩組,每組 12 個 SSD。每組 12 個 SSD 共享 16 個 PCIe 通道。雖然在將 SSD 連接到我們的主機方面仍然具有相當大的優勢,但我們確實遇到過透過 JBOF 運行的交換驅動器落後於直接連接到伺服器的驅動器的情況。這不是 JBOF 的錯。這只是技術限制,或者更確切地說是伺服器可以使用的 PCIe 通道數量的限制。

精明的讀者可能想知道為什麼我們在這次運行中停在 36 個 SSD,而不是增加到 40 個。這是一個有趣的故事。在許多伺服器中,可尋址 PCIe 空間都有其限制。在我們的例子中,在 38 個驅動器數量中,最後一個 SSD 佔用了 USB 晶片組的 PCIe 位址,我們失去了對伺服器的控制。為了安全起見,我們將其減少到 36 個 SSD,這樣我們仍然可以進入 BIOS 或登入伺服器。突破界限確實會帶來一些令人驚訝的發現。

診斷洞察力和解決方案

我們遇到的兩大挑戰中的第一個與性能相關。我們發現了阿姆達爾定律的實際應用。當在我們的256核AMD Bergamo系統上進行大規模交換模式操作時,y-cruncher似乎會“卡住”,這引發了一個奇怪的問題。這種卡住表現為CPU和磁碟I/O活動的缺失,挑戰了人們對軟體行為的傳統預期。這促使我們深入研究平行運算和硬體互動的複雜性。

發現過程表明,該程式並未真正掛起,而是以嚴重有限的容量運行,在龐大的 256 核設定中以單執行緒運行。這種不尋常的行為引發了人們對阿姆達爾定律潛在影響的質疑,特別是因為所涉及的操作不是計算密集型的,並且不應在配備 1.5 TB RAM 的系統上造成嚴重延遲。

當問題在消費級桌上型電腦上重現時,調查出現了意想不到的轉折,凸顯了即使在配置較低的系統中,阿姆達爾定律也會帶來嚴重的後果。這促使研究人員對問題的根本原因進行更深入的調查,最終發現Zen4架構特有的CPU風險與超對齊及其對記憶體存取模式的影響有關。

105萬億pi——伺服器和JBOF後方

在 AMD 處理器上,程式碼中的循環加劇了這個問題,由於其簡單的性質,該循環的執行速度應該比觀察到的要快得多。根本原因似乎是 AMD 的載入儲存單元對記憶體別名處理效率低。要解決這個複雜問題,既需要使用 AVX512 對循環進行向量化來減輕超級對齊風險,又需要透過增強並行性來解決阿姆達爾定律導致的速度下降問題。這種綜合方法不僅解決了眼前的問題,而且還對 y-cruncher 的計算過程進行了重大優化,為高效能運算環境中解決類似挑戰奠定了先例。

下一個問題是在計算的最後步驟中遇到的,計算會意外停止,並且無法提供有關崩潰原因的資訊。 Alexander Yee 獲得了遠端存取權限,這是十多年來第一次需要開發人員的直接幹預來完成 Pi 記錄。

我們沒有參與此診斷過程,但N63乘法演算法的AVX512程式碼路徑中存在一個關鍵的浮點運算錯誤。 Alexander遠端診斷了該錯誤,提供了修復後的二進位文件,並從檢查點恢復運行,最終在實施關鍵軟體修復後成功完成了計算。

反思與前進

這項努力說明了高效能運算的複雜性和不可預測性。解決這些挑戰創造了新的 Pi 運算記錄,並為軟體開發和測試方法提供了寶貴的見解。最新的 y-cruncher 版本 v0.8.4 修復了已發現的問題,有望增強未來計算的穩定性。

要將 Pi 計算到 105 兆位數字絕非易事。它涉及細緻的規劃、最佳化和執行。 StorageReview 團隊結合開源和專有軟體,優化了演算法流程,以充分利用硬體的功能,減少運算時間並提高效率。

Solidigm QLC SSD 憑藉 PCIe Gen4 飽和讀取性能和高達 61.44TB 的行業領先容量,提供令人難以置信的結果。 Solidigm 策略規劃和行銷副總裁 Greg Matson 表示:“想像一下這些驅動器可以在高效能運算或人工智慧密集型應用中實現什麼。”我們很高興 Solidigm 的 SSD 能夠為 Storagereview 計算 pi 的第二次破紀錄嘗試提供動力。他們的努力證明了 Solidigm 儲存驅動器的真正功能,為數據密集型人工智慧應用打開了一個充滿可能性的世界。”

結語

Pi 的 105 兆位元數字的運作比我們預期的要複雜得多。反思一下,我們應該預料到會遇到新的問題;畢竟,我們正在完成一項以前從未完成過的計算。但隨著 100 兆次運算使用更多的「管道膠帶和鐵絲網」配置完成,我們認為我們已經完成了。最終,大家齊心協力才讓這台設備衝過終點。

雖然我們與合作夥伴一起為這一破紀錄的成績感到高興,但我們必須問:“這到底意味著什麼?” Pi 的 5 兆位數字可能不會對數學產生巨大的影響。儘管如此,我們仍然可以在計算工作負載和支援它們的現代底層硬體的需求之間劃清界限。從根本上來說,這項工作反映出,無論是企業資料中心叢集還是大型 HPC 安裝,正確的硬體都至關重要。

在計算圓周率時,儲存空間完全成為我們的瓶頸。更快的CPU有助於加速運算,但限制許多新世界紀錄的因素是設備本地儲存容量。這次,我們再次利用了Solidigm D5-P5316 30.72TB固態硬碟,讓系統擁有超過1.1PB的原始快閃記憶體空間。正是這些固態硬碟讓我們能夠突破先前的紀錄,達到圓周率小數點後105兆位元。

這確實引出了一個有趣的問題。我們的許多粉絲都知道,Solidigm的 D5-P5336 固態硬碟容量高達 61.44TB ,而D5-P5430固態硬碟的容量也高達 30.72TB ,並且提供多種規格和容量選擇。我們已經評論過這些硬碟,並在社群媒體上發布了許多展示這些驚人高密度硬碟的貼文。 32 塊這樣的固態硬碟加起來接近 2PB 的儲存容量,不禁讓人好奇,圓周率 105 兆位元小數究竟能維持多久的世界最大儲存容量?我們認為,應該不會太久。

已知最大的 Pi 十進制數字

1432360875 9463978314 2999186657 8364664840 8558373926:數字到 105,000,000,000,000

參與 StorageReview

電子報| YouTube | PodcastiTunes / Spotify | Instagram | Twitter | TikTok | RSS訂閱

喬丹拉努斯

人工智能專家; 引導您暢遊企業人工智能的世界。 《Storage Review》的撰稿人和分析師,擁有金融大數據分析、數據中心運營/開發運營和客戶體驗分析背景。 飛行員、天文攝影師、LTO 磁帶大師和電池/太陽能愛好者。