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