訂閱
糾錯
加入自媒體

騰訊2021sigmod論文Spitfire分析

2021-03-05 10:01
yzsDBA
關(guān)注

Spitfire:易失和非易失性內(nèi)存的三層buffer管理

Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory

機制

1、cache line page

將page分割成cache line大小,一個cache line為64字節(jié)。由于PM可以字節(jié)尋址,所以可以以cache line的粒度進行讀寫page。頁頭結(jié)構(gòu)中有標記哪個cache line為臟的位圖表,1表示臟。并且有resident字段位圖標記哪個cache line加載到了內(nèi)存,若無加載,這部分在內(nèi)存中不占空間,節(jié)省內(nèi)存。

2、HYMEM

《managing nvm in database system》分三層架構(gòu)DRAM-NVM-SSD。

1)SSD上數(shù)據(jù)頁大小16kb,當事務請求時加載到DRAM

2)使用時鐘算法替換DRAM中的數(shù)據(jù)頁,PM中使用同樣算法

3)判斷什么條件下降DRAM中數(shù)據(jù)頁持久化到PM?

4)采用一個準入PM的隊列來協(xié)助是否將數(shù)據(jù)頁持久化到PM。

5)默認的讀路徑:SSD->NVM->DRAM->CPU

6)默認的寫路徑:CPU->DRAM->NVM->SSD

7)讀時首先看是否在DRAM,不在時看是否在NVM,都不在則需要將SSD上全頁直接加載到DRAM

8)DRAM替換數(shù)據(jù)頁時,首先看他在沒在準入隊列,若在則將其從隊列刪除,并持久化到PM;否則將其標記到準入隊列,將該頁直接持久化到SSD

9)優(yōu)點:減少了PM寫,以及不同層級之間數(shù)據(jù)的移動

  缺點:非并發(fā)操作,沒有在真實的PM環(huán)境上測試。

3、spitfire

使用概率的方法控制不同層級之間數(shù)據(jù)的遷移,實現(xiàn)冷熱數(shù)據(jù)分離。確保DRAM中是熱數(shù)據(jù),NVM中是溫數(shù)據(jù),SSD中是冷數(shù)據(jù)。

1)Dr:讀時,將NVM移動到DRAM中的概率。比如0.01表示每讀取100次,才將NVM中數(shù)據(jù)頁遷移到DRAM

2)Dw:寫時需要輔助DRAM的概率

3)Nr:讀操作時,將SSD遷移到NVM的概率

4)Nw:寫的過程中,buffer管理器將DRAM遷移到NVM的概率

5)數(shù)據(jù)遷移這些概率依賴于工作負載,自適應調(diào)整。

6)通過對每層加一個latch,遷移時用到哪層,就對哪層加鎖,實現(xiàn)并發(fā)

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號