如今的AI加速計算卡配備的HBM高頻寬記憶體容量越來越大,AMD、NVIDIA都做到了驚人的192GB,而且即將增加到288GB,沒想到給Linux造成了不小的困擾。AMD工程師Sameul Zhang在最新的Linux更新中透露,如果一套系統配備多塊AMD Instinct加速卡,超大容量記憶體會導致系統無法休眠。
例如某台伺服器安裝了八塊AMD Instinct加速卡,單卡192GB,總計達到1.5TB,Linux就沒辦法正常休眠了。問題出自Linux在休眠過程中的GPU顯示記憶體處理方式。系統休眠時,所有的GPU顯示記憶體都會卸載到系統記憶體,一般透過GTT(圖形轉換表)或共享記憶體(shmem)。
然後系統核心複製所有系統記憶體中的資料(包括處於evicted狀態的顯示記憶體),建立一個休眠鏡像,放入第二個記憶體區域,用於後續結束休眠的時候重新寫入磁碟。簡單來說如果有1.5TB顯示記憶體,休眠系統鏡像就會最大達到3TB,因此超過2TB系統記憶體容量,自然無法再休眠。當然這個問題不只AMD,任何大顯示記憶體的GPU加速卡並行都會出現。
Sameul Zhang為此提出了自己的解決建議,主要是減少休眠時所需複製的記憶體3容量,但這會導致休眠恢復時間過長,可能接近1個小時,所以又加入了一個新更新,跳過一些步驟,從而大大縮短休眠恢復的時間。
消息來源 |