隨著閃存技術的快速發(fā)展,固態(tài)盤的存儲容量和性能均有顯著提升,尤其是其高達200TB的容量和15GB/s的帶寬的,以及百萬級的吞吐量的固態(tài)盤的出現(xiàn),這些特性使得單個固態(tài)盤能夠支持多個租戶共享使用。

吳非教授強調(diào)了固態(tài)盤虛擬化技術在支持多租戶共享方面的作用。

她提到,PCIe單根虛擬化技術和NVMe命名空間等接口技術的發(fā)展,極大地推動了多租戶共享固態(tài)盤的應用。這些技術使得一個固態(tài)盤可以虛擬化為多個存儲設備,供不同的租戶使用,每個租戶都有獨立的I/O請求隊列和邏輯地址空間,從而有效地管理數(shù)據(jù)存儲和訪問。

在多租戶共享固態(tài)盤的背景下,吳非教授指出,存儲系統(tǒng)面臨著三大主要挑戰(zhàn):性能干擾、性能不公平和性能損失。

性能干擾問題主要源于多租戶共用同一閃存晶圓的I/O總線,造成數(shù)據(jù)傳輸?shù)脑L問沖突,以及固態(tài)盤調(diào)度策略導致的調(diào)度干擾;性能不公平問題主要體現(xiàn)在帶寬和吞吐量的分配上,不同租戶間存在明顯的性能差異;而性能損失則源于共享多租戶的資源配置不佳,以及隔離條件下給部分租戶預留的專屬資源閑置無法被其他租戶利用。

例如,面向性能公平的研究如右表所示,包括IO請求公平調(diào)度和空間資源公平分配兩類策略。

左圖則展示了IO請求調(diào)度策略的演進,從最初面向磁盤的一般性方法,逐漸演化成閃存感知的適配性方法,最后發(fā)展為可以減輕主機端軟件棧開銷的硬件卸載方案。

面向性能公平的服務質(zhì)量保障技術主要表現(xiàn)為I/O公平調(diào)度器的設計,基于調(diào)度思想的不同可劃分為預算分配和隊列仲裁兩類模型,預算分配模型通過周期性為每個租戶分配預算,各租戶在周期內(nèi)按預算進行請求調(diào)度,通過限制每周期內(nèi)各租戶的最大性能,可以有效保障周期內(nèi)的性能公平,然而租戶當前周期內(nèi)由于請求不足造成的預算浪費無法被繼承到后續(xù)周期中,因此長期而言,可能存在性能不公平問題。

而隊列仲裁模型則考慮了各租戶的歷史性能,通過調(diào)整請求調(diào)度順序,優(yōu)先調(diào)度性能“滯后”的租戶的I/O請求,保障每時刻的調(diào)度都是趨近于最公平的選擇。

這些I/O請求調(diào)度策略最初都基于磁盤存儲,隨著閃存固態(tài)盤的不斷普及應用,這些方法開始結合閃存特性,例如固態(tài)盤內(nèi)的高并發(fā)性能、閃存讀寫速度差異等,逐漸發(fā)展為適用于閃存固態(tài)盤的I/O調(diào)度器。

隨著多處理器、多隊列固態(tài)盤等技術的發(fā)展,固態(tài)盤帶寬不斷提升,系統(tǒng)的性能瓶頸逐漸從傳統(tǒng)的存儲I/O瓶頸轉(zhuǎn)移為主機端CPU瓶頸,因此越來越多的工作開始研究將主機端的I/O調(diào)度器卸載到設備內(nèi)實現(xiàn),以此減少主機端I/O棧軟件開銷,進一步釋放主機端有限的CPU資源,從而提升系統(tǒng)性能。

此外,也由于只有在固態(tài)盤內(nèi)才能感知到著更豐富的語義來做出更明智的調(diào)度選擇,例如盤內(nèi)GC對調(diào)度的影響,因此I/O調(diào)度器的硬件卸載也逐漸成了新的發(fā)展趨勢。

基于空間資源分配粒度,面向性能隔離的研究劃分為兩類分配策略,即硬隔離分配和軟隔離分配兩類。

硬隔離分配指的以channel或者die為最小分配粒度,由于每個閃存并行單元由單個租戶所獨占,因此其性能隔離性強,但由于現(xiàn)在一個閃存die即可達數(shù)十GB大小,因此在分配不合理時難以實現(xiàn)動態(tài)分配調(diào)整,表現(xiàn)為數(shù)據(jù)遷移開銷大,此外,硬隔離分配還存在與現(xiàn)有閃存die級別RAID技術不兼容,大粒度磨損均衡開銷大等問題。

軟隔離分配則指plane或者block級的最小分配粒度,通過將不同租戶的數(shù)據(jù)存儲在不同的閃存塊中,避免了一個租戶的GC造成其他租戶數(shù)據(jù)的遷移,解決了GC干擾問題,同時由于分配粒度較小,因此動態(tài)調(diào)整分配的開銷小,可以支持靈活的空間資源分配策略,但由于依舊存在多個租戶共享使用同一個固態(tài)盤并行單元的爭用問題,因此軟隔離技術還需要與IO隔離技術相配合才能完整實現(xiàn)性能隔離目標。

總結而言,面向性能隔離的研究如右表所示,包含空間硬隔離、空間軟隔離和IO隔離方案。

通過左圖實驗結果可以發(fā)現(xiàn),空間硬隔離方案隔離效果最強;空間軟隔離方案和IO隔離方案隔離性弱,分別只實現(xiàn)了GC隔離和調(diào)度隔離;但二者的協(xié)同設計可以實現(xiàn)強隔離效果。

在面向性能隔離的服務質(zhì)量保證技術方面,現(xiàn)有研究主要從保障空間隔離和保障I/O隔離兩個方面進行研究。

空間隔離指將不同租戶的數(shù)據(jù)寫入不同閃存單元中,基于隔離的粒度,可劃分為硬隔離和軟隔離兩類。

由于閃存晶圓是固態(tài)盤最小并行單元,閃存晶圓及以上粒度的硬隔離方案完全避免了多租戶間的閃存爭用問題,因此實現(xiàn)了強隔離性(包括IO隔離和GC隔離)。

而分組級和閃存塊級粒度的軟隔離方案則僅保障不同租戶數(shù)據(jù)不會寫入同一閃存擦除單元中,因此避免了GC干擾,但隔離性弱于硬隔離方案。

IO隔離則是將IO調(diào)度資源隔離分配給各租戶,避免IO資源爭用。

通過實驗,我們發(fā)現(xiàn)圖(c)和圖(e)僅實現(xiàn)空間軟隔離或者IO隔離均無法實現(xiàn)多租戶間的性能隔離,且性能較差,但圖(b)結合二者的協(xié)同方案則可以實現(xiàn)相當于圖(a)硬隔離的強隔離性及性能。

從左圖中可以發(fā)現(xiàn),傳統(tǒng)空間資源靜態(tài)分區(qū)分配方案只能實現(xiàn)局部最優(yōu)的性能,而空間資源共享競爭使用方案只能保障次優(yōu)的性能。

因此,當前面向性能優(yōu)化的技術提出了基于機器學習、啟發(fā)式算法等的分配模型,實現(xiàn)了負載自適應地動態(tài)調(diào)整資源分配,最大化空間資源利用率,提升了固態(tài)盤整體性能,然而現(xiàn)有方案均以硬隔離分配為基礎實現(xiàn)的動態(tài)分配,前文已經(jīng)提到,硬隔離分配下動態(tài)調(diào)整開銷較大,因此我們提出了新的一項基于軟隔離分配的空間資源動態(tài)調(diào)整模型,以實現(xiàn)低開銷、靈活的、負載自適應的空間資源動態(tài)分配策略,提高固態(tài)盤整體性能。

在固態(tài)盤中,存在一部分用戶不可見的物理空間,稱之為預留空間OPS,而上面提到的重刪技術節(jié)省出大量空間資源,其本質(zhì)和預留空間一樣,都可以提高GC效率,降低寫入放大,提升固態(tài)盤性能。

在多租戶環(huán)境下,如何分配有限的空間資源(尤其是OPS資源),對固態(tài)盤性能有很大影響;

然而,傳統(tǒng)分配方案,無論是靜態(tài)分配的分區(qū)方案,還是自由競爭的共享方案,均無法最大化空間資源利用率。

Aggregate entropy代表數(shù)據(jù)熵,在使用數(shù)據(jù)縮減技術(重刪、壓縮)時,固態(tài)盤呈現(xiàn)不同的數(shù)據(jù)熵值,熵值越低代表數(shù)據(jù)縮減比例越高。

當數(shù)據(jù)熵較低時,數(shù)據(jù)縮減技術減少了閃存空間的消耗,由于上層應用不知道這種減少,因此這些減少的空間會被SSD自動當作額外的OPS,因此SSD本身配置的OPS大?。M坐標)對寫放大(縱坐標)影響較小(例如左圖中綠線Low(0%)。

而典型SSD中是沒有使用數(shù)據(jù)縮減技術的,即左圖中紅線Typical SSDs(100%),數(shù)據(jù)熵值高,沒有因為數(shù)據(jù)縮減技術而隱性配置了額外的OPS,因此SSD本身配置的OPS大?。M坐標)對寫放大(縱坐標)影響大,當SSD配置的OPS較小時,GC開銷大,存在明顯的寫入放大問題。

此處右圖表現(xiàn)出OPS對讀性能有影響,主要是因為GC遷移有效數(shù)據(jù)頁會阻塞用戶的讀請求響應,而更高的OPS配置可以降低GC開銷,進而減少對用戶讀請求的阻塞,提高用戶讀性能。

圖中展示了傳統(tǒng)分區(qū)方案性能隨分區(qū)配置變化的關系曲線。我們可以發(fā)現(xiàn),性能表現(xiàn)最佳的分區(qū)配置是動態(tài)變化的,例如三組實驗中兩共享租戶間的最佳分區(qū)配置比分別為2:8、4:6和9:1,也因此難以事先確定最佳配置來及時人工調(diào)整分區(qū)配置。

而不恰當?shù)姆謪^(qū)配置又將導致糟糕的性能,例如藍色實驗顯示,最差性能與最佳性能之間存在21%的性能差距。因此,傳統(tǒng)分區(qū)方案并不能適應負載的動態(tài)變化性。

由于傳統(tǒng)分區(qū)和共享兩種方案均不能最大化空間資源利用率,本研究提出了WA-OPShare這個新的分配策略,其可以負載自適應的動態(tài)調(diào)整多租戶間的空間資源分配,最終實現(xiàn)比傳統(tǒng)方案更高的系統(tǒng)性能。

其主要包含兩項設計方案,一個基于懶惰超級塊合并的空間資源回收方案,用以回收已分配的低效空間;另一個是基于負載特征感知的空間資源分配方案,用于動態(tài)調(diào)整資源分配。

基于此發(fā)現(xiàn),我們提出了一項負載自適應地動態(tài)調(diào)整OPS資源地分配方案,其包含兩個策略:

首先是OPS的回收策略,我們基于閃存頁無效時間,建立閃存超級塊空間利用率模型,即,一個閃存超級塊內(nèi)無效頁越多,且無效頁存在的累計時間越長,該閃存超級塊利用率越低,我們定期擦除回收利用率最低的閃存超級塊,以避免空間浪費。

在回收的同時,我們通過將回收回的空閑空間返還給租戶使用,以此模擬增加OPS資源的狀態(tài),并計算這些OPS資源給租戶帶來的性能收益。

基于上述計算出的收益值,我們的OPS動態(tài)分配策略將回收回的空閑OPS資源分配給性能收益最大的租戶,以此實現(xiàn)OPS資源分配的動態(tài)調(diào)整并最大化資源利用率,提升固態(tài)存儲系統(tǒng)性能。

本研究提出了一個超級塊空間利用率模型,一方面和傳統(tǒng)貪心策略一樣,考慮盡可能小的遷移開銷,另一方面,也綜合考慮了每個閃存頁對空間利用率的貢獻程度。

例如,我們將一個閃存頁被置無效和被擦除期間視為其ZombieTime,圖中白色區(qū)域的面積就是一個超級塊內(nèi)所有數(shù)據(jù)頁的ZombieTime之和,即代表了這個超級塊內(nèi)無效空間累計被浪費了多久,因此與空間利用率成反比。

通過定期回收空間利用率最低的超級塊,釋放出其浪費的無效空間,該方案可有效提升固態(tài)盤空間利用率及性能。

回收的空間資源交由OPS分配器進行再分配,分配原則為哪個租戶獲得這些空間后的收益最大,就分配給哪個租戶,本方案將這個收益定義為增加單位OPS資源能帶來的帶寬提升,稱之為邊緣收益MG,如公式所示,OPS資源通過影響寫放大,進而影響著租戶的邊緣收益值。

本方案在測量窗口和再分配窗口間交替運行,測量窗口用于測量每個租戶的邊緣收益值,再分配窗口期間將回收的空間資源重新分配給邊緣收益值最大的租戶,最終實現(xiàn)負載自適應的空間資源動態(tài)調(diào)整,提升系統(tǒng)性能。

本方案在SSD仿真平臺SSDSim上進行了測試,實驗包括2~8個并發(fā)運行的負載,對比了本方案WA-OPShare與傳統(tǒng)分區(qū)及共享方案的性能,固態(tài)盤配置了25%的OP空間,實驗負載包括如表所示的4個真實負載及順序讀寫等另外4個合成負載。

與傳統(tǒng)的分區(qū)和共享方案相比,本方案分別最高實現(xiàn)了40.3%和31.2%的帶寬提升,即使是與通過廣泛實驗分析得到的最佳分區(qū)配置下的性能相比,本方案也實現(xiàn)了6.9%的帶寬提升。

相比于分區(qū)方案性能嚴重依賴于分區(qū)配置的好壞,本方案可自適應動態(tài)調(diào)整OPS分配,無論何種初始分配狀況,其均能實現(xiàn)比傳統(tǒng)方案更好的性能。

特別的,如左下圖所示,本方案在提升寫密集型租戶性能的同時未造成讀密集型租戶的性能損失。

我們的測試結果表明,與傳統(tǒng)分區(qū)方案相比實現(xiàn)了7%~40%的帶寬提升和10%~37%的寫放大降低,不同于分區(qū)方案性能依賴于人工分區(qū)配置,我們的方案具備負載自適應性,無論初始分配如何,總能自動調(diào)整到最佳分配狀態(tài);

同時,與傳統(tǒng)共享方案相比實現(xiàn)了約31%的帶寬提升和17.5%的寫放大降低;

由于OPS資源影響寫性能而非讀性能,因此我們的方案可以通過將讀密集型租戶的OPS資源動態(tài)分配給寫密集型租戶,在顯著提升寫密集型租戶性能的同時,不犧牲讀密集型租戶的性能。

我們每150分組變更一次運行負載,以展示W(wǎng)A-OPShare的負載自適應性,圖的上下半部分分別展示的固態(tài)盤的總帶寬,及WA-OPShare方案下各租戶間的OP空間分配情況。

我們可以發(fā)現(xiàn)WA-OPShare可以負載自適應的動態(tài)調(diào)整OP空間分配,并最終在4個階段中分別實現(xiàn)了11%、14%、7%和25%的帶寬提升。

總結而言,OPS資源的分配對多租戶固態(tài)盤性能至關重要,傳統(tǒng)分區(qū)方案和共享方案均無法最大化空間資源利用率,而本研究提出的方案可以負載自適應的動態(tài)調(diào)整OPS資源分配,進而提升固態(tài)盤性能。

當前面向性能公平、性能隔離和性能優(yōu)化三類目標的服務質(zhì)量保障技術研究,較好地解決了多租戶固態(tài)盤發(fā)展面臨的性能不公平、性能干擾和性能損失三大問題;

然而,現(xiàn)有工作也存在著資源分配模型單一、硬隔離策略不兼容RAID技術等問題,并隨著固態(tài)盤技術的發(fā)展,出現(xiàn)了新的稀缺資源,因此如何針對這些問題提出更好的解決方案,以及如何解決新背景下的新問題,仍然有待進一步研究。

一方面,現(xiàn)有工作沒有綜合考慮固態(tài)盤時間和空間2個維度上的資源分配,即如何建立時間資源和空間資源分配的統(tǒng)一模型,結合服務質(zhì)量要求和I/O 負載特征,為多個租戶分別選擇最佳的時間和空間資源分配,從而在保證服務質(zhì)量的基礎上最大化資源利用效率和總體性能. 例如,在保證性能公平的基礎上,為以讀請求為主的租戶分配更多I/O 時間預算,為包含大量隨機寫請求的租戶分配更多空間資源(以降低垃圾回收開銷)。

另一方面,現(xiàn)有的以總體性能優(yōu)化為目標的閃存空間動態(tài)分配方案都是基于硬隔離策略,存在空間分配粒度和重分配性能開銷過大、單個租戶并行帶寬受限、不兼容固態(tài)盤內(nèi)RAID 保護技術等問題。如何基于軟隔離策略在多租戶之間實現(xiàn)細粒度和低開銷的動態(tài)空間分配,以最大化存儲空間利用效率和總體性能,有待進一步研究。

此外,固態(tài)盤需要為每個租戶打開至少一個獨立的閃存塊進行數(shù)據(jù)寫入,以保證性能隔離,而且為租戶分配更多開放閃存塊能夠有效提高冷熱數(shù)據(jù)分離和垃圾回收的效率。

然而,出于可靠性因素,固態(tài)盤支持同時打開的閃存塊最大數(shù)量受限. 開放的閃存塊成為了一種稀缺資源,對固態(tài)盤能夠支持的最大租戶數(shù)量以及租戶性能都具有關鍵影響。如何優(yōu)化固態(tài)盤可靠性機制以提供更多的開放閃存塊資源,以及如何在多租戶之間分配開放閃存塊資源以保證公平性和提高總體性能,都將成為重要挑戰(zhàn)。

分享到

zhupb

相關推薦