設計工具
記憶體

記憶體湖:記憶體領域如何隨著 CXL™ 演變

美光可擴充記憶體系統尋路團隊 | 2024 年 1 月

不斷變化的資料需求

自從電腦問世以來,如何高效地將資訊送入和送出處理器一直是一項挑戰。令人生畏的打孔卡、磁帶捲軸以及隨後的軟碟機,讓位給了可以快速讀取和儲存大量(在當時而言)資料的旋轉介質硬碟。這些硬碟連接到單台電腦,如果使用者想要在電腦間移動資料,sneakernet 和 FTP 是最佳選擇。但這些方法會導致相同的檔案有許多副本,難以保持同步和管理。

1980 年代中期,Sun Microsystems 一些聰明的工程師建立了網絡檔案系統 (NFS),解決了檔案-副本問題,讓多台電腦可以存取位於單一位置的檔案。起初,該位置是另一台電腦;後來,該位置變成了網絡連接儲存 (NAS) 裝置。

如圖 1 所示,資料集市資料倉儲資料孤島已讓位於資料湖。資料湖是一個術語,用於描述大量資料,這些資料儲存在非易失性、可成組尋址的儲存裝置中,並可透過網絡供各類使用者使用及用於各種用途。

memory-lake-graph-2.png

隨著資料集從 MB 增長到 TB,再到 PB,將資料從區塊儲存裝置透過互連傳輸到系統記憶體,執行運算,然後將大型資料集儲存回持久性儲存裝置的時間和功率(瓦特)成本也在不斷上升。此外,異質運算硬體越來越需要存取相同的資料集。例如,通用 CPU 可用於彙編和預處理資料集以及排程任務,但專用運算引擎(如 GPU)在訓練 AI 模型時速度要快得多。我們需要更高效的解決方案,以減少將大型資料集從儲存裝置直接傳輸到處理器可訪問記憶體的過程。

一些公司透過將資料集儲存在大型、位元組可尋址、可共享的記憶體中,推動業界解決這些問題。20 世紀 90 年代,可擴充一致性接口 (SCI) 允許多個 CPU 在一個系統內以一致的方式訪問記憶體。異質系統架構 (HSA)1 規範允許同一匯流排上不同類型的裝置共享記憶體。從 2010 年開始的十年間,Gen-Z 標準提供了具有高頻寬、低延遲和一致性的記憶體語義匯流排協議。這些努力最終促成了今天廣泛採用的 Compute Express Link (CXLTM) 標準。自 Compute Express Link (CXL) 聯盟成立以來,美光一直是積極的貢獻者。

CXL 共享、零複製記憶體

Compute Express Link 為節省時間和降低功耗開啟新機遇。新的 CXL 3.1 標準允許使用行業標準元件,透過低延遲、高頻寬介面在不同主機之間共享 DRAM 等位元組可尋址、負載儲存可存取記憶體。

這種共享方式開啟了機遇,而在以前,只有使用昂貴的專有設備才能實現。有了共享記憶體系統,資料可以一次載入共享記憶體,然後由管道中的多台主機和加速器進行多次處理,不會產生與複製資料到本地記憶體、區塊儲存協議和延遲有關的成本。

此外,還可以省去一些網絡資料傳輸操作。例如,連接到感測器陣列的主機可擷取資料並在一段時間內將資料儲存在共享記憶體中。一旦駐留在記憶體中,為此進行最佳化的第二台主機可以清理和預處理資料,然後由第三台主機處理資料。與此同時,第一台主機一直在擷取第二個資料集。主機之間唯一需要傳遞的資訊是指向資料的訊息,以表示資料已準備好進行處理。大型資料集無需移動或複製,從而節省了頻寬、能源和記憶體空間。

零複製資料共享的另一個例子是生產者-消費者資料模型,即一台主機負責在記憶體中收集資料,其他多台主機負責在寫入資料後使用資料。和以前一樣,生產者只需傳送一條指向資料地址的資訊,向其他主機發出訊號,表示資料已可供使用。

增強記憶體功能

具有內建處理功能的 CXL 記憶體模組可進一步增強零複製資料共享功能。例如,如果 CXL 儲存模組能對完全位於模組中的資料對象執行重複的數學運算或資料轉換,則可以節省系統頻寬和電力。透過使用一種稱為近記憶體運算 (NMC) 的功能,在資料不離開記憶體模組的情況下命令記憶體模組執行操作,從而實現上述節約。

此外,還可利用低延遲 CXL 結構,在主機與記憶體模組之間或記憶體模組之間快速傳送低負擔資訊。這些連線可用於在生產者和消費者之間同步步驟和共享指標。

除了 NMC 和通訊優勢外,CXL 模組還可新增進階記憶體遙測功能,為瞭解共享裝置2中的實際應用流量提供新的途徑,而不會給主機處理器帶來負擔。作業系統和管理軟體可利用獲得的洞察力最佳化資料放置(記憶體分層)並調整其他系統參數,以實現從效能到能耗的營運目標。其他記憶體密集型增值功能(如交易)也非常適合 NMC。

記憶體湖

美光很高興能將大型、可擴充的 CXL 全域性共享記憶體和增強型記憶體功能整合到我們的記憶體湖概念中。如圖 2 所示,記憶體湖利用 CXL 3.1 規範的新特性,並增加了本部落格中討論的功能以及其他功能。

memory-lake-graph-1.png:記憶體湖的區塊圖

記憶湖包含以下特性:

  • 高效容量和成本
    • 數百 TB 至數百 PB 的全域性可尋址共享記憶體,允許對最大資料集進行非共享存取
    • 記憶體分層,最關鍵的資料始終儲存在最快的記憶體中,並透過將不太重要的資料儲存在更具成本效益的記憶體中來控制成本和資料持久性
    • 可配置的拓撲結構
  • 透過共享實現效能
    • 資料共享,透過負載儲存語義,多達數十台(或數百台)主機可以訪問位元組可尋址資料,無需進行複製
  • 低延遲實作
    • 低於 600 奈秒的資料載入和儲存時間
    • 透過 CXL 結構實現同步(小於 1 微秒)
  • 用於加速效能的近記憶體運算
    • 運算能力,資料不會離開記憶體模組(近記憶體或記憶體內運算)
    • 本機記憶體模組支援原子操作
對於 CXL 和共享記憶體來說,這是一個激動人心的時刻。如果您正在測試 CXL,請加入我們的技術應用支援計畫 (TEP) 以瞭解最新進展,或在此關注我們以瞭解未來更新。

1 異質系統架構基金會 (hsafoundation.org)

2 D. Boles、D. Waddington 和 D. A. Roberts,「支援 CXL 的增強記憶體功能」

美光可擴充記憶體系統尋路團隊
先進記憶體解決方案團隊從事新記憶體技術的研究、設計和測試。我們的專家團隊與合作夥伴、客戶、大學和標準機構密切合作,確保美光記憶體解決方案在記憶體技術領域保持領先地位。