天天看點

英特爾傲騰持久記憶體延遲比DRAM差多少?

2019年4月份,英特爾釋出了傲騰資料中心持久記憶體,這是一款具有位元組尋址能力的非易失性記憶體,能被作業系統識别為主記憶體,英特爾表示,作為主記憶體其性能表現與DRAM記憶體相近,究竟有多相近呢?

最近,日本國家先進工業科學技術研究所(AIST)釋出了一篇Paper,非常細緻的将傲騰持久記憶體與DRAM記憶體進行了一番對比,測出傲騰資料中心持久記憶體延遲是DRAM的四倍。

簡介:傲騰資料中心級持久記憶體

值得小夥伴們注意的是2019年釋出的傲騰資料中心持久記憶體(Optane DCPMM)跟2017年釋出的傲騰記憶體(Optane Memory)可不一樣。

傲騰記憶體(Optane Memory)是插在PCIe NVMe接口上的,而傲騰資料中心持久記憶體(Optane DCPMM)是插在DIMM上的,如果設定的是App Direct模式的話,CPU就完全把他認作主記憶體了。

衆所周知,傲騰是基于3D Xpoint媒體的,3D Xpoint是英特爾跟美光聯合研發的産物,在英特爾手裡,傲騰被打造成介于低成本NAND和有易失性的DRAM記憶體之間的方案。

傲騰釋出以來引起了許多OEM廠商的興趣,不過,目前傲騰隻能支援自家的處理器,是以測試也選用的是至強處理器。

英特爾傲騰持久記憶體延遲比DRAM差多少?

配置環境

測試前的操作

測試中研究人員發現,大部分的CPU架構都會預先擷取記憶體,然後進行亂序執行,以此隐藏記憶體的延遲,為了測到真正的主記憶體延遲,測試人員進行了很多操作:

英特爾傲騰持久記憶體延遲比DRAM差多少?

為測到真正的記憶體延遲,進行的騷氣操作

首先,從目标記憶體中配置設定一定數量的記憶體緩沖區,為了不命中LLC,配置設定的緩沖區要盡可能的大,至少要大于LLC。記憶體緩沖區拆分成了64位元組的cache line。

其次,将cache line緩存線對象連結清單進行随機排序,這樣一來,周遊連結清單會導緻跳轉到遠處的cacheline對象。

第三,測量周遊所有cache line對象所用的時間,并計算擷取cache line的平均延遲。在大多數情況下,CPU在周遊cache line連結清單時候,如果沒有命中LLC會有短暫的暫停,這段時間算作是記憶體延遲。

測試結果

經測試後,AIST在Paper中表示,目前關于傲騰資料中心持久記憶體的性能報告很少,傲騰資料中心持久記憶體與DRAM的性能差距很大,相對于NAND的提升也非常大。以下是一些結論:

測試中,AIST使用的是自己的測試工具,測試發現傲騰資料中心持久記憶體随機隻讀延遲大約為374ns,随機寫的延遲大約是391ns。隻讀帶寬為38GB/s,寫帶寬為3GB/s,如果不開啟記憶體交錯(memory interleave),性能會差很多。

AIST認為,像大型HPC叢集,AI工作負載等将從傲騰持久記憶體受益良多,但DRAM和傲騰持久記憶體之間的性能差異給系統軟體帶來了新的挑戰,這也是傲騰推廣普及中碰到的最大問題之一。

下圖有一個比較清晰的對比:

英特爾傲騰持久記憶體延遲比DRAM差多少?

DRAM記憶體和傲騰資料中心持久記憶體的對比

上圖非常直覺的對比了DRAM記憶體和傲騰持久記憶體的性能差異,延遲上傲騰是DRAM記憶體的四倍,四倍起碼還在一個數量級上。但我們也知道,這比毫秒級别的SSD們可快的多了去了。(1毫秒等于1百萬納秒)

英特爾傲騰持久記憶體延遲比DRAM差多少?

傲騰資料中心持久記憶體開啟記憶體交錯和不開啟的差别

英特爾傲騰持久記憶體延遲比DRAM差多少?

計算體系各層級之間的延遲概況(供參考)

由于深入的技術細節很多,為防止誤讀,專家們最好還是看報告原文吧:

完整版報告

https://arxiv.org/pdf/2002.06018.pdf

繼續閱讀