每當(dāng)看到人工智能(也即AI),我們通常會(huì)想到機(jī)器人、自動(dòng)化、圖像語(yǔ)音或視頻識(shí)別、算法等高大上的黑科技。而對(duì)象存儲(chǔ)則給人一種低調(diào)、海量的感覺(jué)。是什么原因,讓這兩者相遇,并擦出了火花?
什么是對(duì)象存儲(chǔ)?
對(duì)象存儲(chǔ)是自包含、自愈合的智能存儲(chǔ)設(shè)備,具有容量大、速度快、擴(kuò)展靈活的特點(diǎn)。每一個(gè)對(duì)象除了存放數(shù)據(jù)本身之外,還存放了標(biāo)識(shí)符和數(shù)據(jù)的元信息,例如創(chuàng)建的日期和時(shí)間,屬主,大小,索引,保留周期,QoS等。對(duì)象本身使得數(shù)據(jù)的組織得到了簡(jiǎn)化,避免了傳統(tǒng)存儲(chǔ)文件目錄樹(shù)形結(jié)構(gòu)的復(fù)雜。對(duì)象的存放是扁平化地方式保存在bucket(桶)中的,變得更簡(jiǎn)單。而且對(duì)象的元信息,也方便了檢索。
拿生活中常見(jiàn)的例子來(lái)比喻,當(dāng)圖書(shū)館購(gòu)進(jìn)新的紙質(zhì)書(shū)籍需要存放時(shí),需要按照?qǐng)D書(shū)分類(lèi)法(按照?qǐng)D書(shū)的內(nèi)容、形式、體裁和讀者用途等進(jìn)行分類(lèi)),清楚地知道大類(lèi)、子類(lèi)和更詳細(xì)的分類(lèi),才能找到合適的位置上架。文件存儲(chǔ)的數(shù)據(jù)存放就類(lèi)似圖書(shū)分門(mén)別類(lèi)地存放,如下圖。
類(lèi)比:文件存儲(chǔ)的數(shù)據(jù)存放方式就像圖書(shū)分類(lèi)
當(dāng)我們逛超市需要存包的時(shí)候,盡管有那么多儲(chǔ)物柜,但是大家都覺(jué)得存取包很簡(jiǎn)單。存的時(shí)候,按一下存包按鍵,啪的一聲,一個(gè)柜子打開(kāi),同時(shí)你會(huì)得到包含二維碼的紙條,你把包放到柜子里,但是不用記住柜子的位置和編號(hào),瀟灑的離開(kāi)。當(dāng)你取包的時(shí)候,你刷一下二維碼,也是啪的一聲,放包的柜子自動(dòng)打開(kāi),所存物品唾手可得。對(duì)象存儲(chǔ)的數(shù)據(jù)存放方式就和超市存取包很類(lèi)似,存儲(chǔ)對(duì)象的標(biāo)識(shí)符就相當(dāng)于那個(gè)二維碼。
類(lèi)比:對(duì)象存儲(chǔ)的數(shù)據(jù)存放方式就像超市存包
下圖是對(duì)象存儲(chǔ)的一些特點(diǎn)。
對(duì)象存儲(chǔ)特點(diǎn)
不過(guò),我們需要注意的是,文件存儲(chǔ)和對(duì)象存儲(chǔ)有著各自適用的場(chǎng)景。下圖列出了分布式文件存儲(chǔ)和分布式對(duì)象存儲(chǔ)的區(qū)別:
分布式文件存儲(chǔ)與分布式對(duì)象存儲(chǔ)的區(qū)別
當(dāng)文件數(shù)量級(jí)過(guò)億的時(shí)候,文件目錄樹(shù)形結(jié)構(gòu)會(huì)對(duì)數(shù)據(jù)的讀寫(xiě)造成巨大的挑戰(zhàn),例如在linux中如果用ls查看文件,可能都要等待幾十分鐘以上。但是,量級(jí)沒(méi)有如此之大時(shí),因?yàn)檫^(guò)去的使用習(xí)慣,以及相對(duì)成熟的生態(tài),使用文件存儲(chǔ)還是不錯(cuò)的選擇。
如何避免錯(cuò)誤理解對(duì)象存儲(chǔ)
當(dāng)我們談對(duì)象存儲(chǔ)時(shí),需要注意討論的是存儲(chǔ)接口,還是內(nèi)部數(shù)據(jù)組織形式。
1)實(shí)際上,討論對(duì)象存儲(chǔ)大多數(shù)是指存儲(chǔ)接口,是否支持RestFul或S3,也即對(duì)象接口的形式來(lái)訪(fǎng)問(wèn)存儲(chǔ)空間。
2)少數(shù)情況下,對(duì)象存儲(chǔ)指存儲(chǔ)設(shè)備的內(nèi)部數(shù)據(jù)組織形式。在數(shù)據(jù)猛增的背景下,越來(lái)越多的存儲(chǔ)設(shè)備內(nèi)部采用對(duì)象存儲(chǔ)的這種內(nèi)部數(shù)據(jù)組織形式。例如VMwarevSAN,其實(shí)是是一種基于服務(wù)器端存儲(chǔ)的共享分布式對(duì)象存儲(chǔ)系統(tǒng),只不過(guò)存儲(chǔ)接口主要采用的是SCSI方式;或者具備高可靠、高性能、高安全和易管理的浪潮AS13000,如下圖。
浪潮AS13000G5的對(duì)象存儲(chǔ)功能
AI與對(duì)象存儲(chǔ)
在許多人的印象中,AI需要大量的算力,是計(jì)算密集型的典型應(yīng)用。而對(duì)象存儲(chǔ)大多時(shí)候用于海量非結(jié)構(gòu)化數(shù)據(jù)的存放,備份歸檔,云存儲(chǔ)、企業(yè)云盤(pán)、文檔影像或視頻的存儲(chǔ)等。從存儲(chǔ)特征來(lái)看,對(duì)象存儲(chǔ)的延遲可能較難滿(mǎn)足AI的性能需求;從使用習(xí)慣來(lái)看,大多數(shù)AI用戶(hù)都是采用文件接口。
實(shí)際上,有計(jì)算,就會(huì)有存儲(chǔ),只是或多或少,或快或慢,或過(guò)渡或長(zhǎng)期保存的區(qū)別。
在微信公眾號(hào)浪潮存儲(chǔ)《2020:下一個(gè)十年,存儲(chǔ)發(fā)展的趨勢(shì)是什么》上篇也即鑒往事篇一文中,曾提到:
AI所需存儲(chǔ),可以分為準(zhǔn)備、訓(xùn)練、推理和歸檔等階段,每個(gè)階段的IO特征不一樣,對(duì)于存儲(chǔ)的要求也不一樣。例如,在推理階段,IO的特征是讀寫(xiě)混合,并且要求存儲(chǔ)的延時(shí)低,能快速響應(yīng)。
下圖列出了AI各個(gè)階段的IO特征,及其對(duì)存儲(chǔ)的要求。
AI各個(gè)階段的IO特征及存儲(chǔ)需求
綜合考慮用戶(hù)使用習(xí)慣、性?xún)r(jià)比、性能和容量,如果能夠取得一個(gè)平衡的話(huà),對(duì)象存儲(chǔ)能夠用在AI的多個(gè)不同階段中,如提取、準(zhǔn)備、訓(xùn)練、歸檔等。
NVIDIA收購(gòu)SwiftStack用來(lái)做什么呢?
首先,我們來(lái)看一下做為事實(shí)上的標(biāo)準(zhǔn)的AWSS3,從骨子里說(shuō),它代表的對(duì)象存儲(chǔ),是一種在線(xiàn)的海量數(shù)據(jù)較低成本的存儲(chǔ)方式,適合跨地域讀寫(xiě);因此,雖然備份歸檔是對(duì)象存儲(chǔ)的使用場(chǎng)景之一,但只是做備份歸檔,其實(shí)是委屈了對(duì)象存儲(chǔ)。
其次,對(duì)象存儲(chǔ)的高并發(fā),特別適合前端呈現(xiàn)分布式負(fù)載的場(chǎng)景。AI場(chǎng)景的使用,包括AI訓(xùn)練、AI推理,是由許許多多個(gè)任務(wù)并發(fā)進(jìn)行的,任務(wù)與任務(wù)之間幾乎沒(méi)有數(shù)據(jù)的交互,因此很少考慮存儲(chǔ)通常要顧及的寫(xiě)一致性。
因此,在我們看來(lái),NVIDIA收購(gòu)SwiftStack或許有如下幾個(gè)原因:
1)NVIDIA欲整合AI基礎(chǔ)架構(gòu)
NVIDIA是一個(gè)非常注重生態(tài)的公司,它的版圖里應(yīng)該不僅僅是計(jì)算以及衍生出來(lái)的各個(gè)組件,從近兩年的動(dòng)作來(lái)看,NVIDIA想整合整個(gè)AI基礎(chǔ)架構(gòu)。2019年3月11日NVIDIA以69億美元收購(gòu)Mellanox;2020年3月6日宣布收購(gòu)SwiftStack。
2)SwiftStack具備數(shù)據(jù)跨云管理和高并發(fā)的優(yōu)勢(shì)
據(jù)報(bào)道:"ManuvirDas表示,NVIDIA尤其喜歡SwiftStack的1space技術(shù),該技術(shù)可以為忙于處理緩存和分層等任務(wù)的GPU助一臂之力。
SwiftStackV7于2019年發(fā)布,提供數(shù)PB的規(guī)模,可處理數(shù)千個(gè)worker節(jié)點(diǎn)同時(shí)訪(fǎng)問(wèn)數(shù)據(jù)的任務(wù)。它提供了超過(guò)100GB/秒的吞吐速度,性能和容量都能實(shí)現(xiàn)線(xiàn)性擴(kuò)展。
1space是NVIDIA收購(gòu)Swiftstack的主要原因,這是一種文件連接件,使云原生應(yīng)用程序可以通過(guò)S3或Swift對(duì)象API訪(fǎng)問(wèn)本地?cái)?shù)據(jù)或AWS數(shù)據(jù),并可以確保不斷向數(shù)據(jù)提供計(jì)算資源”
我個(gè)人認(rèn)為,AI訓(xùn)練有個(gè)特點(diǎn),它一次性將原始訓(xùn)練集的數(shù)據(jù)加載到計(jì)算節(jié)點(diǎn)的內(nèi)存或者SSD后,需要經(jīng)過(guò)一段較長(zhǎng)的時(shí)間(也即計(jì)算或說(shuō)訓(xùn)練),才會(huì)再次讀取存儲(chǔ)上的數(shù)據(jù)。因此,對(duì)象存儲(chǔ)的延遲可能不會(huì)構(gòu)成障礙,這一點(diǎn)可以通過(guò)高并發(fā)來(lái)彌補(bǔ)。
3)還可將SwiftStack用于數(shù)據(jù)提取,或者數(shù)據(jù)歸檔階段。海量的數(shù)據(jù),采用對(duì)象存儲(chǔ)是一個(gè)不錯(cuò)的選擇。
4)維護(hù)原有使用習(xí)慣
NVIDIA內(nèi)部大量使用SwiftStack來(lái)存儲(chǔ)數(shù)據(jù),幾年下來(lái),習(xí)慣已經(jīng)養(yǎng)成,而且猜測(cè)數(shù)據(jù)量也非常龐大。通過(guò)收購(gòu)SwiftStack,以免未來(lái)受人制肘,也是有可能的。
無(wú)論如何,對(duì)象存儲(chǔ)在云計(jì)算和AI迅猛普及的情況下,一定會(huì)迎來(lái)它的春天。IDC中國(guó)SDS市場(chǎng)數(shù)據(jù)顯示,2019年對(duì)象存儲(chǔ)增長(zhǎng)率55.3%,是中國(guó)軟件定義存儲(chǔ)市場(chǎng)里增速快的細(xì)分領(lǐng)域。
在中國(guó)的對(duì)象存儲(chǔ)市場(chǎng)中,浪潮的AS13000做出了貢獻(xiàn)。2019年,AS13000對(duì)象存儲(chǔ)成功地在某銀行(國(guó)內(nèi)排名前15)總行的影像系統(tǒng)中部署,并實(shí)現(xiàn)了同城容災(zāi)功能。如下圖所示:
浪潮AS13000對(duì)象存儲(chǔ)的實(shí)際案例
浪潮分布式存儲(chǔ)在不斷迭代的過(guò)程中,除了前面提到的同城容災(zāi)之外,還開(kāi)發(fā)了大量的其他高級(jí)特性。一是小對(duì)象聚合。浪潮對(duì)象存儲(chǔ)針對(duì)海量小文件場(chǎng)景,通過(guò)小對(duì)象聚合,節(jié)約HDD的磁盤(pán)IO,提升存儲(chǔ)效率。二是讀Cache加速。在卡口圖片、AI計(jì)算場(chǎng)景,通過(guò)讀Cache加速提升數(shù)據(jù)讀取效率。三是元數(shù)據(jù)檢索。在存儲(chǔ)系統(tǒng)內(nèi)集成索引引擎,實(shí)現(xiàn)根據(jù)對(duì)象元數(shù)據(jù)多條件模糊檢索對(duì)象的技術(shù),有效地提升了海量非結(jié)構(gòu)化數(shù)據(jù)中“大海撈針”的效率。四是企業(yè)級(jí)WORM,滿(mǎn)足企業(yè)客戶(hù)數(shù)據(jù)的法規(guī)性要求,結(jié)合應(yīng)用特點(diǎn),靈活設(shè)置寬限期和保護(hù)期。此外,還有存儲(chǔ)OS加固、桶策略配置等等。
展望未來(lái)
受“新冠疫情”影響,在線(xiàn)化、數(shù)字化、分散化、自動(dòng)化等新形態(tài)新模式,也對(duì)AI、大數(shù)據(jù)中心(含計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)和安全)等的發(fā)展提出了迫切的需求。
疫情趨勢(shì)預(yù)測(cè)、風(fēng)險(xiǎn)預(yù)警、醫(yī)療資源和物質(zhì)的預(yù)測(cè)和調(diào)配,要做到快速、準(zhǔn)確、科學(xué)的判斷,需要和AI結(jié)合。
另外,非接觸的服務(wù)和工作、自動(dòng)化、快速分析決策和響應(yīng)的需求等,將會(huì)爆發(fā)。例如,人臉識(shí)別(包括免摘口罩的人臉識(shí)別)、AI輔助診斷、應(yīng)急管理、安防監(jiān)控、知識(shí)圖譜、基因研究、醫(yī)藥研發(fā)、金融服務(wù)、智能配送、各行各業(yè)的無(wú)人值守(例如零售)、物流運(yùn)輸、個(gè)人畫(huà)像、軌跡追蹤、輿情分析等等。
我們相信,作為新基建的一部分,包含AI和存儲(chǔ)在內(nèi)的信息基礎(chǔ)設(shè)施將迎來(lái)更好更快的發(fā)展。