2012年,一本由吳軍博士編著的《數(shù)學(xué)之美》暢銷中國(guó),書中將高深的數(shù)學(xué)原理講得更加通俗易懂,讓非專業(yè)讀者也能領(lǐng)略數(shù)學(xué)的魅力。吳軍博士在書中提到知名的計(jì)算機(jī)科學(xué)家Randy Katz發(fā)明了RAID(計(jì)算機(jī)獨(dú)立磁盤冗余陣列)系統(tǒng),而正是RAID技術(shù)奠定了商用存儲(chǔ)系統(tǒng)高性能高可靠的根基。RAID的核心思想就是使用EC(Erasure Code)糾錯(cuò)碼來靈活地配置數(shù)據(jù)冗余度,在保持存儲(chǔ)系統(tǒng)高性能高可靠的基礎(chǔ)上,提供比多副本技術(shù)更優(yōu)的存儲(chǔ)利用率。
一.Erasure Code和Reed-SolomonCodes:
隨著云計(jì)算領(lǐng)域的發(fā)展,云端算力成指數(shù)型增長(zhǎng),5G和AI應(yīng)用的崛起,海量的數(shù)據(jù)上云已經(jīng)是不可逆的趨勢(shì),而云存儲(chǔ)系統(tǒng)所管理的數(shù)據(jù)已經(jīng)從傳統(tǒng)企業(yè)存儲(chǔ)TB級(jí)邁向了EB級(jí)(1EB = 1 000 000 TB),在云存儲(chǔ)發(fā)展初期,受限于技術(shù)能力,各云存儲(chǔ)廠商主要沿用多副本機(jī)制(通常是3副本),導(dǎo)致云存儲(chǔ)系統(tǒng)的空間利用率只有33%,數(shù)據(jù)存儲(chǔ)成本高居不下,而后業(yè)界通常采用EC方式來降低成本。
傳統(tǒng)的的EC(Erasure Code) 糾錯(cuò)碼使用的是里德-所羅門碼(Reed-Solomon Codes,簡(jiǎn)稱RS Codes),其在云存儲(chǔ)系統(tǒng)中應(yīng)用方式為:
把云存儲(chǔ)(主要是公有云對(duì)象存儲(chǔ)系統(tǒng))的所有存儲(chǔ)單元(單硬盤或存儲(chǔ)節(jié)點(diǎn))視為一個(gè)Erasure Code存儲(chǔ)池,可以將對(duì)象按照N+M的方式存儲(chǔ)(N為對(duì)象的數(shù)據(jù)分片,M為校驗(yàn)片),它將對(duì)象切分成N個(gè)數(shù)據(jù)片,M個(gè)校驗(yàn)片。以6+3的EC為例,空間利用率可以達(dá)到67%,更大比例的N+M將會(huì)具有更高的空間利用率,在成本上非常具有競(jìng)爭(zhēng)力,同時(shí),系統(tǒng)的吞吐量較3副本(或多副本)有較大的提升。因此,EC技術(shù)在云存儲(chǔ)領(lǐng)域得到大規(guī)模的應(yīng)用。
但是傳統(tǒng)的EC機(jī)制在公有云場(chǎng)景下,面臨著以下諸多問題:
1、在對(duì)象大小不確定的場(chǎng)景下,需進(jìn)行補(bǔ)零和填充計(jì)算,浪費(fèi)存儲(chǔ)空間,成本較高。
2、如不補(bǔ)零, 需進(jìn)行多次覆蓋寫以保證EC成員組的原子性。會(huì)導(dǎo)致系統(tǒng)復(fù)雜度提升,吞吐量降低,需配置更快的CPU和更大的網(wǎng)絡(luò)帶寬,存儲(chǔ)成本增加。
3、此外,還有一種增加Cache-Tier的方式以避免EC時(shí)單元不滿的問題:先以3副本的形式寫入高性能的SSD Tier,湊滿EC單元后再進(jìn)行計(jì)算和搬移至HDD Tier。這種off-line的EC方式,其缺點(diǎn)有:
a)額外的SSDTier,成本高;
b)持續(xù)寫入對(duì)SSD可靠性的挑戰(zhàn);
c)數(shù)據(jù)搬移消耗大量?jī)?nèi)部帶寬。
4、傳統(tǒng)的EC在大比例N+M(如20+3)下,如果出現(xiàn)節(jié)點(diǎn)/介質(zhì)故障,就需要讀取大量數(shù)據(jù)片和校驗(yàn)片進(jìn)行數(shù)據(jù)重構(gòu),會(huì)導(dǎo)致系統(tǒng)性能陡降。
基于以上,我們可以知道,衡量一個(gè)使用EC的數(shù)據(jù)存儲(chǔ)系統(tǒng)的優(yōu)劣可以通過以下幾個(gè)維度來綜合考慮:
1、高效的空間利用率:一個(gè)系統(tǒng)能夠穩(wěn)定地提供多少空間利用率,在給定的N+M,空間利用率恒定。
2、高效的寫入性能:無論業(yè)務(wù)層如何變化,對(duì)象的大小如何變化,應(yīng)該有恒定的寫入帶寬、IOPS等。
3、高效的重構(gòu)性能:盡可能少的系統(tǒng)重構(gòu)IO帶寬,盡可能少的占用跨AZ/DC的網(wǎng)絡(luò)帶寬。
二.華為云“On-line Streaming Erasure Coding”和“Flex Erasure Coding”:
華為云OBS服務(wù)通過創(chuàng)新的“On-line Streaming Erasure Coding”和” Flex Erasure Coding”提供on-line的Erasure Coding存儲(chǔ)機(jī)制,在公有云對(duì)象存儲(chǔ)系統(tǒng)中解決了上述的幾個(gè)關(guān)鍵問題。
1、On-line Streaming Erasure Coding
如下圖所示,整系統(tǒng)的核心部件是Streaming ErasureCoding Unit, 多個(gè)對(duì)象的數(shù)據(jù)可以流入處理單元,由其進(jìn)行encoding操作。通過多個(gè)對(duì)象數(shù)據(jù)的combine,可以消除對(duì)象不滿時(shí),數(shù)據(jù)寫入補(bǔ)零計(jì)算浪費(fèi)的空間。
此過程不需要復(fù)雜低效的分布式事務(wù),也不需要讀取已經(jīng)寫入的數(shù)據(jù)。通過這個(gè)Streaming ErasureCoding Unit,提供on-line的EC機(jī)制,避免內(nèi)部的數(shù)據(jù)搬遷動(dòng)作。
2、Flex Erasure Coding算法:
華為云通過應(yīng)用全新的Flex Erasure Coding編解碼算法,在保持?jǐn)?shù)據(jù)重構(gòu)效率的基礎(chǔ)上,重構(gòu)帶寬需求大幅度降低,極大地提升了故障時(shí)數(shù)據(jù)重構(gòu)性能,有效地縮短了重構(gòu)用時(shí),保證數(shù)據(jù)的持久度和系統(tǒng)吞吐量。
通過上面2個(gè)自研算法,華為云OBS單流帶寬達(dá)到業(yè)界友商的3~5倍,超過300MB/S,超千萬并發(fā)鏈接能力,并且在高業(yè)務(wù)負(fù)荷下仍然保持穩(wěn)定低時(shí)延,整體性能和空間利用率相比多副本或傳統(tǒng)EC技術(shù)大幅提升:
在大數(shù)據(jù)應(yīng)用場(chǎng)景,由于寫放大極具減少,單流帶寬大幅提升,大數(shù)據(jù)對(duì)象case下性能倍數(shù)提升,用戶能更快地獲取數(shù)據(jù)分析結(jié)果。
在IOT場(chǎng)景,海量的IOT設(shè)備都需要實(shí)時(shí)向云端進(jìn)行數(shù)據(jù)傳輸,而OBS超千萬的并發(fā)能力,能支撐數(shù)億IOT設(shè)備的連接訪問。
在視頻應(yīng)用(視頻監(jiān)控,直播和點(diǎn)播)場(chǎng)景,華為云OBS的穩(wěn)定低時(shí)延支撐高畫質(zhì)視頻快速播放且無卡頓。
在更多的應(yīng)用場(chǎng)景中,華為云OBS 用同樣出色的表現(xiàn)證明:數(shù)學(xué)算法的優(yōu)化能讓軟件產(chǎn)品能力再次領(lǐng)先業(yè)界一個(gè)時(shí)代。
三.軟件的靈魂是算法,算法的硬核是數(shù)學(xué)
“我認(rèn)為用物理方法來解決問題已趨近飽和,要重視數(shù)學(xué)方法的突起?!薄握?/p>
正是由于華為在數(shù)學(xué)領(lǐng)域長(zhǎng)期持續(xù)的投入,讓其在云+AI+5G時(shí)代的產(chǎn)品具有領(lǐng)先的競(jìng)爭(zhēng)力。
早在1999年,華為就在俄羅斯成立了專門的算法研究所,基于俄羅斯科學(xué)家的數(shù)學(xué)能力,連續(xù)突破了3G/4G移動(dòng)網(wǎng)絡(luò)技術(shù)特殊瓶頸,使華為成為全球4G移動(dòng)網(wǎng)絡(luò)設(shè)備的領(lǐng)導(dǎo)者。而在2016年,華為再次宣布在法國(guó)設(shè)立歐洲第二個(gè)數(shù)學(xué)研究所,繼續(xù)加強(qiáng)基礎(chǔ)科學(xué)研究。
除了在俄羅斯和法國(guó)建立的數(shù)學(xué)研究所,華為還積極參與并投資包括中國(guó)在內(nèi)的全球數(shù)學(xué)家的科研項(xiàng)目,積極推動(dòng)數(shù)學(xué)研究和數(shù)學(xué)成果在產(chǎn)業(yè)的落地。在華為的長(zhǎng)期支持下,Erdal Arikan教授在Polar碼上取得了多項(xiàng)突破,最終成為5G控制信道編碼標(biāo)準(zhǔn),推動(dòng)了通信技術(shù)的發(fā)展。
而正是基于數(shù)學(xué)和其他基礎(chǔ)科學(xué)研究成果在芯片設(shè)計(jì)、集成電路開發(fā)、軟件算法和質(zhì)量管理等方面的應(yīng)用,華為才能成為ICT行業(yè)的長(zhǎng)跑選手,并且能在外部環(huán)境風(fēng)云變幻的當(dāng)下,保持著持續(xù)前行的動(dòng)力。
華為曾在其官方媒體上發(fā)表了《基礎(chǔ)研究與基礎(chǔ)教育是產(chǎn)業(yè)誕生和振興的根本》(鏈接)的文章,以官宣的方式闡述了基礎(chǔ)研究特別是數(shù)學(xué)研究對(duì)產(chǎn)業(yè)發(fā)展的貢獻(xiàn),更是提出了“數(shù)學(xué)是開啟一切的工具”的論斷。
數(shù)學(xué),是華為繼續(xù)前行指路燈,也是華為云真正的“硬核”實(shí)力。