流式基礎(chǔ)設(shè)施--云基礎(chǔ)設(shè)施的未來(lái)

軟件正在吞噬一切,云正在吞噬一切。
作為云服務(wù)基礎(chǔ)設(shè)施供應(yīng)商,靈活性將成為第一原則,整個(gè)云基礎(chǔ)設(shè)施將圍繞提供更強(qiáng)的靈活性而架構(gòu)。
無(wú)論是中心云還是邊緣云,其目標(biāo)都是為了提高資源(計(jì)算、存儲(chǔ)、網(wǎng)絡(luò))的有效利用和調(diào)度,讓應(yīng)用可以隨時(shí)隨地隨需的訪問(wèn)到所需的資源,真正實(shí)現(xiàn)IT資源的基礎(chǔ)設(shè)施化。
這篇文章介紹了對(duì)于未來(lái)更靈活的基礎(chǔ)設(shè)施的一些思考和可能的原則,原文鏈接:THE FUTURE OF INFRASTRUCTURE IS FLUID

以下為正文:

靈活性就是力量,一種比蠻力更巧妙的力量。

當(dāng)今所有系統(tǒng)(無(wú)論是運(yùn)輸系統(tǒng)、食品生產(chǎn)系統(tǒng),還是世界上數(shù)百萬(wàn)公司的數(shù)據(jù)中心)幾乎都會(huì)被一件事情所困擾,那就是靜態(tài)資源規(guī)劃。系統(tǒng)架構(gòu)師必須進(jìn)行容量規(guī)劃,并提前以不同的形式和規(guī)模提供冗余容量。

如果我們不用再這么做了呢?如果從應(yīng)用程序的角度來(lái)看,服務(wù)器是真正邏輯化的、可擴(kuò)展的、幾乎是無(wú)限可配置的,那會(huì)怎么樣呢?那意味著我們不單單可以將一些大型業(yè)務(wù)邏輯切分成小塊的(就像服務(wù)器虛擬化和容器化那樣),并以不同的工作負(fù)載跑在不同的機(jī)器上,從而提升整個(gè)系統(tǒng)的利用率,而且可以在需要的時(shí)候動(dòng)態(tài)組合出一臺(tái)大型機(jī)器。如果計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)資源都可以提供這種可組合性,那會(huì)怎么樣呢?

這就是我們所期待的未來(lái)——也許在下一個(gè)下一代平臺(tái),或者下下個(gè)下一代平臺(tái),但距離已經(jīng)足夠近了,我們甚至可以看到它模糊的身影已經(jīng)出現(xiàn)。

過(guò)去,人們不談?wù)摲?wù)器。在互聯(lián)網(wǎng)商業(yè)化以及它所代表的分布式計(jì)算技術(shù)以及信息技術(shù)出現(xiàn)之前,數(shù)據(jù)處理行業(yè)的人談?wù)摰氖窍到y(tǒng),主要是指一個(gè)單一的、擁有完整計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源的、可以完成一項(xiàng)或多項(xiàng)任務(wù)的系統(tǒng)。這個(gè)系統(tǒng)也許在白天運(yùn)行一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)、處理在線事務(wù),在晚上大家都睡著的時(shí)候,運(yùn)行批量賬單報(bào)表或分析報(bào)告。服務(wù)器這個(gè)術(shù)語(yǔ)是恰當(dāng)?shù)模ǔ1焕斫鉃橥ㄓ孟到y(tǒng)的一部分,當(dāng)然對(duì)于很多小企業(yè)來(lái)說(shuō),一個(gè)服務(wù)器就可以是整個(gè)公司的所有系統(tǒng)。

這種物理服務(wù)器是完全獨(dú)立的,具有確定數(shù)量和種類的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)能力。雖然可以在一定范圍內(nèi)調(diào)整資源數(shù)量,但仍然受限于服務(wù)器支持的CPU插槽和I/O通道的數(shù)量,只能在一個(gè)相對(duì)固定的范圍內(nèi)調(diào)整。另外,我們也可以把這些東西和NUMA芯片組綁定在一起來(lái)創(chuàng)建一個(gè)大型系統(tǒng),從而擁有更多資源,但這仍然是有限制的,而且創(chuàng)建大型共享內(nèi)存系統(tǒng)的成本是非常高的。很多高性能計(jì)算(HPC)、人工智能和數(shù)據(jù)存儲(chǔ)應(yīng)用需要?jiǎng)?chuàng)建或消費(fèi)數(shù)量巨大的數(shù)據(jù)集,這些數(shù)據(jù)集是如此之大,只能被分散在集群中的多臺(tái)機(jī)器上,通過(guò)MPI或其他一些應(yīng)用服務(wù)或內(nèi)存共享機(jī)制以一種相當(dāng)松散的方式組合在一起。還有一些工作負(fù)載,如Web服務(wù)和移動(dòng)應(yīng)用服務(wù),在并行處理上稍微有點(diǎn)尷尬,因?yàn)檫@種工作負(fù)載雖然可以在計(jì)算層面上并行,但卻需要在存儲(chǔ)或數(shù)據(jù)庫(kù)訪問(wèn)層進(jìn)行耦合。最終,IT企業(yè)試圖確定運(yùn)行特定工作負(fù)載需要的一臺(tái)(或者多臺(tái))物理服務(wù)器的特定規(guī)格和容量。

將來(lái),我們就不需要在乎這些了。我們通過(guò)可切割、可組合的基礎(chǔ)設(shè)施,像搭樂(lè)高玩具一樣將系統(tǒng)的不同模塊連接在一起,就像畫一個(gè)帶有自己數(shù)據(jù)結(jié)構(gòu)的流程圖一樣。

將來(lái),我們不需要在服務(wù)器級(jí)別提供冗余資源(但可能在數(shù)據(jù)中心級(jí)別還需要一些冗余),甚至不會(huì)像現(xiàn)在的公有云那樣創(chuàng)建預(yù)先配置的虛擬機(jī)實(shí)例類型。以前,我們有來(lái)自O(shè)EM和ODM的數(shù)千種可用的物理服務(wù)器配置,現(xiàn)在,我們有來(lái)自大型公有云的數(shù)千種實(shí)例類型,天知道在本地云設(shè)備中有多少VM類型。這是一種進(jìn)步,因?yàn)槎嘣苹A(chǔ)設(shè)施有助于將組件的利用率提升到峰值的60%甚至70%,既留有一定冗余,同時(shí)還節(jié)約了30%到40%的經(jīng)費(fèi),可以買點(diǎn)別的東西,比方說(shuō)冷卻系統(tǒng)啥的。

在我們夢(mèng)想中的輝煌世界里,宇宙的中心將是一個(gè)DPU,它將計(jì)算和存儲(chǔ)引擎的網(wǎng)絡(luò)訪問(wèn)虛擬化。不,我們沒(méi)有說(shuō)反。掛在DPU上的是串行處理器,內(nèi)存大但處理速度慢,我們稱之為CPU。這些串行CPU將混合使用內(nèi)存插槽中的DDR和PMEM內(nèi)存,甚至?xí)旌鲜褂眯∪萘俊⒖焖俚腍BM內(nèi)存,以加速某些功能。這些DPU擁有PCIe接口,甚至PCIe交換機(jī),可以和一組串行CPU或者并行GPU直連,訪問(wèn)它們的HBM內(nèi)存,或者連接到FPGA數(shù)據(jù)流加速器以及訪問(wèn)它們的DDR、HBM內(nèi)存。PCIe交換機(jī)可以將這些設(shè)備鏈接到本地存儲(chǔ),比如NVMe閃存、Optane或其他PCM持久化存儲(chǔ)器。在理想情況下,本地存儲(chǔ)或者跨節(jié)點(diǎn)存儲(chǔ)都可以通過(guò)PCIe網(wǎng)絡(luò)訪問(wèn)。大量存儲(chǔ)設(shè)備可以組成存儲(chǔ)池,或者稱之為內(nèi)存服務(wù)器,可以通過(guò)不同的存儲(chǔ)協(xié)議(快速光交換互聯(lián)協(xié)議、Gen-Z協(xié)議或者類似IBM正在做的Powqer10處理器及其內(nèi)存區(qū)域網(wǎng)絡(luò))遠(yuǎn)程訪問(wèn)。

讓我們?cè)偕晕⑻接懸幌隆N覀兇蠖鄶?shù)人談到可分割和可組合時(shí),考慮一下CPU、內(nèi)存、存儲(chǔ)和I/O的物理分割,可以用位于固件和中間件之間的某個(gè)模塊對(duì)它們進(jìn)行重組。解耦CPU和內(nèi)存是很有用的,但由于一些復(fù)雜的原因,這是最難完成的任務(wù)。

我們已經(jīng)意識(shí)到,也許所有這些組件都可以像以前一樣塞到一個(gè)服務(wù)器中,或者可以通過(guò)PCIe、高速InfiniBand或以太網(wǎng)進(jìn)行組合,提供類似在一個(gè)服務(wù)器中的使用體驗(yàn)。例如,使用NVMe閃存,我們可以訪問(wèn)服務(wù)器內(nèi)具有與本地閃存相同延遲的任何外部閃存。所以誰(shuí)會(huì)在乎它到底在哪兒呢?同樣的道理也適用于其他設(shè)備和各種互聯(lián)設(shè)施。也許你可以創(chuàng)建一個(gè)只有CPU的應(yīng)用服務(wù)器,一個(gè)有一些CPU和閃存的存儲(chǔ)服務(wù)器,一個(gè)有很多GPU或FPGA的加速服務(wù)器,然后使用軟件(比如GigaIO、Liquid和TidalScale提供的在網(wǎng)絡(luò)上創(chuàng)建任何大小和各種類型的加速節(jié)點(diǎn)的NUMA系統(tǒng))把這些服務(wù)器組合起來(lái)。這臺(tái)邏輯“服務(wù)器”可以很好地將所有元素都囊括在一個(gè)物理服務(wù)器中,或者分布在多個(gè)物理服務(wù)器上。這就像把所有CPU和它們的內(nèi)存都放在一個(gè)機(jī)架中,所有GPU放在另一個(gè)機(jī)架中,所有FPGA放在它們自己的機(jī)架中,所有閃存放在另一個(gè)機(jī)架中,然后通過(guò)四個(gè)機(jī)架組成一臺(tái)服務(wù)器。只要PCIe總線能把它們?cè)谶壿嬤B接在一起,誰(shuí)又在乎它們?cè)谖锢砩系奈恢媚兀?/p>

當(dāng)我們思考流式基礎(chǔ)設(shè)施的未來(lái)時(shí),我們看到了一些原則。

通用性很重要,只是不再局限于X86 CPU。沒(méi)有什么比買一件非常昂貴但只適合一種用途的東西更糟糕的了。我們堅(jiān)信任何設(shè)備都可以用于多種不同的工作,只不過(guò)有時(shí)候?qū)τ谀撤N工作的表現(xiàn)可能不是最好的。系統(tǒng)架構(gòu)師必須根據(jù)運(yùn)行時(shí)間、開銷和工作負(fù)載進(jìn)行優(yōu)化,擁有最快、最專用的ASIC可能不如擁有一個(gè)更通用的設(shè)備來(lái)的更重要,通用設(shè)備可以適應(yīng)不斷變化的場(chǎng)景。一個(gè)設(shè)備能做的事情越多越好,這就是為什么我們喜歡CPU和FPGA,以及為什么我們也喜歡Nvidia的Ampere A100加速器,它可以很好地進(jìn)行可視化、虛擬桌面、機(jī)器學(xué)習(xí)推理、機(jī)器學(xué)習(xí)訓(xùn)練、數(shù)據(jù)庫(kù)加速,以及高性能計(jì)算仿真和建模。

只在有必要時(shí)使用硬件,否則盡量使用軟件。只要可能,計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)功能都應(yīng)該在能夠提供合理性能的軟件中實(shí)現(xiàn)。如果你必須要加速某些東西,那就使用最通用、可塑性最強(qiáng)的計(jì)算引擎或ASIC來(lái)完成。這可能意味著我們要堅(jiān)持使用CPU、GPU甚至FPGA來(lái)實(shí)現(xiàn)某些功能。

不要在數(shù)據(jù)中心里部署任何私有設(shè)備。這是上述原理的必然結(jié)果。在任何可能的地方,將控制面與應(yīng)用面和數(shù)據(jù)面分離。使用存儲(chǔ)層、網(wǎng)絡(luò)層、虛擬化層或容器層,盡可能多地跨越架構(gòu)。不要鼓勵(lì)私有行為,也不要把自己鎖定在私有設(shè)備里。

確保每個(gè)計(jì)算和存儲(chǔ)設(shè)備都可以訪問(wèn)網(wǎng)絡(luò)。無(wú)論把設(shè)備放在哪里,都不要孤立的是用那個(gè)它們。支持各種各樣的網(wǎng)絡(luò)連接協(xié)議可以擴(kuò)大設(shè)備的實(shí)用性,提高設(shè)備的利用率。不要吝惜聯(lián)網(wǎng),要意識(shí)到聯(lián)網(wǎng)的成本應(yīng)該是一個(gè)完整系統(tǒng)價(jià)值的四分之一,因?yàn)槁?lián)網(wǎng)將使利用率從25%或30%提高到接近60%或70%。如果你能正確的連接,你將會(huì)購(gòu)買更少的硬件并在更短的時(shí)間內(nèi)完成更多的工作。

現(xiàn)在就可以開始驗(yàn)證,盡早向可組合基礎(chǔ)設(shè)施供應(yīng)商提供反饋。這也許是最重要的事情。雖然可分割和可組合性仍處于起步階段,但正在迅速成熟,現(xiàn)在是在競(jìng)爭(zhēng)對(duì)手之前開始掌握這項(xiàng)技術(shù)的時(shí)候了。我們可以幫助推動(dòng)系統(tǒng)架構(gòu)往我們想要的方向發(fā)展,在這過(guò)程中我們也可以有所收獲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容