測(cè)試前的操作

測(cè)試中研究人員發(fā)現(xiàn),大部分的CPU架構(gòu)都會(huì)預(yù)先獲取內(nèi)存,然后進(jìn)行亂序執(zhí)行,以此隱藏內(nèi)存的延遲,為了測(cè)到真正的主內(nèi)存延遲,測(cè)試人員進(jìn)行了很多操作:

為測(cè)到真正的內(nèi)存延遲,進(jìn)行的騷氣操作

首先,從目標(biāo)內(nèi)存中分配一定數(shù)量的內(nèi)存緩沖區(qū),為了不命中LLC,分配的緩沖區(qū)要盡可能的大,至少要大于LLC。內(nèi)存緩沖區(qū)拆分成了64字節(jié)的cacheline。

其次,將cacheline緩存線對(duì)象鏈表進(jìn)行隨機(jī)排序,這樣一來(lái),遍歷鏈表會(huì)導(dǎo)致跳轉(zhuǎn)到遠(yuǎn)處的cacheline對(duì)象。

第三,測(cè)量遍歷所有cacheline對(duì)象所用的時(shí)間,并計(jì)算獲取cacheline的平均延遲。在大多數(shù)情況下,CPU在遍歷cacheline鏈表時(shí)候,如果沒(méi)有命中LLC會(huì)有短暫的暫停,這段時(shí)間算作是內(nèi)存延遲。

測(cè)試結(jié)果

經(jīng)測(cè)試后,AIST在Paper中表示,目前關(guān)于傲騰數(shù)據(jù)中心持久內(nèi)存的性能報(bào)告很少,傲騰數(shù)據(jù)中心持久內(nèi)存與DRAM的性能差距很大,相對(duì)于NAND的提升也非常大。以下是一些結(jié)論:

測(cè)試中,AIST使用的是自己的測(cè)試工具,測(cè)試發(fā)現(xiàn)傲騰數(shù)據(jù)中心持久內(nèi)存隨機(jī)只讀延遲大約為374ns,隨機(jī)寫(xiě)的延遲大約是391ns。只讀帶寬為38GB/s,寫(xiě)帶寬為3GB/s,如果不開(kāi)啟內(nèi)存交錯(cuò)(memory interleave),性能會(huì)差很多。

AIST認(rèn)為,像大型HPC集群,AI工作負(fù)載等將從傲騰持久內(nèi)存受益良多,但DRAM和傲騰持久內(nèi)存之間的性能差異給系統(tǒng)軟件帶來(lái)了新的挑戰(zhàn),這也是傲騰推廣普及中碰到的最大問(wèn)題之一。

下圖有一個(gè)比較清晰的對(duì)比:

DRAM內(nèi)存和傲騰數(shù)據(jù)中心持久內(nèi)存的對(duì)比

上圖非常直觀的對(duì)比了DRAM內(nèi)存和傲騰持久內(nèi)存的性能差異,延遲上傲騰是DRAM內(nèi)存的四倍,四倍起碼還在一個(gè)數(shù)量級(jí)上。但我們也知道,這比毫秒級(jí)別的SSD們可快的多了去了。(1毫秒等于1百萬(wàn)納秒)

 傲騰數(shù)據(jù)中心持久內(nèi)存開(kāi)啟內(nèi)存交錯(cuò)和不開(kāi)啟的差別

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

這張Paper技術(shù)細(xì)節(jié)比較多,想看更多細(xì)節(jié)或者怕被小編誤讀,最好還是看完整版報(bào)告: https://arxiv.org/pdf/2002.06018.pdf 。 (DOIT朱朋博)

分享到

zhupb

相關(guān)推薦