CXL內存池助力Microsoft Azure節省數億美元DRAM硬件開銷

微軟、Google、亞馬遜等雲計算巨頭,都在以各種“實例”(Instance)和按需付費的方式,向廣大客戶提供其雲端硬件資源。不過通常情況下,這些實例都會受到特定的 CPU 和內存配置的約束 —— 意味着客戶智能從預設的幾個選項中進行挑選、而無法進一步細分配置。

2.jpg

(圖 via SemiAnalisis)

比如每多一個虛擬的 CPU 核心,就會往上添加 2GB 的內存。且在實例開啟的過程中,預先分配的 CPU 與內存資源也被單個客戶鎖定,而無法在全局環境中動態調節。

長期以來,超大規模企業一直在努力思考如何緩和這方面的資源浪費 —— 畢竟許多示例沒有充分利用其 DRAM,導致整個數據中心的使用效率低下。

以 Microsoft Azure 為例,其測量結果表明 —— 近半虛擬機從未使用超過 50% 的預分配內存資源,這樣的浪費是相當驚人的。

隨着 CPU 資源的觸頂,剩餘的內存資源無法物盡其用,微軟將這種狀態稱作內存擱淺(Memory Stranding)。

更讓人感到震驚的是,多達 25% 的 DRAM 在任何特定時刻都可能被擱置。

3.jpg

為了大幅改善這種情況,Microsoft Azure 想到了所謂的“內存池”(Memory Pooling)概念。

旨在允許 CPU 訪問其所需的儘可能多的內存、而不佔用或擱置不需要那麼多 DRAM 資源的虛擬機。

好消息是,全新的 CXL 緩存一致性協議,已經得到了各大主流硬件提供商的產品支持。

通過採用 CXL 硬件,微軟等數據中心運營商有望大幅降低其 DRAM 成本。

假如最終得到 9~10% 的整體 DRAM 優化,大型雲服務器提供商可輕鬆介紹數億美元的內存硬件開銷。

此外微軟估計,使用 CXL 和內存池技術,將使數據中心的服務器成本降低 4-5% —— 畢竟僅 DRAM 組件就佔比超過了 50% 。

4.jpg

性能方面,Microsoft Azure 團隊對一些使用本地 DRAM / 內存池的配置進行了基準測試,不過性能損失 / 最佳效果還是取決於具體的應用程序。

一方面,Memory Pooling 會導致額外的 67-87 ns 延遲,導致某些應用程序的速度變得更慢。

另一方面,20% 左右的應用程序並未受到內存池的性能拖累,但有 23% 的應用程序性能損失不到 5% 。

此外 25% 的應用程序減速超 20%,12% 的應用程序減速超 30% 。

需要指出的是,這只是微軟在首批 CXL 硬件上展開的早期測試。展望下一代硬件和新的 CXL 協議規範,Memory Pooling 還有望帶來更好的體驗。

(0)
上一篇 2022-07-14 09:00
下一篇 2022-07-14 09:00

相关推荐