首先介紹一下吳非教授所在的華科存儲部,是國內首個獲批的存儲領域博士點,在2022年和2023年所在團隊在IO500的10節(jié)點競賽中兩度榮獲世界第一。研究工作涵蓋從存儲介質到系統(tǒng)的全方位探索。團隊由謝長生教授領導,團隊包含四十多位教師和一百多位學生,研究方向主要集中在AI環(huán)境下對數據高效的存儲和計算提出的方法機理和策略。

新興應用對存儲提出的需求

大數據、物聯(lián)網、5G、AI等應用對存儲系統(tǒng)提出了更高的要求,尤其在性能、可靠性和低成本和大容量方面。全球數據量的爆發(fā)式增長,預計到2027年數據量可能達到284.30ZB。當前閃存技術成為主流存儲,但它并非沒有缺陷。與傳統(tǒng)的磁存儲相比,閃存的讀寫粒度更大,且需要異地更新,這導致了垃圾回收的復雜性。

閃存存儲中的垃圾回收過程會導致寫放大問題,影響SSD性能。這個過程涉及清理和重用空間,但需要額外寫入操作,增加了實際寫入數據量。不同類型的SSD在垃圾回收方面表現(xiàn)不同,消費類SSD僅有7%的OP空間用于此過程,而企業(yè)級SSD大概是28%,這部分空間雖不可見,但對維持SSD性能和壽命至關重要。

此外,隨著SSD容量的增加,維護地址映射表所需的DRAM成本也在增加,這也是個不小的負擔。在系統(tǒng)層面,從應用層到系統(tǒng)內核層再到塊接口層,存儲系統(tǒng)的層次結構中存在許多功能冗余和重疊。例如,設備層和文件系統(tǒng)層都有垃圾回收和文件管理,導致IO軟件的開銷增大,系統(tǒng)效率降低。

ZNS SSD的優(yōu)勢

因此,傳統(tǒng)塊接口的盤體系架構存在一定局限性,而ZNS(分區(qū)命名空間)接口在2021年已經做到了國際標準。分區(qū)盤的主要優(yōu)勢在于它對大容量存儲的支持,尤其適用于QLC閃存。ZNS在傳統(tǒng)塊接口上增加了一層管理,采用大條帶管理方式,這與傳統(tǒng)的基于頁或塊的映射不同,超大容量比如128T所需的千分之一DRAM也是很大的,而這種大的條帶管理方式減少了盤內DRAM的需求(千分之一容量會很?。粚懭胧且粋€條帶,IP和OP空間整體也變小了。

之所以用大條帶寫入,是因為它更像一個日志文件系統(tǒng)。數據寫入是追加式的,必須按順序寫,按順序擦除。這樣單個區(qū)內不用垃圾回收,但要在文件系統(tǒng)里完成垃圾回收。ZNS的優(yōu)勢在于它對DRAM的需求很小,幾乎不需要OP空間,寫放大率低,帶來了低成本、高性能和長壽命,滿足AI計算和備份存儲的需求。

不過這種設計也意味著管理效率低。原本由設備端處理的任務轉移到了系統(tǒng)端,設備性能好,但增加了系統(tǒng)管理垃圾回收的復雜性。當文件系統(tǒng)的實際寫入數據小于分區(qū)大小時,就會產生負載多樣性與分區(qū)固定大小之間的矛盾。

因此我們考慮做一個靈活分區(qū)大小的ZNS。

另一個問題是存儲效率低。在分區(qū)盤的size固定分區(qū)情況下,盤類專家認為數據壓縮技術能進一步優(yōu)化存儲空間。雖然在傳統(tǒng)硬盤中有效,但方法移植到分區(qū)盤里就無法工作,因為RAID條帶沒有辦法組織。

因此要考慮將硬盤轉變?yōu)橹С滞该鲏嚎s的可計算存儲設備。

靈活分區(qū)是為了解決ZNS SSD在固定分區(qū)size下遇到的性能和效率問題。我們分析了三家主流廠商的分區(qū)盤,大普將分區(qū)大小做到32GB,而西部數據和浪潮則是2GB和4GB。好處是大帶單用時性能很好,但整體并發(fā)性能上并不理想,而且平衡性上,接口性能跑不滿。

大分區(qū)的問題在于訪問粒度不匹配和數據放置不靈活。當數據分布在大條帶上時,很多數據無法完全填滿分區(qū),造成空間浪費。

為什么有分區(qū)大小靈活配置的需求?我們實驗發(fā)現(xiàn),對于不同負載的性能峰值,帶寬不是在最小或最大,而是呈現(xiàn)拋物線形狀。靈活分區(qū)能夠提供更好的性能,同時減少主機端垃圾回收的開銷。因此,分區(qū)盤對分區(qū)大小進行靈活配置是有必要的。

而實現(xiàn)靈活分區(qū)的主要挑戰(zhàn)在于SSD內部RAID的復雜性。在固定大小的分區(qū)中,RAID易于管理,但不固定時,實際可用空間會變化,使得地址對齊和空間利用會很復雜。用戶數據大小未知,如果采用早期壓縮技術中的空白填充,會造成空間浪費。尤其在大條帶情況下,這種浪費不可接受。

因此,為了提高ZNS硬盤的性能和市場接受度,需要解決靈活分區(qū)帶來的技術挑戰(zhàn),優(yōu)化存儲空間的利用,同時保持數據管理和性能的平衡。

FlexZNS–靈活分區(qū)設計與實現(xiàn)

我們提出了一個方案,通過四件事來優(yōu)化存儲管理。首先是將用戶空間與舊校驗空間解耦,使得數據和校驗區(qū)域可以獨立管理。在盤內將空間分為兩個部分,并在上層軟件與ZNS交互時,根據數據特征進行動態(tài)邏輯分區(qū),將大小相似的數據聚集在一起,從而優(yōu)化校驗空間的分配。

在不同負載下進行的測試表明,采用靈活分區(qū)的方式可以顯著提升性能。具體來說,靈活分區(qū)能夠將吞吐量提高至原來的163%,同時將寫放大率降低至61.9%。

多租戶共享環(huán)境中,分區(qū)盤的彈性空間分配能顯著提升性能,帶寬可提高52.9%。這種環(huán)境下,除了性能提升,還可以實現(xiàn)適當的硬件隔離,適應多租戶的需求。我們的目標是推動ZNS技術在實用化方面更進一步,盡管這目前還處于探索階段。

吳非教授還分享了分區(qū)盤采用數據壓縮技術方面的探索。目前,包括三星、Scaleflux等幾家公司正在開發(fā)盤內透明壓縮技術,可以提高聚合帶寬和降低成本,但在傳統(tǒng)的塊接口中,壓縮后的數據可能因不對齊而浪費空間。而在ZNS硬盤中,由于使用了大的super block映射,壓縮后的數據對齊變得可行??紤]到壓縮性的局部性,嘗試采用了槽對齊的數據布局,還有Balloon-ZNS SSD設計(控制器包含一個硬件壓縮引擎,將傳入的數據頁壓縮成更小的段)等,并對此進行了針對性地配置、分析和評估。

最后

ZNS硬盤雖然具有大容量、低成本、性能穩(wěn)定和軟件定義等優(yōu)點,但在實際應用中可能需要更多的探索和創(chuàng)新。另一種可能更容易落地的技術是FDP(靈活數據路徑),考慮了負載特征和上層語義,將數據根據熱度劃分到不同區(qū)域,不需要將設備端功能遷移到主機端。

分享到

崔歡歡

相關推薦