在上一篇《TPC-C效能翻倍:Optane DIMM持久記憶體+SQL Server 2019》中,我和大家討論了Intel OptaneDC Persistent Memory(傲騰資料中心持久記憶體,代號AEP)在App Direct模式下的效能測試。對於傳統關係型資料庫來說,微軟SQL Server 2020已經實現了PMEM-aware應用支援,資料庫檔案和日誌檔案都能直接放在OptaneDIMM上並以DAX位元組定址方式訪問。當然從更大範圍來看,Redis也能做到。
這次我還想從另一角度來寫:除了效能,評價SCM是否算成功應用還要看成本效益(ROI)——無論替代記憶體還是SSD;當然前者還要多考慮一點寫壽命。
本文給大家介紹的測試採用Memory Mode(記憶體模式),也就是給Optane DIMM充當記憶體,而傳統DRAM做為Cache的應用。具體來說是在VMware HorizonView VDI(桌面虛擬化)平臺上使用View Planner做的驗證。
2年前我曾和朋友一起寫過《揭祕VDI儲存測試:4節點SDS模擬12000虛擬桌面》,評估的微軟S2D(Storage Spaces Direct)分散式儲存為全SSD + 100Gb/s RoCE,並且只是在該叢集上跑儲存負載而非超融合。而今天講的則是真正看VDI虛機的承載能力。
重記憶體負載VDI測試:512GB“混合記憶體” vs. 384GB DRAM
這份參考測試報告來自VMware文件《Intel Optane DC PersistentMemory “Memory Mode” Virtualized Performance Study》,在本文結尾我會給出連結。
如上表,為了建立“重記憶體負載配置檔案”,測試修改了View Planner標準的Workload Profile,在原有的4個應用軟體中保留2個佔用記憶體較多的Office和Chrome瀏覽器,同時將Think Time增加到15秒。
View Planner測試中的3組操作中,Group A偏重互動,為CPU密集型;Group B為I/O密集型,適合本次的記憶體測試。
上表中右邊的配置,相當於用512GB DCPMM換掉了左邊的192GB DRAM,成本上或許還能省點吧?
上面是對比測試的硬體配置。左邊為DRAM系統,也就是384GB傳統記憶體平臺;右邊則是4條128GB Optane DCPMM(每CPU插槽256GB),一共512GB系統可見記憶體容量,另有12條16GB DRAM共192GB做為Cache。
具體到每個Windows 10(企業版1803)桌面虛擬機器的配置為4個vCPU核心、12GB記憶體。
擴充套件閱讀《VDI效能測試:Win10受漏洞補丁影響小於Win7》
《CPU漏洞補丁覆盤測試:Win10 1803效能問題有解?》
在View Planner測試的Group B操作中,QoS的許可閾值為6秒,延時小於這一指標的虛擬機器密度為有效成績。
對於384GB DRAM記憶體系統來說,跑45個12GB記憶體的桌面實際上已經是超配(over provisioning)了。測試中超過這一水平就會觸發balloon,導致較高的客戶機記憶體交換,甚至一些有限的主機(頁面檔案)交換。由於SSD的延時達不到要求,限制了虛擬桌面密度提升。
再看512GB Optane持久記憶體的系統,達到55個12GB記憶體的桌面也屬於超配了,在6秒以內延時沒有達到60虛機密度可能還有別的瓶頸(可參考下面我介紹的另一個測試)。
廉價大容量記憶體提高CPU利用率
上面這個測試平臺引用自Principled Technologies的報告《Give your VDI users thememory they need with server technology from Dell EMC and Intel》,其中用於對比的PowerEdge R730xd和R740xd伺服器,具體記憶體配置區別如下:
這裡Optane DIMM的配置又比較豪華了——12條128GB組成1.5TB + DRAM Cache的系統。384GB DRAM對比左邊的256GB看似有點不公平?但別忘了上一代R730xd使用的Xeon E5 v4是每CPU 4個記憶體通道,而R740的Xeon SP是每CPU 6通道,有一個最佳記憶體頻寬配置的區別。
擴充套件閱讀:《DellPowerEdge R740xd解析:伺服器只看引數那就錯了》
《IntelXeon SP伺服器架構曝光:Apache Pass、QuickAssist》
這裡測試的重記憶體負載桌面,每個虛機分配16GB記憶體。256GB DRAM記憶體的R730xd伺服器可支援到20個桌面;384GB DRAM的R740xd達到30桌面密度;至於Memory Mode下的大容量Optane持久記憶體,虛機密度達到了75個。
這個圖表是上述測試的CPU、記憶體資源佔用情況。在沒有加入Optane DIMM時都是記憶體先用滿而CPU只有50%左右(和桌面型別有關);最右邊的配置則是1.5TB“混合記憶體”利用接近80%、CPU超過90%。
關於價效比、3D XPoint持久記憶體的壽命
那麼可能有朋友會問:能否配一臺1.5TB DRAM的VDI伺服器呢?技術上當然可行,但您計算過每桌面的平均成本會達到多少嗎?
同時也應該指出,“重記憶體負載桌面”應該只佔VDI需求的一小部分,我聽到更多情況是每虛機2GB(Win7)-4GB(Win10)多一些,圖形設計類(工作站虛擬化)用途例外。所以在記憶體不配特別大的情況下,有時CPU就超配比較嚴重了。
至於3D XPoint的寫入壽命,在這裡我倒不是太擔心。桌面虛擬機器記憶體裡的資料也分冷熱,這也是為什麼有些VDI敢於做記憶體超配的原因。正如本文測試,重記憶體負載虛機在使用Optane DIMM之後,保證了“混合記憶體”容量範圍內的效能,而其中最熱的資料主要由DRAM Cache來支撐訪問。
記得在《Optane DIMM寫速度比SSD慢?記憶體介面可能並非完美》一文末尾,我曾指出“Optane DIMM的寫壽命可能不總是770 DWPD那麼理想,如果全換成64Byte訪問會不會只有大約192 DWPD?” 單看這個數字只要應用合理在3-5年乃至更長時間內也寫不壞吧。
一個有意思的現象是,人們都知道VDI用全快閃記憶體儲效能好,但聽說國內實際專案中SSD+HDD混合還是更多虛擬桌面使用者的選擇。“磁碟儲存”如此,Optane + DRAM不也是類似的方式嗎?為了價效比,即使你還沒有分層,可能也走在通向分層的路上了:)
最近幾年,我認為影響Optane持久記憶體普及的關鍵因素還是價格。我也希望Micron的3D XPoint Memory產品和更多廠商的SCM技術能夠湧入市場,有競爭才能降低採購成本,把蛋糕做大。
參考資料
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/IntelOptaneDC-PMEM-memory-mode-perf.pdf
https://principledtechnologies.com/Dell/PowerEdge-R740xd-with-Intel-Optane-DC-persistent-memory-science-1019.pdf
https://principledtechnologies.com/Dell/PowerEdge-R740xd-with-Intel-Optane-DC-persistent-memory-1019.pdf
擴充套件閱讀《IntelOptane DC持久化記憶體效能測試、資料庫應用優化》
《效能修正:Intel Optane DC持久化記憶體更多測試》
注:本文只代表作者個人觀點,與任何組織機構無關,如有錯誤和不足之處歡迎在留言中批評指正。進一步交流技術,可以加我的QQ/微信:490834312。如果您想在這個公眾號上分享自己的技術乾貨,也歡迎聯絡我:)