基于SCM的Key-Value存儲系統(tǒng)
發(fā)布時間:2020-11-16 19:54
非易失性內(nèi)存是一種非常具有應(yīng)用前景的計算機(jī)內(nèi)存技術(shù),將會對計算機(jī)存儲層次結(jié)構(gòu)產(chǎn)生很大影響。非易失性內(nèi)存具有可字節(jié)尋址、訪問延遲低、能持久存儲數(shù)據(jù)等特點,是DRAM或磁盤潛在的替代品。其中一些因其可字節(jié)尋址特性并能代替磁盤存儲數(shù)據(jù),又被稱為存儲類內(nèi)存(SCM)。這類內(nèi)存可以和DRAM一樣通過內(nèi)存總線連接到計算機(jī),并通過CPU的load/store指令對它們進(jìn)行訪問。這使得在非易失性內(nèi)存中設(shè)計快速的持久存儲系統(tǒng)成為可能,F(xiàn)在針對外存進(jìn)行優(yōu)化的鍵值存儲系統(tǒng),非常依賴文件系統(tǒng)進(jìn)行數(shù)據(jù)持久存儲。它們不能利用非易失性內(nèi)存可直接進(jìn)行數(shù)據(jù)訪問的特性。一些針對非易失性內(nèi)存設(shè)計的鍵值存儲系統(tǒng)認(rèn)為在系統(tǒng)掉電時計算機(jī)硬件應(yīng)該把高速緩存中的數(shù)據(jù)保存到非易失性內(nèi)存中。當(dāng)計算機(jī)不具備這種能力時,數(shù)據(jù)的持久化將無法得到保證。本文提出一種輕量級日志結(jié)構(gòu)以SCM為存儲介質(zhì)的鍵值存儲系統(tǒng)SCMKV。SCMKV根據(jù)鍵值數(shù)據(jù)負(fù)載的特性提出了用數(shù)組鏈解決哈希沖突的哈希表實現(xiàn)方案,采用日志結(jié)構(gòu)技術(shù)進(jìn)行內(nèi)存管理,在此之上實現(xiàn)了一個多層的內(nèi)存分配器以提高內(nèi)存分配效率,為了提高系統(tǒng)的并發(fā)能力,每個工作線程都有自己的數(shù)據(jù)日志。具體地說,在系統(tǒng)初始化時,SCMKV根據(jù)SCM空間大小估算哈希表的初始大小,通過比較大的桶數(shù)減少哈希沖突的概率和哈希表的擴(kuò)容次數(shù)。數(shù)組鏈?zhǔn)且环N物理地址連續(xù)的數(shù)據(jù)結(jié)構(gòu),通過高效利用硬件緩存加快系統(tǒng)查詢速度。日志結(jié)構(gòu)技術(shù)能夠提高內(nèi)存的利用率,并提供數(shù)據(jù)一致性保證,SCMKV在此之上實現(xiàn)了一種多層的內(nèi)存分配器。不同層次的分配器完成的功能不同,可實現(xiàn)相應(yīng)的優(yōu)化。日志分配器可以提供多線程的資源隔離,對象分配器只需訪問DRAM。SCM的讀寫速度不均衡、寫延遲比DRAM高,SCMKV把對象分配器的數(shù)據(jù)結(jié)構(gòu)存儲到DRAM中,并通過讀頁狀態(tài)表計算垃圾回收算法的需要的數(shù)據(jù),從而減少對SCM的寫訪問。在使用均勻分布的小對象數(shù)據(jù)集進(jìn)行多線程寫性能測試時,SCMKV單線程的吞吐量是2.1 Mops,四線程的吞吐量5.4 Mops,具有良好的吞吐性能和擴(kuò)展能力。
【學(xué)位單位】:上海交通大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP333
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 引言
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 內(nèi)存計算技術(shù)
1.2.2 非易失性內(nèi)存技術(shù)
1.2.3 非易失性內(nèi)存系統(tǒng)應(yīng)用
1.3 主要研究內(nèi)容
1.4 論文組織結(jié)構(gòu)
第二章 相關(guān)技術(shù)研究
2.1 鍵值存儲系統(tǒng)
2.2 內(nèi)存管理技術(shù)
2.2.1 伙伴系統(tǒng)
2.2.2 SLAB分配器
2.3 數(shù)據(jù)一致性
2.4 本章總結(jié)
第三章 SCMKV設(shè)計與實現(xiàn)
3.1 設(shè)備抽象
3.2 總體架構(gòu)
3.3 存儲區(qū)功能布局
3.4 哈希表實現(xiàn)
3.4.1 哈希表初始化
3.4.2 哈希表結(jié)構(gòu)
3.5 內(nèi)存分配器
3.6 本章總結(jié)
第四章 多線程與垃圾回收算法
4.1 多線程并發(fā)
4.1.1 多線程的應(yīng)用
4.1.2 哈希表擴(kuò)容
4.2 數(shù)據(jù)持久化
4.3 垃圾回收算法
4.4 本章總結(jié)
第五章 性能評估
5.1 實驗環(huán)境
5.2 讀寫性能
5.3 并發(fā)性能
5.4 本章小節(jié)
第六章 總結(jié)與展望
參考文獻(xiàn)
致謝
攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文
攻讀學(xué)位期間參與的項目
【參考文獻(xiàn)】
本文編號:2886593
【學(xué)位單位】:上海交通大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP333
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 引言
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 內(nèi)存計算技術(shù)
1.2.2 非易失性內(nèi)存技術(shù)
1.2.3 非易失性內(nèi)存系統(tǒng)應(yīng)用
1.3 主要研究內(nèi)容
1.4 論文組織結(jié)構(gòu)
第二章 相關(guān)技術(shù)研究
2.1 鍵值存儲系統(tǒng)
2.2 內(nèi)存管理技術(shù)
2.2.1 伙伴系統(tǒng)
2.2.2 SLAB分配器
2.3 數(shù)據(jù)一致性
2.4 本章總結(jié)
第三章 SCMKV設(shè)計與實現(xiàn)
3.1 設(shè)備抽象
3.2 總體架構(gòu)
3.3 存儲區(qū)功能布局
3.4 哈希表實現(xiàn)
3.4.1 哈希表初始化
3.4.2 哈希表結(jié)構(gòu)
3.5 內(nèi)存分配器
3.6 本章總結(jié)
第四章 多線程與垃圾回收算法
4.1 多線程并發(fā)
4.1.1 多線程的應(yīng)用
4.1.2 哈希表擴(kuò)容
4.2 數(shù)據(jù)持久化
4.3 垃圾回收算法
4.4 本章總結(jié)
第五章 性能評估
5.1 實驗環(huán)境
5.2 讀寫性能
5.3 并發(fā)性能
5.4 本章小節(jié)
第六章 總結(jié)與展望
參考文獻(xiàn)
致謝
攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文
攻讀學(xué)位期間參與的項目
【參考文獻(xiàn)】
相關(guān)期刊論文 前3條
1 王源;賈嵩;甘學(xué)溫;;新一代存儲技術(shù):阻變存儲器[J];北京大學(xué)學(xué)報(自然科學(xué)版);2011年03期
2 左青云;劉明;龍世兵;王琴;胡媛;劉琦;張森;王艷;李穎弢;;阻變存儲器及其集成技術(shù)研究進(jìn)展[J];微電子學(xué);2009年04期
3 劉波;宋志棠;封松林;;我國相變存儲器的研究現(xiàn)狀與發(fā)展前景[J];微納電子技術(shù);2007年02期
本文編號:2886593
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2886593.html
最近更新
教材專著