StorageReview 和我們的合作夥伴剛剛將 Pi 解算到 105 兆位,這是一項新的世界紀錄,比之前的記錄高出 XNUMX%。
我們對突破計算的界限並不陌生,但這次以 Pi(e) 為對象。繼去年之後火爆 100 為了達到萬億位數的基準,我們決定加強力,將 Pi 的已知位數推至 105 兆位數。這是105,000,000,000,000 之後的3 個數字。我們對去年運行的平台進行了一些更新,在運行過程中發現了一些令人驚訝的事情,並在此過程中學到了一些東西- 包括Pi 的第105 萬億位;6!
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,確保快速的資料處理和傳輸速度。同時,近 XNUMX PB Solidigm QLC 存儲 提供了前所未有的容量和可靠性。
我們的基礎機箱平台與去年相同(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 天 |
計算週期: 14年2023月27日-2024年75月XNUMX日,歷時XNUMX天.
- 中央處理器: 雙 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 托架,其餘 100 個僅用於 SATA。雖然我們的 2 兆次運行利用了三個內部 PCIe U.19 轉接器將 NVMe 驅動器數量擴展到 XNUMX 個,但這並不是最佳選擇。對於這次重新運行,我們添加了一個 串列電纜 24 盤位 U.2 JBOF,這在兩個方面有很大幫助:更多的計算交換儲存和內部輸出檔案儲存。不再有瘋狂的 RAID0 HDD 儲存伺服器!
串行電纜 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 或登入伺服器。突破界限確實會帶來一些令人驚訝的發現。
診斷洞察力和解決方案
我們遇到的兩個主要挑戰中的第一個是與性能相關的。我們發現的是 阿姆達爾定律 在行動中。當 y-cruncher 在大型交換模式操作期間似乎「掛起」在我們的 256 核心 AMD Bergamo 系統上時,出現了一個特殊問題。這種掛起的特點是缺乏 CPU 和磁碟 I/O 活動,挑戰了軟體行為的傳統預期。這導致了對並行計算和硬體交互的複雜性的深入研究。
發現過程表明,該程式並未真正掛起,而是以嚴重有限的容量運行,在龐大的 256 核設定中以單執行緒運行。這種不尋常的行為引發了人們對阿姆達爾定律潛在影響的質疑,特別是因為所涉及的操作不是計算密集型的,並且不應在配備 1.5 TB RAM 的系統上造成嚴重延遲。
調查 當這個問題在消費者桌面上複製時,出現了意想不到的轉變,凸顯了阿姆達爾定律的嚴重影響,即使在不太廣泛的系統上也是如此。這導致對根本原因進行了更深入的檢查,發現了 Zen4 架構特有的 CPU 危險,涉及超級對齊及其對記憶體存取模式的影響。
在 AMD 處理器上,程式碼中的循環加劇了這個問題,由於其簡單的性質,該循環的執行速度應該比觀察到的要快得多。根本原因似乎是 AMD 的載入儲存單元對記憶體別名處理效率低。要解決這個複雜問題,既需要使用 AVX512 對循環進行向量化來減輕超級對齊風險,又需要透過增強並行性來解決阿姆達爾定律導致的速度下降問題。這種綜合方法不僅解決了眼前的問題,而且還對 y-cruncher 的計算過程進行了重大優化,為高效能運算環境中解決類似挑戰奠定了先例。
下一個問題是在計算的最後步驟中遇到的,計算會意外停止,並且無法提供有關崩潰原因的資訊。 Alexander Yee 獲得了遠端存取權限,這是十多年來第一次需要開發人員的直接幹預來完成 Pi 記錄。
我們沒有參與此診斷過程,但 N512 乘法演算法的 AVX63 程式碼路徑中存在嚴重的浮點算術錯誤。 亞歷山大能夠遠端診斷,提供固定的二進位文件,並從檢查點恢復,最終在實施關鍵軟體修復後成功計算。
反思與前進
這項努力說明了高效能運算的複雜性和不可預測性。解決這些挑戰創造了新的 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 安裝,正確的硬體都至關重要。
對於 Pi 運算,我們完全受到儲存的限制。更快的 CPU 將有助於加速數學運算,但許多新世界紀錄的限制因素是盒子中的本地儲存量。對於這次運行,我們再次利用 Solidigm D5-P5316 30.72TB 固態硬碟 幫助我們在系統中獲得略多於 1.1PB 的原始快閃記憶體。這些 SSD 是我們能夠突破先前記錄並達到 105 兆 Pi 位數字的唯一原因。
不過,這確實提出了一個有趣的問題。我們的許多追隨者都知道 Solidigm D61.44-P5 中的 5336TB SSD 高達 30.72 TB D5-P5430 SSD 有多種外形尺寸和容量可供選擇。我們已經審查了這些驅動器,並有許多社交媒體帖子展示了這些令人驚訝的密集驅動器。其中 32 個 SSD 的儲存容量接近 2PB,人們可能想知道 105 兆位數的 Pi 的世界最大容量還能維持多久。我們想思考一下,不會太久。
已知最大的 Pi 十進制數字
1432360875 9463978314 2999186657 8364664840 8558373926:數字到 105,000,000,000,000
參與 StorageReview
電子報 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | 的TikTok | RSS訂閱