


摘要:基于申威威鑫3231芯片的高性能分布式存儲,能夠通過軟件定義存儲的方式為用戶提供性能穩(wěn)定的存儲服務(wù),滿足從硬件層到軟件層的全棧國產(chǎn)化需求,從而實現(xiàn)“自主可控,安全可靠”的存儲要求。其在滿足用戶需求的同時,還可以大幅降低存儲系統(tǒng)的單位擁有成本和管理成本,實現(xiàn)核心生產(chǎn)存儲系統(tǒng)的國產(chǎn)化,讓用戶更加經(jīng)濟地進行自主可控的IT基礎(chǔ)設(shè)施建設(shè)。
關(guān)鍵詞:軟件定義存儲;威鑫3231;NVMe-oF
doi:10.3969/J.ISSN.1672-7274.2023.02.021
中圖分類號:TP 311.13" " " " " " " "文獻標(biāo)示碼:A" " " " " " " "文章編碼:1672-7274(2023)02-00-03
High Performance Distributed Storage Based on SW-WX3231 Chip
JING Tao
(i-Soft Co., Ltd., Beijing 100102,China)
Abstract: The high-performance distributed storage based on SW-WX3231 chip can provide users with storage services with stable performance through software defined storage, full stack localization requirement from hardware to software layer, implement the storage requirements of \"self-controlled, safe and reliable\", realize the localization of the core production storage system, and enable users to construct independent and controllable IT infrastructure more economically.
Key words: Software Defined Storage; SW-WX3231; NVMe-oF
基于申威威鑫3231芯片的高性能分布式存儲平臺,具備大規(guī)模集群部署能力和海量數(shù)據(jù)管理能力,可同時提供文件、塊級、對象存儲,存儲平臺具有豐富的應(yīng)用接口,可靈活用于金融、互聯(lián)網(wǎng)、衛(wèi)星測繪、醫(yī)療、教育科研、視頻監(jiān)控等應(yīng)用場景。
1" 研究背景
隨著多媒體大數(shù)據(jù)、互聯(lián)網(wǎng)、云計算等應(yīng)用場景的出現(xiàn)以及各類移動智能終端的普及和應(yīng)用,以圖片、音頻和視頻等文件為代表的非結(jié)構(gòu)化數(shù)據(jù)呈現(xiàn)爆發(fā)式增長。相較于傳統(tǒng)的集中式存儲,分布式存儲具備高擴展性、高可用性等優(yōu)勢,可以滿足日益增長的海量數(shù)據(jù)存儲與管理所需的性能與容量要求。傳統(tǒng)的集中式存儲,存儲系統(tǒng)往往容易成為整個平臺的性能瓶頸,難以滿足大規(guī)模存儲應(yīng)用的橫向擴展需求。基于申威威鑫3231芯片的高性能分布式存儲平臺,能夠為我國關(guān)鍵基礎(chǔ)設(shè)施領(lǐng)域提供長遠(yuǎn)、可控的供應(yīng)鏈和技術(shù)支撐。
2" 研究內(nèi)容
分布式存儲平臺圍繞軟件定義技術(shù),全棧研發(fā)基于分布式架構(gòu)的智能存儲系統(tǒng),采用高可靠的數(shù)據(jù)存儲保護方案、高性能的數(shù)據(jù)分布算法,有效提升分布式存儲系統(tǒng)的可靠性及存儲效率,滿足用戶對可用性、易用性及成本的需求,打造完全自主可控的分布式存儲產(chǎn)品線。其通過增加服務(wù)器節(jié)點的方式橫向擴容,實現(xiàn)去中心化,從根本上解決傳統(tǒng)數(shù)據(jù)中心存儲設(shè)備的數(shù)據(jù)孤島問題,增加存儲的靈活擴展性,提供統(tǒng)一的資源管理功能和數(shù)據(jù)保護策略,實現(xiàn)存儲系統(tǒng)的一體化管理。平臺廣泛支持各種現(xiàn)有的應(yīng)用系統(tǒng),方便構(gòu)建新的應(yīng)用系統(tǒng),可提供文件接口、塊接口、對象接口、HDFS接口等多種存儲協(xié)議接口,可用一套存儲系統(tǒng)對多樣化的用戶應(yīng)用系統(tǒng)提供訪問支持。
申威威鑫3231(SW-WX3231)是一款用于通用服務(wù)器、存儲服務(wù)器、安全設(shè)備等產(chǎn)品的高性能處理器。其基于申威自主指令集(SW64),集成了32個64位RISC結(jié)構(gòu)的申威處理器核心、8路DDR4存儲控制器和40 lane PCIe 4.0接口,支持2~4路處理器直連。整套分布式存儲平臺基于雙路威鑫3231芯片服務(wù)器和普華操作系統(tǒng),基于內(nèi)核級資源調(diào)度設(shè)計了獨有的加速引擎以提高操作系統(tǒng)的調(diào)度效率,采用高效的分布式全閃存儲軟件棧,通過軟件加速釋放出硬件的真正性能,同時在存儲系統(tǒng)穩(wěn)定性、數(shù)據(jù)可靠性方面可以做到完全自主可控,可以應(yīng)用于人工智能、機器學(xué)習(xí)、大數(shù)據(jù)等對存儲有高性能需求的場景中,系統(tǒng)架構(gòu)如圖1所示。
2.1 操作系統(tǒng)內(nèi)核優(yōu)化
傳統(tǒng)的操作系統(tǒng)在設(shè)計之初往往忽視了現(xiàn)代服務(wù)器的多核心、高并發(fā)、大內(nèi)存的運行模式。NVMe 技術(shù)以PCIe作為SSD的訪問接口,極大地縮短了I/O的訪問路徑,同時 NVMe 的軟件棧也以精簡的調(diào)用關(guān)系進一步降低了數(shù)據(jù)訪問的時延,在大數(shù)據(jù)、互聯(lián)網(wǎng)、金融等高IOPS的應(yīng)用場景中,傳統(tǒng)存儲技術(shù)由于訪問路徑長、時延大、吞吐量低、內(nèi)存資源相互競爭以及上下文切換延遲等待的問題,不能滿足“大數(shù)據(jù)”高性能存儲的需求。全自主研發(fā)的普華分布式全閃存儲系統(tǒng)通過私有CPU調(diào)度和虛擬內(nèi)存管理,采用微控制器實現(xiàn)資源高效并發(fā)流水線作業(yè),通過輪詢、分核、無鎖化等機制減少了CPU上下文切換、并發(fā)互斥等帶來的系統(tǒng)開銷,提高了I/O的響應(yīng)速度,提升帶來了系統(tǒng)性能,有效地解決了前端網(wǎng)絡(luò)、后端網(wǎng)絡(luò)和落盤等環(huán)節(jié)存在的性能瓶頸問題。此外,采用高性能的NVMe全閃存硬件平臺針對NVMe閃存介質(zhì)設(shè)計了合理高效的分布式存儲軟件棧,可以兼容業(yè)界主流廠商的RDMA、FC卡,實現(xiàn)前端NVMe-oF、iSCSI 塊服務(wù)類型接口,組成支持橫向擴展和高可用的存儲資源池,對外部應(yīng)用提供高性能的存儲服務(wù)。
2.2 NVMe over Fabric技術(shù)
傳統(tǒng)的SATA接口隨著SSD的性能逐漸增強成為限制SSD的一大瓶頸。整個系統(tǒng)的性能瓶頸已從硬盤側(cè)逐漸轉(zhuǎn)移到協(xié)議和接口側(cè)。NVMe存儲協(xié)議規(guī)范了SSD訪問接口,簡化了協(xié)議的復(fù)雜性,利用PCIe通道的低時延、并行性,通過威鑫3231處理器降低協(xié)議交互時延,利用平臺與應(yīng)用的并行性,增加協(xié)議并發(fā)能力,進一步提高存儲系統(tǒng)的讀寫性能。
從軟件接口來講,NVMe技術(shù)減少了對寄存器的訪問次數(shù),縮短了CPU到SSD的指令路徑,通過中斷管理、并行操作、多線程優(yōu)化,減少了各個CPU核之間的鎖同步操作。NVMe相比SAS,效率有很大的提升。在相同的CPU周期下,NVMe提供的IOPS是SAS的2倍。從軟件的角度來看,SAS協(xié)議交互次數(shù)多,軟件處理協(xié)議開銷大,需要在PCIe和SAS之間做協(xié)議轉(zhuǎn)換,SAS/SCSI體系協(xié)議棧復(fù)雜。NVMe呆直與PCIe接口連接,協(xié)議交互簡單,去掉了SCSI層協(xié)議,減少了軟件交互次數(shù),從而實現(xiàn)了更低的時延,提高了性能。如圖2所示,通過 PCIe接口直接和存儲設(shè)備通信,縮短了 I/O 路徑,降低了軟件開銷,因此極大地減少了整個系統(tǒng)的時延。此外 SAS協(xié)議是單隊列,而NVMe最大支持64K個隊列,每個隊列支持最多64K個命令并發(fā),擁有更高的并發(fā)和隊列深度,充分發(fā)揮了NVME閃存的性能。另外NVME支持熱插拔和雙端口,互相不影響,為系統(tǒng)修復(fù)和異常處理提供了硬件基礎(chǔ),保證了系統(tǒng)雙控冗余性,提升了系統(tǒng)的可靠性和可用性。
NVMe-oF技術(shù)使用基于消息的模型,通過網(wǎng)絡(luò)在主機和目標(biāo)存儲設(shè)備之間發(fā)送請求和響應(yīng),通過RDMA 高速網(wǎng)絡(luò),在主機端和目標(biāo)端的NVMe設(shè)備之間,實現(xiàn)數(shù)據(jù)的傳輸。
NVMe-oF將NVMe協(xié)議應(yīng)用于服務(wù)器前端,作為存儲陣列與前端服務(wù)器連接的通道,取代傳統(tǒng)SAN 網(wǎng)絡(luò)中的SCSI協(xié)議。基于NVMe-oF協(xié)議棧的訪問流程如圖3所示,NVMe-oF替代PCIe擴展NVMe主機和NVMe存儲子系統(tǒng)進行通信[1],NVMe 主機端傳輸層完成NVMe命令與 NVMe-oF命令的轉(zhuǎn)換。利用RDMA來傳送NVMe命令及數(shù)據(jù),能夠?qū)崿F(xiàn)對遠(yuǎn)端 NVMe 設(shè)備的高速低延遲訪問[2]。
2.3 NVMe-OF 24盤位全閃存儲單元
采用高性能JBOF模塊,模塊內(nèi)有CPU和DDR內(nèi)存,是一個獨立的計算機系統(tǒng),具備計算能力,能夠?qū)刂瓶騼?nèi)控制器的計算任務(wù)進行卸載。
NVMe硬盤框通過RDMA端口與控制框連接,可實現(xiàn)支持大規(guī)格的NVMe盤數(shù)的能力。控制框通過板載的100Gb RDMA端口或者 100Gb RDMA后端接口模塊與智能NVMe硬盤框連接,提供高帶寬低時延的傳輸通道。集群各個節(jié)點通過高速網(wǎng)互聯(lián),從而實現(xiàn)節(jié)點間的協(xié)作與數(shù)據(jù)的分布及轉(zhuǎn)移,提供高速存儲服務(wù)。
3" 方案特點
高性能全閃存分布式存儲,摒棄了傳統(tǒng)存儲的SAS連接方案,使速度更快,能耗更低,并且可以在網(wǎng)絡(luò)上被多臺服務(wù)器共享管理,非常適合大容量高性能的場景。
單節(jié)點JBOF擁有6~12個100G的NVMe-of網(wǎng)絡(luò)接口,實現(xiàn)了存儲的前后端均衡,解決了基于傳統(tǒng)服務(wù)器架構(gòu)的分布式存儲內(nèi)部PCIE通道不足的問題。NVMe硬盤芯片主控的技術(shù),通過控制硬盤存儲顆粒的讀寫來達(dá)到磨損均衡,延長NVMe硬盤的使用壽命,同時可以實現(xiàn)TLC顆粒和QLC顆粒硬盤的混合使用,極大地降低了成本。
其通過JBOF實現(xiàn)了存儲管理節(jié)點和數(shù)據(jù)節(jié)點的分離,可以在同一套JBOF上實現(xiàn)塊、文件、對象存儲,方便用戶使用,存儲節(jié)點間使用RDMA技術(shù),保證了存儲節(jié)點之間高性能的數(shù)據(jù)傳輸。
在整體的存儲方案中,加入了SCM層持久內(nèi)存的技術(shù),通過小文件聚合,進一步提高讀寫的速度及硬盤壽命。
全局在線數(shù)據(jù)重刪壓縮,存儲快照、克隆、雙活等企業(yè)級存儲技術(shù)的加持,為用戶數(shù)據(jù)中心整體提速奠定了基礎(chǔ)。運用存儲緩沖加速層技術(shù),在不改變用戶原有存儲結(jié)構(gòu)及存儲路徑的前提下,從原有存儲中提取數(shù)據(jù)進行高速計算,提高了數(shù)據(jù)中心的處理速度。
4" 結(jié)束語
基于申威威鑫3231芯片的高性能分布式存儲平臺采用軟件定義存儲的方式,支持元數(shù)據(jù)靈活檢索,小文件性能優(yōu)化,滿足海量非結(jié)構(gòu)化數(shù)據(jù)并發(fā)訪問的需求,非常適合在線交易系統(tǒng)、大數(shù)據(jù)分析、4K/8K 視頻編輯、自動駕駛、基因、氣象等對性能、帶寬、容量同時有要求的場景, 能夠從根本上解決傳統(tǒng)數(shù)據(jù)中心存儲設(shè)備數(shù)據(jù)孤島問題,增加存儲的靈活擴展性,為IT業(yè)務(wù)應(yīng)用提供持續(xù)的高可用存儲服務(wù)。■
參考文獻
[1] 朱佳平. NVMeoF網(wǎng)絡(luò)存儲協(xié)議卸載技術(shù)研究. 中國計算機學(xué)會:中國計算機學(xué)會計算機工程與工藝專業(yè)委員會,2018:11.
[2] YU, Y. J., SHIN, D.I., SHIN, W., SONG, N. Y., CHOI, J. W., KIM, H. S., EOM, H., AND YEOM, H. Y. Optimizing the block I/O subsystem for fast storage devices[J]. ACM Transactions on Computer Systems (TOCS) ,2014,32(6):1-48.