什么是HPC內存墻,如何跨越它?
高性能計算 (HPC) 內存墻通常是指處理器速度和內存帶寬之間不斷擴大的差距。當處理器性能超過內存訪問速度時,這會在整體系統性能中造成瓶頸,尤其是在人工智能 (AI) 等內存密集型應用程序中。
本文引用地址:http://www.104case.com/article/202505/470860.htm本文首先探討了內存墻的傳統定義,然后著眼于另一種觀點,該視圖將內存容量與 AI 模型中參數數量的增長進行比較。無論從哪個定義來看,記憶墻已經到來,這是一個嚴重的問題。它以一些翻越墻壁或至少降低墻壁高度的技術結束。
當然,HPC 的定義正在不斷發展。幾年前被認為是 HPC 的東西不再符合最新的定義。根據處理器在峰值每秒浮點運算數 (FLOP) 與內存帶寬方面的性能比較,這個問題已經存在了 25 年多(圖 1)。雖然內存性能顯著提高,但訪問和傳輸數據的能力并沒有跟上數據處理者的能力。
圖 1.HPC 內存墻是處理器性能和內存帶寬之間的差距。(圖片:Astera Labs))
由于內存壁,處理器在等待內存上花費的時間越來越多。這意味著無法使用昂貴的高性能處理器的某些功能。在涉及大型數據庫和復雜計算的 HPC 應用程序中,這可能是一個嚴重的問題。
AI 視角
HPC 是 AI 的重要工具,尤其是用于訓練 AI 模型。當 AI 在 2015 年左右出現時,典型模型中的參數數量相對較少。它不需要最高的 HPC 性能,因此其他應用程序遇到的內存墻不是問題。
這種情況在 2019 年左右發生了變化,因為 AI 模型復雜性的快速增加超過了處理器性能的提高(圖 2)。在隨后的幾年里,AI 應用的內存墻高度持續增長,并可能成為 AI 性能進一步進步的限制因素。AI 的重要性日益增加,這增加了處理 HPC 內存墻的緊迫性。
圖 2.HPC 內存墻也可以從 AI 模型日益復雜的角度來看待。(圖片:Ayar Labs))
降低墻體高度
如上圖 1 所示,多代圖形雙倍數據速率 (GDDR) 和高帶寬內存 (HBM) 技術只是減緩了內存墻的增長速度,但并沒有解決問題。
還使用了幾種內存管理方法,包括多級分層緩存,其中常用數據存儲在更靠近處理器的位置,以及預取指令,通過減少訪問主內存的需求來提高性能。
最大化內存使用的優化算法也有助于減輕內存墻的影響。構建數據以更有效地使用可以最大限度地減少緩存未命中并提高性能。
最近的發展不是原始內存性能的改進,而是專注于新的計算和內存架構來擴展墻。
新架構方法的示例包括內存計算 (CIM),也稱為內存處理 (PIM) 和內存計算 (IMC)。CIM 是一種基于硬件的架構,可直接在內存存儲中執行計算。這減少了對數據傳輸的需求并加快了計算速度。
IMC 是一種硬件和軟件方法。數據在 RAM 中處理以提高性能,并且可以利用多個內核和并行處理。CIM 和 IMC 可以從本地內存計算擴展 (CXL) 標準中受益。
用 CXL 征服墻壁
CXL 附加內存通過實現高效的內存共享和擴展多個處理器可用的內存容量和帶寬來解決 HPC 內存壁問題。它利用 PCIe 物理層提供低延遲和高帶寬通信,促進 CPU 和附加內存之間的高效數據傳輸。
CXL 確保內存訪問是一致的,并且所有處理器都具有一致的內存視圖,從而簡化了內存管理。它為更高效的內存使用提供了結構和工具,幫助 HPC 系統克服了內存墻挑戰。
總結
雖然 HPC 內存墻通常是指提高處理器速度和滯后內存帶寬之間不斷擴大的差距,但它也可以相對于 AI 模型日益復雜來定義。無論從哪個定義來看,它都在增長,并且是一個越來越嚴峻的挑戰。設計人員可以使用多種工具來擴展或降低 HPC 內存墻的高度。
評論