目前CPU的速度已經(jīng)很快了,但是我們近年來面臨的一個大問題是想辦法最大限度地減少等待時間,快速獲取結(jié)果,從而使系統(tǒng)整體效率保持在最佳水平。最近的熔斷和幽靈漏洞不僅帶來了很多安全問題,從另一方面,它們也暴露了現(xiàn)代CPU的工作原理、優(yōu)化程度以及數(shù)據(jù)損耗問題。
傳統(tǒng)的通過CPU優(yōu)化數(shù)據(jù)流的方法已經(jīng)達(dá)到了極限,目前大家開始將方向轉(zhuǎn)移到用存儲平臺運(yùn)行某些計算任務(wù)。
將數(shù)據(jù)和CPU緊密結(jié)合
多年來,由于技術(shù)發(fā)展的限制,存儲行業(yè)只能通過緩存和自動分層來加速存儲訪問。不過這種辦法是在成本和效率之間的折中,延遲和吞吐量并不能完全滿足CPU、RAM和網(wǎng)絡(luò)的需求。
閃存改變了這一狀況,其延遲、吞吐量和IOPS都不是問題,閃存的出現(xiàn)讓數(shù)據(jù)比以往任何時候都要接近CPU。如:NVMe消除了傳統(tǒng)接口的復(fù)雜性和局限性,現(xiàn)在則可以將存儲設(shè)備直接連接到服務(wù)器的PCIe總線。
最近,隨著新型存儲設(shè)備的引入,延遲大幅降低,已經(jīng)可以滿足CPU對延遲的要求。但是問題解決了嗎?并不完全是。
現(xiàn)在我們面臨的問題是數(shù)據(jù)大量增加,并且增長速度極快,數(shù)據(jù)在大型共享設(shè)備之間進(jìn)行傳輸?shù)臅r候產(chǎn)生了新的瓶頸,如網(wǎng)絡(luò)帶寬。當(dāng)硬件出現(xiàn)故障時更會引發(fā)一系列別的問題。目前廣泛使用的仍然是橫向擴(kuò)展架構(gòu),這種架構(gòu)增加了延遲,并且使數(shù)據(jù)遷移變得更加復(fù)雜,成本更高。
讓CPU更接近數(shù)據(jù)
之前就有人提出將CPU任務(wù)卸載到存儲基礎(chǔ)架構(gòu)這一概念,自從RAID控制器及其提供的數(shù)據(jù)服務(wù)興起依賴,這一概念更是得到了廣泛應(yīng)用。例如卷克隆之類的功能都是通過在陣列內(nèi)部復(fù)制數(shù)據(jù)來消除服務(wù)器和存儲陣列之間的流量。
現(xiàn)在芯片技術(shù)發(fā)展很快,通過在設(shè)備上執(zhí)行一些過去在CPU上執(zhí)行的一些計算任務(wù)可以減少數(shù)據(jù)遷移,節(jié)省帶寬,提高整體并行性從而提高整個系統(tǒng)的效率。
我們無法將最新的Intel X86 CPU和小型雙核ARM設(shè)備進(jìn)行比較,但是我們可以擁有數(shù)十個小的CPU,通過足夠的RAM和連接讓他們執(zhí)行許多簡單的任務(wù)。由存儲設(shè)備執(zhí)行的這些操作可以將數(shù)據(jù)保持在本地,將延遲降到最低,同時可以提高整體并行性和系統(tǒng)效率。另外由于故障域較小,可以提高整個基礎(chǔ)架構(gòu)的可擴(kuò)展性。
OpenIO是一家計算存儲公司,它們把開源軟件運(yùn)行在標(biāo)準(zhǔn)的硬件上,已經(jīng)在計算存儲方面取得了巨大進(jìn)展,nano-node就是一個例子。
最近,OpenIO正在與硬件公司合作,工作成果很快就可以展示出來。目前一些初創(chuàng)公司已經(jīng)在設(shè)計旨在加速特定工作負(fù)載的計算存儲設(shè)備,不過這只是一個開始。這方面的明星創(chuàng)業(yè)公司包括ScaleFlux和NGD System。
Serverless成為計算存儲的關(guān)鍵
為了使計算存儲能夠廣泛使用,我們必須將它簡單化。目前最簡單的編程模型就是Serverless計算。
其函數(shù)是一小段代碼,它的運(yùn)行時間很短,通常由事件觸發(fā)。它們通常對底層硬件一無所知。另外對象存儲非常適合Serverless計算。如果有支持KV存儲的SSD,就更方便了。
計算存儲的過程非常簡單。設(shè)備讀取或刪除的每個數(shù)據(jù)位都可以創(chuàng)建可觸發(fā)功能的事件。功能暫時存在于緩存容器中,并執(zhí)行簡單的任務(wù),如檢查數(shù)據(jù)的有效性,過濾不必要的信息,掃描特定的模式,甚至進(jìn)行更復(fù)雜的操作,如圖像識別,視頻采樣等。應(yīng)用程序范圍很廣,這樣就可以通過隱藏基礎(chǔ)架構(gòu)的復(fù)雜性來解決可伸縮性問題。
開發(fā)人員只需編寫于特定文件類型、事件或操作相關(guān)聯(lián)的幾行代碼即可,存儲結(jié)構(gòu)件在有需要時部署此代碼完成相應(yīng)的工作。
讓CPU接近數(shù)據(jù)和讓數(shù)據(jù)接近CPU還是有很大不同的。
未來已來
目前這些設(shè)備已經(jīng)可以投入使用,而且這些強(qiáng)大的開發(fā)軟件是開源的。
我們堅信對象存儲和Serverless計算的結(jié)合是對可擴(kuò)展性,性能優(yōu)化和效率問題的最好解決方案。對象存儲帶來了可靠的分布式存儲層,Serverless計算以輕量級和超級擴(kuò)展的方式在本地對數(shù)據(jù)進(jìn)行操作,這不止是超融合(hyperconvergence)。
可惜的是上述模型僅僅適用于非結(jié)構(gòu)化數(shù)據(jù),不過一些初創(chuàng)公司已經(jīng)采取類似的方法在具有嵌入式計算功能的主板設(shè)備上進(jìn)行計算工作。
閉環(huán)操作
計算存儲還沒有被廣泛使用,目前它只被應(yīng)用于大規(guī)模基礎(chǔ)設(shè)施中。但是相關(guān)應(yīng)用程序的數(shù)量正在迅速增長。如工業(yè)物聯(lián)網(wǎng)和邊緣計算需要簡單但功能強(qiáng)大的基礎(chǔ)設(shè)施,同時必須具有持久、可靠的傳感器數(shù)據(jù)存儲,還需要CPU來驗證數(shù)據(jù),對其進(jìn)行優(yōu)化,同時決定應(yīng)將那些內(nèi)容發(fā)送到用于長期存儲,大數(shù)據(jù)分析或其他操作的云。
在不久的將來,隨著價格的降低和閃存技術(shù)的成熟,相信我們會看到越來越多的計算存儲設(shè)備和無服務(wù)器框架,納米節(jié)點、微服務(wù)器和專用PCIe卡只是一個開始。
-
cpu
+關(guān)注
關(guān)注
68文章
10807瀏覽量
210851 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6819瀏覽量
88745 -
serverless
+關(guān)注
關(guān)注
0文章
65瀏覽量
4490
原文標(biāo)題:把CPU放到存儲中:提升計算存儲性能
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論