內容提要:
新型非易失存儲器具有低延遲、高密度和非易失的特性,速度也接近DRAM,但技術尚未成熟,大部分還是處于研究階段。 從目前發展趨勢來看,有兩大陣營:一種是代替當前的DRAM 和FLASH,在傳統的馮·諾依曼體系下的SCM (Storage Class Memory);另一種是非馮·諾依曼體系下的,既可以做存儲,又可以在原位進行計算,即存算一體或存算融合,如將人工智能或圖像處理的算法等融合進去。
由于相變存儲器PCM 和電阻式存儲器RRAM都可以看作是憶阻器,因此可以用來做存儲,也可以做存算一體,這兩條路徑一直都在向前發展。 磁阻存儲器的發展歷程如圖7 所示。

圖7 磁阻存儲器的發展歷程Figure 7 Development history of magnetoresistive memory
磁阻存儲器主要包括傳統的MRAM 和自旋轉移矩MRAM(STT-MRAM)。 傳統的MRAM 通過電流流過產生磁場改變MTJ (Magnetic Tunnel Junction)中的自由層磁矩方向,其特點是結構復雜、干擾大。 STT-MRAM 是第二代MRAM 技術,通過自旋電流實現自由層磁矩方向的改變。 美國的Everspin 公司一直是MRAM 產品的領導者, 已推出了多款獨立式和嵌入式MRAM 存儲器,并于2020 年發布了28nm 單片1Gb STT-MRAM 芯片。
3.1.1 磁阻存儲器研究現狀
目前有關磁阻存儲器的研究比較豐富,主要包括以下幾方面:
單元、 陣列級別的研究:22nm,32 2Mb eSTTRAM 設計,低延遲高壽命,并對磁場干擾免疫;3D擴展,3D1S1R 結構; 將FinFET (鰭式場效應晶體管,Fin Field-Effect Transistor) 和STT-RAM 集成,用于降低系統的延遲和面積。
可靠性方面的研究:Last Level Cache(LLC),破壞讀問題,延遲恢復機制;STT-MRAM based FPGA,干擾感知內存分組; 兩個MLC 存儲3 位的數提升可靠性和性能。
MLC 單元優化的研究:采用MLC 的兩位組成快慢區域;采用數據編碼,最小兩步狀態轉換提升MLC 壽命和性能;對MLC 硬位和軟位分別編碼減少兩步寫能耗; 對MLC 進行編碼, 實現一次寫操作,從而提升壽命和能效。
應用于GPU 的研究: 將STT-RAM 用于GPU中的L1 Cache,減少片外訪問,提升性能和能效;將STT-RAM 用于GPU 的寄存器文件,采用壓縮方法減少能耗。
存內計算架構的研究:將SOT-MRAM((Spin-Orbit Torque MRAM))應用于存內計算架構設計以提升性能。
3.1.2 MLC STT-RAM 的研究
我們也對MLC STT-RAM 進行了研究。 由于它是通過堆疊兩個不同大小的MTJ 單元構成MLC STT-RAM 單元,相較于SLC 單元,密度約是其2 倍,需要采用兩步讀寫操作,對硬位的寫操作會延遲和消耗更多的時間, 對性能和能耗都會產生影響。
同時,我們發現MLC STT-RAM 存在較嚴重的壽命問題(<1010次),這也是兩步寫操作導致的,兩步寫操作同時導致了大量的寫能耗和較高的寫延遲。 測試發現, 對硬位的寫對壽命的影響達到了70%,而軟位則只有30%①Wei Zhao, Wei Tong, Dan Feng,et al.OSwrite∶Improving the lifetime of MLC STT-RAM with One-Step write[C]// 36th International Conference on Massive Storage Systems and Technology.MSST,2020.。
針對此問題, 我們的基本思路是通過負載分析,用壓縮的方法將緩存行全部寫到軟行,實現一步寫操作;而對不能壓縮的行,用hard flag 記錄硬位翻轉信息,實現一步寫操作。 通過內存負載測試發現, 該方案可以提高2.6 倍的壽命, 減少能耗56.2%,提升性能6.4%④。
相變存儲器簡稱PCM, 它是利用特殊材料在晶態和非晶態之間相互轉化時所表現出來的導電性差異來存儲數據。如圖8 所示為相變存儲的發展歷程。

圖8 相變存儲器的發展歷程Figure 8 Development history of phase change memory
因為從晶態到非晶態和從非晶態到晶態,對操作時間和溫度的要求不一樣, 所以它的特點是:RESTE 延遲低,但功耗比較高;SET 過程延遲高,但功耗比較低。 相應地,相變存儲器需要在功耗和延遲方面進行優化。
現在比較成熟的一款產品是Intel 和鎂光合作的3D XPoint 相變存儲器, 它運用的是雙層架構。Intel 公司比較看好這款產品是因為它密度比較高。同樣芯片體積,3DXPoint 相變存儲器的存儲容量是DRAM 的8~10 倍,而能耗基本相當。
3.2.1 相變存儲器操作方案研究現狀
有關相變存儲器的研究主要有以下幾個方面:
存儲單元讀/寫操作可靠性問題研究。 針對晶格結構松弛引起的阻值狀態漂移導致讀不準,采取適應數據保持時間的動態讀閾值參考設置及單元狀態刷新;針對非線性的電流電壓特性曲線導致讀不準,采取兩步讀操作擴大讀窗口;針對焦耳熱干擾導致RESET 操作過程中相鄰單元狀態出錯,設置單元間熱量屏障層,并通過數據編碼來減少容易產生熱干擾的數據模式;對角單元布局結合數據壓縮;通過數據壓縮將要寫入的單元位置交替地分布在一行的兩端。
PCM 作主存時,對其壽命和性能優化的研究。主要包括:減少熱區數據寫延遲,減少set 操作;通過減少PCM 陣列的互聯電阻,減少延遲。
大數據、人工智能計算環境下的存儲墻問題研究。 主要是構建存算融合的計算內存,并發掘新應用,根據應用特征進行優化,包括:16.5 萬個相變存儲單元構成陣列做神經形態計算;相變存儲單元做時間相關性檢測;相變存儲陣列做科學計算;相變存儲器用于存內超維計算等。
3.2.2 我們對相變存儲器的相關研究
我們對相變存儲器的研究主要是通過壓縮編碼方式提升其壽命和性能。
(1)利用冗余字提升標志位的利用率
因為CPU 以字為單位進行寫, 因此可能會寫入相同的數據,造成相變存儲器負載中存在大量冗余字。 如當緩存行中有4 個冗余字時,編碼標志位的利用率只有50%②Xu J, Feng D, Hua Y, et al. Adaptive Granularity Encoding for Energy-efficient Non-Volatile Main Memory[C]// 2019 56th ACM/IEEE Design Automation Conference (DAC). IEEE, 2019.。為了提升標志位利用率,我們將編碼標志位分配給臟的字, 編碼粒度從16 降為8。 但標志位利用率提升到100%,導致標志位的位翻轉增加。我們又利用了連續位翻轉特性減少位翻轉(SAE),對每一行進行分析,選擇位翻轉總數最少對應的編碼粒度,對緩存行進行編碼,以此降低功耗和提高寫速度。
(2)非易失內存系統需要保持原子一致性
存儲過程中, 存儲控制器需要軟件和硬件配合,如果配合不好會出現一致性問題。在事務中,對同一地址的寫操作存在不同寫間隔分布, 其中44.8%的寫距離超過31,而寫距離太長會導致部分日志數據不能被丟棄。分析發現,事務更新時,日志數據中存在大量的干凈字節數據,70.5%的字節都是干凈的。 由于一致性維護開銷非常大,所以應區別對待,不對70.5%的干凈字節數據進行一致性維護。 具體來說,我們設置了日志數據選擇性編碼機制, 該機制對事務中數據的第一次更新同時記錄undo 和redo 數據,后續更新只記錄redo 數據。undo數據及時寫入NVMM 以保證原子性,而redo 數據則緩沖在易失性日志緩沖區和L1 緩存中, 只將最新的redo 數據寫入NVMM 中。 利用日志數據的特點,該方法直接丟棄日志數據中的干凈位,壓縮剩余的臟位。 經實驗驗證, 此方案使寫能耗降低了49.9%,性能提升了72.5%③X Wei,D Feng,W Tong,J Liu,et al. MorLog∶Morphable Hardware Logging for Atomic Persistence in Non-Volatile Main Memory[C]// 47th edition of ISCA. ISCA,2020.。
二端無源金屬氧化物阻變存儲器(metal-oxide RRAM)是憶阻器的一種器件實現,是一種新興的非易失存儲器。它是通過金屬氧化物的阻值狀態變化來實現數據存儲。 主流的阻變功能材料包括HfOx、TiOx、TaOx 等, 配套的電極材料包括TiN、Pt和Ti 等。 施加外加電壓時, 其阻值會發生連續變化,因此憶阻器可以用作存儲,也可以用作計算,如IMP 邏輯運算和矩陣向量乘法。阻變存儲器的發展歷程如圖9 所示。

圖9 阻變存儲器發展歷程Figure 9 Development history of resistive random access memory
國際上,富士通、松下、Crossbar 公司和密歇根大學都推出了一些小容量和實驗性的阻變存儲器產品。
3.3.1 阻變存儲器操作方案研究現狀
主要包括以下幾個方面:
第一,非理想因素影響下存儲陣列讀寫操作不可靠、性能差問題的研究。 針對互連線電壓降導致寫操作性能差,可采用雙端接地、雙端寫驅動器、最短電壓降路徑等;針對部分偏壓導致未選擇的單元受干擾,可設置干擾參考單元、檢測并刷新被干擾的行等;針對潛通電流導致讀操作不準確,可采用四端電阻網絡、檢測并復用潛通電流和采用互補阻變單元等。
第二, 非理想因素影響下存儲陣列計算不準確、能效低問題的研究。針對互連線電壓降、器件變化性、環境溫度導致計算不準確,可采用互連線奇異值分解數據降維、邏輯行到物理行映射等;針對互連線電壓降、潛通電流導致計算能效低,采用三維陣列縮短平均互連長度等。
第三,基于阻變存儲器加乘運算的靈活而通用的存算融合體系結構的研究。 如可重配架構、原位模擬運算加速器等。
3.3.2 我們對阻變存儲器的相關研究
我們對阻變存儲器的研究主要集中在憶阻器存內計算方面, 主要是面向人工智能的算法需求,實現了貝葉斯算法映射。
憶阻器可以用做近似計算單元,實現矩陣向量乘法④Prezioso M, Merrikh-Bayat F, Hoskins B D, et al. Training and operation of an integrated neuromorphic network based on metal-oxide memristors[J]. Nature,2015,521(7550)∶61-4.,將算法復雜度從O(n2)轉換為O(1),即不需要原來的平方運算,只需要施加電壓和讀取電流即可完成矩陣運算。 如進行圖像處理時,即可以利用此算法。而傳統的矩陣運算方法,要做乘加運算,需要進行數模轉換,會導致接口面積大(>30%)和延遲高(>50ns)的問題。 也有學者采用二進制接口方式,雖使接口代價減小,但數值展開消耗了更多憶阻器單元和陣列資源。
而我們所做的就是將外圍電路簡化以及將貝葉斯算法映射到矩陣上面。 即針對ADCs 和復雜外圍電路會極大增加存內計算架構開銷的問題,第一次引入樸素貝葉斯算法在存內計算架構中實現:利用現有存內計算架構兼容實現算法;針對性優化算法映射,消除ADCs 龐大的開銷⑤Wu B, Feng D, Tong W, et al. ReRAM Crossbar-Based Analog Computing Architecture for Naive Bayesian Engine [C]// 2019 IEEE 37th International Conference on Computer Design (ICCD). IEEE, 2019.。
樸素貝葉斯算法是連續的乘法,我們對樸素貝葉斯公式施加了-log 函數,將連續乘法轉換為點乘操作,這樣就可以在陣列位線上實現,且數值為正,可直接由ReRAM 電導映射。
針對最小探測模塊, 傳統的方式是將其轉換為數字信號之后再進行比較。 但我們發現可以直接進行模擬并行比較,因此我們設計了外圍電路,通過二分探測和遞增探測,直到找到最小值,即參考電壓Vref同所有位線結果進行模擬量比較,通過比較結果是否形成獨熱碼(one-hot code)來完成最小探測。
我們也對基于ReRAM 的樸素貝葉斯算法引擎的識別準確度進行了測試。 實驗驗證發現,現有CPU 軟件實現、理想設備參數下的樸素貝葉斯算法引擎、 真實設備參數下的樸素貝葉斯算法引擎、PRIME 架構兼容實現方式下的算法識別準確度分別為89.6%,87.5%,88.2%和87.8%。 可以看出,真實設備參數下的樸素貝葉斯算法引擎的精度88.2%和軟件實現的精度89.6%非常接近。 由于人工智能算法并不需要非常精確,只需要確保判斷結果準確即可, 因此該算法方案是可以實際使用的。且相比軟件實現來說, 其實現速度提高了11.2~2289.6 倍。⑧
新的存儲器件出現之后,現有文件系統往往是與其不匹配的。新型NVM(Non-volatile Memory)引發了存儲體系結構的變革,如微軟推出了BPFS 文件系統, 英特爾推出了PMFS 文件系統,UCSD(University of California San Diego) 推出了NOVA和Moneta-D 文件系統,清華大學推出了HiNFS 文件系統, 華中科技大學則推出了Object-based NVM Management 文件系統, 以適合NVM 的特性和調度方式。
4.1.1 傳統文件系統遷移到NVM 的問題
當Intel Optane DC PMM (Persistent Memory Module)出現后,我們也對其進行了測試,發現它的效率達不到其標注數值,原因是沒有針對其架構對文件系統進行優化。 基于新型NVM 的存儲系統相對于傳統磁盤存儲系統的如下特點,導致傳統文件系統遷移到新型NVM 存在一系列問題。
(1)I/O 瓶頸轉移
分析發現數據I/O 路徑上各階段的開銷比例產生了巨大的變化,軟件開銷開始變得不可忽略。
(2)數據一致性層次轉移
傳統結構中, 數據易失和非易失分界線在DRAM 和外存之間;而NVM 主存中,數據易失和非易失分界線在CPU Cache 和NVM 之間。 因此,需要專門的CPU Cache 指令以及額外硬件原語來保證數據的一致性。
(3)有限的寫入耐久性
傳統的存儲I/O 棧系統軟件主要是針對磁盤設計的。若直接將這種針對磁盤存儲的系統軟件應用于NVM 存儲系統, 則會導致NVM 存儲設備的快速磨損。
4.1.2 基于NVM 的文件系統研究現狀
(1)NVM 作為內存設備,利用傳統VFS 路徑的文件系統
如對SCMFS 文件系統,如果無一致性、磨損均衡保障,TLB(Translation Lookaside Buffer)失效率高;對PMFS 文件系統,使用線性表管理目錄,目前性能不如傳統文件系統; 對NOVA 文件系統,DRAM 和NVM 混合日志結構文件系統沒能完全體現NVM 支持XIP(eXecute In Place)的特性,過于依賴DRAM 管理元數據和數據塊索引。
(2)用戶庫方式直接訪問NVM
包括基于SCM 的靈活文件系統接口; 對操作系統編譯程序、應用程序均做修改; Quill 仍需進入內核態,依賴于POSIX 文件系統接口。
4.2.1 混合存儲文件系統NOCFS:NVM+Flash
即文件系統中的大量數據使用Flash 存儲,而元數據使用NVM 進行存儲,系統架構如圖10 所示。

圖10 混合存儲文件系統NOCFS 架構Figure 10 NOCFS architecture of hybrid storage file system
主要工作包括:
第一,NVM 和SSD 混合空間。文件系統直接管理NVM,NVM 存放元數據,緩存熱數據。
第二,并行感知的數據同步機制,即多線程異步寫回。
第三,協作式垃圾回收。 文件系統層垃圾回收與LightNVM 垃圾回收結合。
對NOCFS 性能進行測評, 采用較小容量的NVM,可以使閃存性能提升5 倍,接近于全NVM,與PMFS 文件系統性能相當。
4.2.2 基于對象的NVM 管理器
不同NVM 存儲介質讀寫性能差別較大,特性各異。 對象管理的思想就是把對NVM 的管理從文件系統中分離,以更低的管理開銷實現更加豐富的應用接口,以充分發揮不同存儲介質的優勢。 存儲應用可繞過文件系統直接訪問NVM 對象接口,精簡訪問路徑。 如圖11 所示為傳統文件系統和面向對象的文件系統對比。

圖11 傳統文件系統和基于對象的文件系統對比Figure 11 Comparison of traditional file system and object-based file system
OBFS (Object-Based File System) 繞過VFS(Virtual File-system Switch)層,縮短了層次或路徑,實現了一個精簡的名字空間管理,保證其兼容性,直接截獲應用的文件訪問系統調用,實現對上層應用透明。 OBFS 由此消除了傳統基于磁盤的文件系統中很多不必要的開銷,提高了系統性能。
基于NVM 的輕量級存儲系統與傳統存儲系統相比,明顯縮短了I/O 路徑,能快速響應應用請求,讀寫性能優于PMFS。 與基于新型非易失內存文件系統NOVA、PMFS 相比,OBFS 可以獲得20%~30%的性能優勢。 與RAMFS 相比,OBFS 的讀性能比RAMFS 性能好, 但寫性能比RAMFS 的性能要差一些。
軟件定義存儲是借鑒軟件定義網絡的思路,即將存儲的管理和調配與底層物理硬件分開,所有存儲相關的控制工作都僅在相對于物理存儲硬件的外部軟件中,用戶可以通過軟件控制資源并對其進行優化。 相關研究主要如下。
5.1.1 解決路徑過長帶來的挑戰
IOFlow 作為學術界第一篇關于軟件定義存儲的文章, 借鑒OpenFlow 在存儲環境中將控制平面和數據平面進行分離, 在IO 棧的不同層次使用隊列對請求進行限流,比如在hypervisor 里面的SMBc 和存儲服務器端的SMBs,保障虛擬機端到端的性能。⑥Thereska E, Ballani H, O'Shea G, et al. IOFlow∶A software-defined storage architecture[C]// Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. SOSP, 2013.
Moirai 提出了一種協同不同層次的cache 進行資源管理的方法,既能夠最大化利用系統資源,還能有效對不同租戶間進行性能隔離, 避免性能干擾。⑦Ioan Stefanovici,Eno Thereska,Greg O'Shea,et al.Software-defined caching∶managing caches in multi-tenant data centers[C]//Proceedings of the Sixth ACM Symposium on Cloud Computing. SoCC, 2015.
sRoute 把路由概念引入了存儲棧, 把IO 棧的各個層次當作網絡中的一個個路由器,能夠根據不同的應用制定路由策略, 使得IO 請求能夠在不同IO 層之間轉發。⑧Stefanovici, Ioan,Schroeder, Bianca,O'Shea, Greg, et al.Treating the Storage Stack Like a Network[C]// Proceedings of the 14th Usenix Conference on File and Storage Technologie. FAST, 2016.
5.1.2 解決資源管理的挑戰
即解決分布式系統內資源多樣化(CPU、存儲、鎖等)以及任務多樣化(租戶產生的任務、系統產生的任務等)給資源管理帶來的挑戰。 如Retro 應用于分布式環境,通過策略和機制的分離,能夠保障系統內所有IO 任務的SLO (Service Level Objectives),比如租戶的性能需求,或者是心跳信息的延遲保障等。⑨Mace J, Peter Bodík, Fonseca R, et al. Retro∶Targeted Resource Management in Multi-tenant Distributed Systems [C]// Usenix Conference on Networked Systems Design & Implementation. NSDI, 2015.
5.1.3 解決租戶需求多樣化帶來的挑戰
Crystal 是一種應用于對象存儲的軟件定義存儲架構, 在數據平面可以通過插入不同的filter 來提供不同的服務(壓縮、加密等),設計可擴展的數據平面能夠使得Crystal 具有更豐富的功能。⑩Raúl Gracia-Tinedo, Josep Sampé, Zamora E, et al. Crystal∶Software-Defined Storage for Multi-Tenant Object Stores[C]// 15th USENIX Conference on File and Storage Technologies (FAST'17).FAST, 2017.
隨著可編程交換機的興起,使用網絡的計算及存儲資源來優化存儲系統性能成為趨勢。Eris 提出在可編程交換機內進行并發控制,保障事務操作的有序性和一致性,降低存儲系統維護一致性帶來的開銷,優化系統性能。?Li J,Michael E,Ports D R K . Eris∶Coordination-Free Consistent Transactions Using In-Network Concurrency Control [C]// Proceedings of the 26th Symposium on Operating Systems Principles. SOSP,2017.
NetCache 通過在可編程交換機內做緩存,實現一種新的KV 存儲架構,利用交換機內的存儲資源優化存儲系統性能。?Jin X,Li X,Zhang H,et al. NetCache∶Balancing Key-Value Stores with Fast In-Network Caching [C]// Proceedings of the 26th Symposium on Operating Systems Principles.SOSP,2017.
我們也做了一些工作。 考慮到對服務器來說,只能根據上一個時刻狀態判斷是輕負載還是重負載,然后明確是否進行副本服務;副本放在很多個服務器當中,如果都去訪問一個空閑服務器,會出現羊群效應,使該服務器出現重負載。 但與服務器只能根據過去狀態判斷負載的狀況不同,交換機非常清楚服務器負載,可根據當前數據包數量判斷服務器負載狀況,判斷也會更加準確。 因此,NetRS 通過在可編程交換機內進行副本選擇,有效降低應用響應延遲。?Jin X,Li X,Zhang H,et al. NetCache∶Balancing Key-Value Stores with Fast In-Network Caching [C]// Proceedings of the 26th Symposium on Operating Systems Principles.SOSP,2017.
我們對存儲可靠性做了兩方面的研究。
5.3.1 對編碼的研究
在網絡環境下,如果有節點壞掉或者不能訪問時,需要把數據從其他節點算回來,如果有節點訪問擁塞或鏈接不上,就得不到數據。在這種情況下,我們希望用少量節點就能將數據算回來,因此我們的主要思想是將節點上的數據分割為更多的數據塊,通過合理組合數據塊,實現最優修復。 具體來說,我們提出具有最優存儲和最優重建數據量的編碼方法Z 碼。 Z 碼的參數n 和k 選擇靈活,碼率可以任意大;它并非MDS 碼(Maximum Distance Separable code), 但可以擴展為GZ 碼且具有MDS 性質,且具有最小存儲下的最優修復開銷。 對同樣的4 個節點來說, 對RS 碼需要3 個節點將數據算回來,RRS 碼平均需要2.3 個節點, 而Z 碼只需要2個節點。 測試表明,Z/GZ 碼和最小存儲再生碼FMSR 和PM-MSR 具有相同的存儲開銷和修復開銷,但參數更靈活,且是系統碼。?Liu Q, Feng D, Jiangy H, et al. Z Codes∶General Systematic Erasure Codes with Optimal Repair Bandwidth and Storage for Distributed Storage Systems[C]// Proceedings of the 2015 IEEE 34th Symposium on Reliable Distributed Systems. SRDS,2015∶212-217.
5.3.2 硬盤故障預警技術
硬盤故障預警技術就是在節點壞之前進行故障預警。 我們收集了惠普和微軟的壞盤數據集,然后進行離線建模,具體包括數據預處理、特征選取、訓練建模和參數調優。具體流程如圖12 所示。在線預測時,首先進行模型導入,包括導入特征選取映射、歸一化參數以及模型參數;實時預測包括解析請求、過濾特征,然后估算預測的準確度。

圖12 硬盤故障預警流程圖Figure 12 Hard disk failure warning flowchart
5.4.1 面向多租戶云存儲系統的軟件定義文件系統SDFS
現有云平臺往往將虛擬機的虛擬磁盤以大文件形式存放在用網絡連接的共享存儲節點上,以降低成本,方便管理。 但因此也會導致IO 棧復雜,帶來性能隔離挑戰。
文件系統決定了存儲資源的使用,不考慮文件系統的特性,性能隔離無從實現。因此,我們通過存儲服務器端文件粒度資源分配,保障虛擬機性能需求,控制文件系統影響,降低性能干擾;控制平面通過元數據來記錄和傳遞租戶性能需求;數據平面進行資源調度,配合實現軟件定義的思想。
5.4.2 并行文件系統客戶端持久性高速緩存
主要思想是數據按需向計算節點遷移;特點是利用分層存儲管理和分布式鎖管理機制,采用統一命名空間管理高性能客戶端本地緩存;自定義緩存規則,客戶端本地緩存數據按需預取或替換;減少數據遷移和網絡擁塞,減輕服務端I/O 壓力和存儲開銷;提供性能隔離、QoS(Quality of Service)保障,對延遲敏感,I/O 局部性應用效果顯著。
SDFS 能通過文件粒度的資源分配, 保障虛擬機的性能需求。 與Pulsar 相比,Pulsar 無法控制文件系統延遲寫帶來的影響, 所以無法做到性能隔離;而SDFS 能夠避免延遲寫帶來的干擾而保障各個租戶的性能需求。 在使用SDFS 進行性能隔離的時候,虛擬機的性能波動降低4 倍以上。