時下人氣攀升的糾刪碼,究竟是什么呢? 所謂糾刪碼(Erasure Coding),是一種數據保護方法,它將數據分割成片段,把冗余數據塊擴展、編碼,并將其存儲在不同位置,比如硬盤、存儲節(jié)點或其他物理位置。
“糾刪碼,可以簡單理解成對原始數據做線性組合”,許胤龍教授表示。比如 (2+2)糾刪碼,就是A、B兩個數據可以做A+B和A+2B的線性組合,能容任意兩個節(jié)點錯,當恢復數據的時候直接解方程就行。一般情況下,業(yè)界常用的是(k,m)-MDS碼,把k個數據編碼成m個校驗數據,k+m個數據塊形成一個條帶,最多可以容許m個塊同時故障。工業(yè)界常見的m一般是2或3,數據規(guī)模較大的話,可以把m設為4~6。
糾刪碼 跑得如絲般順滑并非易事
糾刪碼“花小錢、辦大事”的優(yōu)勢雖然非常明顯,但要在超大規(guī)模數據中心內或者是跨數據中心使用糾刪碼做數據保護,卻需要過五關闖六將,絕非易事。
第一關:同一數據中心內,數據恢復的網絡傳輸時間占比超90%,糾刪碼“龜速”難題如何破。
糾刪碼能夠降低存儲成本、提高容錯能力,但糾刪碼最大的問題是在數據丟失之后,數據恢復過程需要從其他地方讀取大量數據,故障修復堪稱龜速。通過對糾刪碼“從存活節(jié)點讀取數據、傳輸、在備份節(jié)點解碼、傳輸、在替代節(jié)點寫入”的整個流程做分析,發(fā)現(xiàn)網絡傳輸占整個數據恢復時間的比例超90%,如何優(yōu)化數據恢復時間呢?
首先,數據分批恢復。在實際系統(tǒng)里面,數據塊是隨機的分布到不同的節(jié)點里,隨機數據分布從統(tǒng)計概率的角度來說,是能達到負載均衡的。但一般來說,在系統(tǒng)實現(xiàn)的時候,一般來說因為系統(tǒng)IO、內存、CPU資源也有限,同時系統(tǒng)還要支撐前臺的應用綜合各方面,所以修復一般都會是分批進行。“我們做過實驗,分批比不分批大概要快15%左右”,許教授表示。
其次,可以利用二部圖和網絡流圖的辦法,使得從不同的節(jié)點上進行恢復的時候,不同節(jié)點上讀數據量是均衡的,寫數據量也是均衡的,并且每一個節(jié)點承擔的恢復任務也是均衡的。清華、港中大、普渡、中科大等頂級高校均對糾刪碼技術進行了研究,經過優(yōu)化中科大SelectiveEC技術能夠在90%以上的情況下都實現(xiàn)負載均衡,相比HDFS大約50%的負載均衡水平,中科大的負載均衡水平能高出70%以上,恢復速度提升30%以上。同時Selective EC比HDFS有更少的毛刺、更短的長尾、更短的任務生命周期。
“我們很認同許教授的觀點,為了實現(xiàn)數據糾刪的負載均衡,浪潮存儲一直在技術上不斷打磨和創(chuàng)新”,浪潮信息分布式存儲架構師張立強表示。浪潮分布式存儲AS13000突破軟硬件協(xié)同寬條帶糾刪技術,融合多元算力,解決數據高冗余比糾刪的計算性能、資源消耗、容量、可靠性等指標難以兼顧的問題。舉個例子,浪潮存儲創(chuàng)新研制了糾刪碼FPGA加速卡,設計可重構最小硬件邏輯單元,實現(xiàn)編解碼復用、全糾刪比支持,實現(xiàn)寬條帶糾刪的CPU計算卸載。在32+6糾刪比配置下,浪潮存儲能夠將處理器平臺的CPU占用率降低90%,性能提升390%,這就如同將汽車行駛的速度提升到了復興號的水平。其實浪潮分布式存儲在高校領域應用廣泛,目前已經在中科大、清華、北大、復旦、浙大、中山大學等國內頂級高校實現(xiàn)規(guī)?;渴穑慰蒲兄腔蹜闷脚_穩(wěn)定運行,以數據之力助力科研取得豐碩成果。
第二關:跨數據中心場景,數據中心帶寬極其有限,如何“跨越萬水千山”做糾刪。
考慮到地震、山洪、火災等災害因素影響,大型企業(yè)往往會跨數據中心做數據保護。所謂跨數據中心,是指多個數據中心可能建在距離城區(qū)比較遠的地方或者是不同的城區(qū)的地方,這時候跨數據中心的帶寬就會很寶貴,通常跟數據中心內部的帶寬相比,跨數據中心帶寬只有1/20。
RS碼部署方式在同一數據中心內做糾刪是有優(yōu)勢的,但在跨數據中心環(huán)境下卻面臨挑戰(zhàn)。這是因為RS碼是把一個條帶的數據均勻分布到不同數據中心去。假如現(xiàn)在有15個數據塊,把它編碼成12個校驗塊,分散在三個數據中心,這時候只能容單個數據中心故障,存儲開銷大概是180%,如果出現(xiàn)單塊故障,需要跨數據中心訪問7個數據塊,需要的帶寬開銷比較多。
新型LRC(Locally Repairable Code)分組編碼方式,可以在存儲開銷和恢復性能之間做一個權衡。LRC(k,l,g)分組編碼有三個值,k表示數據塊,l代表局部校驗塊,g是全局校驗塊。LRC分組編碼通過讀取局部數據塊,減少重構所需的數據量,從而提升數據修復性能。這就好比618購物,北京小伙買一箱牛奶,如何用最快的速度把貨物送到顧客手里呢,電商平臺會找到距離顧客比較近的天津或河北倉庫(類似l局部校驗塊)進行配送,盡量減少從西安或廣州(類似g全局校驗塊)調貨的概率。
按照新型部署方式,“在實際集群里面,我們實現(xiàn)了數據傳輸、數據解碼的優(yōu)化,大概能把速度提升30%”,許胤龍教授表示。
“浪潮一直將可靠性視為存儲的生命線,在異地數據保護方面做了諸多創(chuàng)新”,浪潮信息存儲研發(fā)部何營表示。浪潮存儲不僅基于一套存儲架構承載塊、文件、對象、大數據等多種數據服務,在WAN加速、快速重構、透明故障切換等高級功能方面持續(xù)創(chuàng)新。以WAN廣域網加速技術為例,浪潮存儲通過數據流壓縮、固定塊切割和多數據流并發(fā),將遠程傳輸性能提升高達10倍、延時降低10倍,幫助海量數據異地遷徙和災備。
小結
伴隨元宇宙、AI、大數據新技術、新應用不斷涌現(xiàn),數字經濟正在成為中國經濟發(fā)展的關鍵因素。數據顯示,從2020年到2025年數字經濟核心產業(yè)增加值將從7.9萬億提升至13萬億,是驅動GDP增長的引擎。
“浪潮存儲是整體市場全球前四、分布式存儲銷量中國第一的存儲廠商,糾刪碼技術在浪潮大部分分布式存儲客戶中得到應用,為產業(yè)轉型升級構筑了數據護盾”,浪潮信息首席架構師葉毓睿表示。未來浪潮存儲將攜手產學研用各方力量,共建場景共同體驅動社會高質量發(fā)展。