《持久性內存存儲系統關鍵技術研究》由清華大學博士后陳游旻撰寫,內容榮獲2021年度CCF優(yōu)秀博士學位論文獎。全書重新思考了基于持久性內存的存儲系統架構方式,并在操作系統、網絡系統、存儲軟件等不同層次展開了研究。針對不同的問題,作者均提出了對應的解決方法或解決方案。
《持久性內存存儲系統關鍵技術研究》共七章:
第1章 引言,主要介紹了研究背景與意義,概述了持久性內存存儲系統,并簡要敘述了全書的研究內容、主要貢獻及組織結構。
第2章 相關工作,主要介紹了基于持久性內存的單機存儲系統,基于RDMA的分布式系統,以及分布式持久性內存存儲系統。
第3章 Kuco:用戶態(tài)與內核態(tài)協同的文件系統架構,首先概述了研究內容與研究動機,然后介紹了Kuco的總體設計,接著介紹了KucoFS的實現細節(jié),隨后進行了實驗和性能評估。
第4章 ScaleRPC:面向連接分組的分布式內存通信機制,首先概述了研究內容和研究動機,然后介紹了ScaleRPC架構設計,接著進行了實驗和性能評估,然后介紹了ScaleRPC在真實場景下的應用。
第5章 Plor:融合悲觀鎖與樂觀讀的并發(fā)控制協議,首先概述了研究內容、研究背景和研究動機,然后介紹了Plor的基本內容,接著介紹了Plor的總體架構和Chronus的實現細節(jié),隨后進行了實驗和性能評估。
第6章 FlatStore:基于日志結構的鍵值存儲引擎,首先概述了研究內容、研究背景和研究動機,然后介紹了FlatStore架構設計,接著介紹了FlatStore實現細節(jié),隨后進行了實驗和性能評估。
第7章 總結與展望,對分布式持久性內存存儲系統的構建及關鍵技術進行了總述,并總結了全書的主要研究工作,隨后對未來的研究進行了展望。
第1章 引言
1.1 研究背景與意義 1
1.2 持久性內存存儲系統概述 5
1.2.1 持久性內存與RDMA技術 5
1.2.2 持久性內存存儲系統發(fā)展趨勢 8
1.2.3 關鍵問題與挑戰(zhàn) 10
1.3 研究內容與主要貢獻 13
1.3.1 研究內容 13
1.3.2 主要貢獻 16
1.4 本書組織結構 19
第2章 相關工作
2.1 基于持久性內存的單機存儲系統 20
2.1.1 精簡化的存儲軟件棧設計 21
2.1.2 持久性內存編程模型 25
2.1.3 小結 27
2.2 基于RDMA的分布式系統 28
2.2.1 基于RDMA的鍵值存儲系統 29
2.2.2 基于RDMA的事務系統 31
2.2.3 小結 32
2.3 分布式持久性內存存儲系統 33
2.3.1 訪問模式抽象 33
2.3.2 I/O路徑優(yōu)化 35
2.3.3 小結 36
第3章 Kuco:用戶態(tài)與內核態(tài)協同的文件系統架構
3.1 概述 37
3.2 研究動機 41
3.3 Kuco總體設計 46
3.3.1 總體架構概述 46
3.3.2 協同索引 48
3.3.3 兩級鎖 52
3.3.4 三階段寫協議 54
3.3.5 版本讀協議 55
3.4 KucoFS實現細節(jié) 58
3.4.1 數據布局 58
3.4.2 崩潰一致性及恢復 59
3.4.3 寫保護 62
3.4.4 讀保護 63
3.4.5 內存映射I/O 64
3.5 實驗和性能評估 64
3.5.1 實驗環(huán)境設置 65
3.5.2 優(yōu)化技術效果分析 65
3.5.3 Filebench基準測試 74
3.5.4 Redis真實應用 76
3.6 本章小結 77
第4章 ScaleRPC:面向連接分組的分布式內存通信機制
4.1 概述 79
4.2 研究動機 82
4.2.1 RDMA擴展性問題 82
4.2.2 成因分析 83
4.2.3 現有的RDMA擴展性解決方案 86
4.3 ScaleRPC架構設計 88
4.3.1 總體描述 88
4.3.2 連接分組 89
4.3.3 虛擬映射 91
4.3.4 ScaleRPC部署的幾點考慮 94
4.4 實驗和性能評估 95
4.4.1 實驗環(huán)境設置 95
4.4.2 總體性能評估 97
4.4.3 內部優(yōu)化機制分析 101
4.4.4 敏感性分析 103
4.5 ScaleRPC在真實場景下的應用 105
4.5.1 基于ScaleRPC的分布式文件系統 105
4.5.2 基于ScaleRPC的分布式事務系統 107
4.6 本章小結 113
第5章 Plor:融合悲觀鎖與樂觀讀的并發(fā)控制協議
5.1 概述 114
5.2 背景介紹和研究動機 118
5.2.1 兩階段鎖 118
5.2.2 樂觀并發(fā)控制 119
5.2.3 研究動機 120
5.3 Plor概述 125
5.4 總體架構 127
5.4.1 Plor并發(fā)控制協議 127
5.4.2 原子鎖 134
5.4.3 隨機指數退避策略 136
5.5 Chronus實現細節(jié) 137
5.6 實驗和性能評估 139
5.6.1 實驗環(huán)境設置 140
5.6.2 高沖突負載 142
5.6.3 低沖突負載 147
5.6.4 敏感性分析 148
5.7 本章小結 155
第6章 FlatStore:基于日志結構的鍵值存儲引擎
6.1 概述 156
6.2 背景介紹和研究動機 160
6.2.1 部分工業(yè)級負載的典型特征 161
6.2.2 粒度不匹配問題分析 161
6.2.3 傲騰持久性內存硬件特性分析 163
6.2.4 問題與挑戰(zhàn) 164
6.3 FlatStore架構設計 165
6.3.1 總體描述 166
6.3.2 壓縮日志格式及分配器 167
6.3.3 水平批量持久化技術 173
6.3.4 日志清理 177
6.3.5 系統恢復 178
6.4 FlatStore實現細節(jié) 180
6.4.1 基于哈希索引的FlatStore-H 180
6.4.2 基于樹狀索引的FlatStore-M 181
6.5 實驗和性能評估 181
6.5.1 實驗環(huán)境設置 181
6.5.2 YCSB微觀基準測試 183
6.5.3 FacebookETC負載測試 187
6.5.4 多核擴展性測試 188
6.5.5 內部優(yōu)化機制分析 189
6.5.6 日志清理性能分析 193
6.6 本章小結 194
第7章 總結與展望
7.1 分布式持久性內存存儲系統的構建及關鍵技術 195
7.1.1 TH-DPMS總體架構 196
7.1.2 TH-DPMS系統測試及關鍵技術驗證 201
7.2 主要研究工作總結 207
7.3 未來研究展望 210