編者按
三大運(yùn)營(yíng)商都在積極地推廣“算力網(wǎng)絡(luò)”的相關(guān)技術(shù)概念落地,互聯(lián)網(wǎng)公司有類似的概念叫“分布式云”。個(gè)人理解,兩個(gè)概念的技術(shù)實(shí)現(xiàn)基本相同,不同點(diǎn)在于:算力網(wǎng)絡(luò)站在基礎(chǔ)計(jì)算環(huán)境的視角,著眼于算力資源的整合;分布式云從業(yè)務(wù)服務(wù)的視角,著眼于計(jì)算以何種形式提供。
今天這篇文章,拋磚引玉,探討一下宏觀視角的算力網(wǎng)絡(luò)的底層算力體系。
1、算力網(wǎng)絡(luò)和分布式云的概念
Garnter 2021年發(fā)布的戰(zhàn)略技術(shù)趨勢(shì),將分布式云(Distributed Cloud)列為云計(jì)算的重要戰(zhàn)略技術(shù)趨勢(shì)。分布式云的定義:將公有云服務(wù)分布到不同的物理位置(即邊緣),而服務(wù)的所有權(quán)、運(yùn)營(yíng)、治理、更新和發(fā)展仍然由原始公有云提供商負(fù)責(zé)。解決客戶讓云計(jì)算資源靠近數(shù)據(jù)和業(yè)務(wù)活動(dòng)發(fā)生的物理位置的需求。分布式云是整合公有云、私有云和邊緣云在一起,核心思想是,讓公有云的全棧服務(wù)能力延伸到最靠近用戶所需的地方。分布式云,本質(zhì)上是一朵云,由云負(fù)責(zé)調(diào)配計(jì)算資源。雖然中間需要網(wǎng)絡(luò),但是網(wǎng)絡(luò)主要是承擔(dān)管道的角色。
按照運(yùn)營(yíng)商的觀點(diǎn),算力網(wǎng)絡(luò)是云網(wǎng)協(xié)同和分布式云的升級(jí)版,指的是:在計(jì)算能力不斷泛在化發(fā)展的基礎(chǔ)上,通過(guò)網(wǎng)絡(luò)手段將計(jì)算、存儲(chǔ)等基礎(chǔ)資源在云-邊-端之間進(jìn)行有效調(diào)配的方式,以此提升業(yè)務(wù)服務(wù)質(zhì)量和用戶的服務(wù)體驗(yàn)。算力網(wǎng)絡(luò)中的網(wǎng)絡(luò)非常關(guān)鍵:網(wǎng)絡(luò)是用戶去往算力資源的必經(jīng)之路,也是用戶發(fā)起業(yè)務(wù)需求的入口,通過(guò)網(wǎng)絡(luò)調(diào)配算力。
站在用戶業(yè)務(wù)的角度,分布式云和算力網(wǎng)絡(luò)的目標(biāo)是一致的:云網(wǎng)邊端從協(xié)同走向融合。算力網(wǎng)絡(luò)是網(wǎng)絡(luò)擁有者為滿足這類需求,提出的方案;分布式云是云計(jì)算廠商為滿足同樣的需求,提出的方案。從趨勢(shì)看,兩種方式是既合作又競(jìng)爭(zhēng)的關(guān)系,隨著未來(lái)技術(shù)和業(yè)務(wù)的不斷發(fā)展,兩種方式會(huì)逐漸趨于統(tǒng)一。
2、從計(jì)算形態(tài)看算力網(wǎng)絡(luò)
2.1 計(jì)算機(jī)的資源分類
在傳統(tǒng)CPU的計(jì)算機(jī)架構(gòu)里,計(jì)算機(jī)資源主要分為三類:CPU、內(nèi)存和外設(shè)。在異構(gòu)和超異構(gòu)的計(jì)算體系下,計(jì)算機(jī)的硬件資源可以分為四類:
- CPU:站在控制的視角,CPU作為中央處理器,是整個(gè)系統(tǒng)的核心;站在計(jì)算的視角,CPU和其他加速器一樣,是用于計(jì)算的處理器之一。
- 內(nèi)存:在異構(gòu)或超異構(gòu)計(jì)算體系下,內(nèi)存的概念同經(jīng)典架構(gòu)下意義相同;區(qū)別在于,在異構(gòu)或超異構(gòu)情況下,內(nèi)存的訪問(wèn)者更多,訪問(wèn)更加頻繁,帶寬等性能要求更高。
- I/O設(shè)備:同經(jīng)典架構(gòu)下意義基本相同。
- 其他的加速處理器:如GPU、AI-DSA、網(wǎng)絡(luò)DSA,以及各種ASIC類的加速器等。從CPU視角看,其他的加速器是和I/O設(shè)備對(duì)等的“外部設(shè)備”;而從計(jì)算的視角看,其他的加速器是和CPU對(duì)等的計(jì)算處理器。
2.2 IaaS服務(wù)分類
IaaS服務(wù)主要分為四類:計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)和安全,詳細(xì)分析如下:
- 計(jì)算類:不管是裸金屬機(jī)、虛擬機(jī)或者容器的形態(tài),云計(jì)算的主機(jī)或容器硬件平臺(tái)都是由計(jì)算機(jī)的四大大資源組件組成的:
計(jì)算的CPU處理器,不管是通用(CPU)計(jì)算,還是異構(gòu)計(jì)算,CPU都是不可缺少的資源組件。
計(jì)算的加速處理器,異構(gòu)計(jì)算需要有GPU、AI加速等加速處理器資源組件。
計(jì)算的內(nèi)存,內(nèi)存是用于計(jì)算暫存的存儲(chǔ)資源。
網(wǎng)絡(luò)和存儲(chǔ)I/O,是計(jì)算不可或缺的組件;在IaaS體系里,網(wǎng)絡(luò)和存儲(chǔ)通常以獨(dú)立服務(wù)的形態(tài)存在。
根據(jù)業(yè)務(wù)場(chǎng)景的需要,計(jì)算的硬件平臺(tái)是這些資源的不同規(guī)格不同比例的組合。
根據(jù)需要,可以通過(guò)很多種方式,實(shí)現(xiàn)所有資源的池化,以及實(shí)現(xiàn)硬件平臺(tái)計(jì)算資源的本地或(和)遠(yuǎn)程擴(kuò)展。
網(wǎng)絡(luò)類:狹義的網(wǎng)絡(luò)只是一個(gè)網(wǎng)卡,為計(jì)算提供網(wǎng)絡(luò)訪問(wèn)的通道。廣義的網(wǎng)絡(luò)類服務(wù),包括兩類:網(wǎng)絡(luò)轉(zhuǎn)發(fā),如VPC、EIP、各類網(wǎng)關(guān)、LB等;網(wǎng)絡(luò)通信:如高性能網(wǎng)絡(luò)、確定性網(wǎng)絡(luò)等。
存儲(chǔ)類:從計(jì)算的角度看,外存是計(jì)算的輸入輸出,即使計(jì)算機(jī)關(guān)機(jī),外存的數(shù)據(jù)依然存在。但從云服務(wù)器的視角看,本地外部存儲(chǔ)是臨時(shí)存儲(chǔ),當(dāng)云服務(wù)器資源被銷毀后,也會(huì)銷毀本地存儲(chǔ)的數(shù)據(jù)。要想長(zhǎng)期地持久化地保存數(shù)據(jù),則需要采用遠(yuǎn)程的分布式存儲(chǔ)。本地臨時(shí)存儲(chǔ)和分布式的快存儲(chǔ)、對(duì)象存儲(chǔ)、歸檔存儲(chǔ)等都是以服務(wù)的形式,支撐計(jì)算類服務(wù)。
- 安全類:安全的計(jì)算,如可信計(jì)算;安全的網(wǎng)絡(luò),如防火墻;安全的存儲(chǔ),如數(shù)據(jù)加解密等。安全是個(gè)非常龐大的話題,無(wú)處不在,這里我們不再展開。
2.3 算力網(wǎng)絡(luò)的兩種類型
簡(jiǎn)單介紹一下Serverless的概念。Redhat給出的Serverless定義為:“無(wú)服務(wù)器是一種云原生開發(fā)模型,可使開發(fā)人員專注構(gòu)建和運(yùn)行應(yīng)用,而無(wú)需管理服務(wù)器。無(wú)服務(wù)器方案中仍然有服務(wù)器,但它們已從應(yīng)用開發(fā)中抽離了出來(lái)。云提供商負(fù)責(zé)置備、維護(hù)和擴(kuò)展服務(wù)器基礎(chǔ)架構(gòu)等例行工作。開發(fā)人員可以簡(jiǎn)單地將代碼打包到容器中進(jìn)行部署。部署之后,無(wú)服務(wù)器應(yīng)用即可響應(yīng)需求,并根據(jù)需要自動(dòng)擴(kuò)容。公共云提供商的無(wú)服務(wù)器產(chǎn)品通常通過(guò)一種事件驅(qū)動(dòng)執(zhí)行模型來(lái)按需計(jì)量。因此,當(dāng)無(wú)服務(wù)器功能閑置時(shí),不會(huì)產(chǎn)生費(fèi)用。”
通俗易懂地講,有服務(wù)器的服務(wù),需要用戶自己創(chuàng)建服務(wù)的具體實(shí)例Instance,一個(gè)實(shí)例只能歸屬于一個(gè)用戶,一個(gè)用戶可以擁有一個(gè)或多個(gè)實(shí)例;而Serverless類型的服務(wù)則不需要?jiǎng)?chuàng)建服務(wù)實(shí)例,直接使用服務(wù)即可,很多用戶共享使用同一個(gè)服務(wù)“實(shí)例”(不是所有用戶,服務(wù)軟件在不同數(shù)據(jù)中心的部署可以是不同的服務(wù))。至于服務(wù)所需要的各種底層資源,用戶不需要關(guān)心,服務(wù)可以根據(jù)業(yè)務(wù)使用的情況自動(dòng)地?cái)U(kuò)縮容等。
也因此,算力網(wǎng)絡(luò)的實(shí)現(xiàn)形態(tài),我們大體上可以分為兩個(gè)類型:有服務(wù)器型和無(wú)服務(wù)器型。
類型1,有服務(wù)器型
有服務(wù)器的形態(tài),更接近算力網(wǎng)絡(luò)的概念。通過(guò)網(wǎng)絡(luò)等方式實(shí)現(xiàn)數(shù)據(jù)中心的以及跨數(shù)據(jù)中心的各類資源的池化,然后再通過(guò)云裸金屬機(jī)、云虛擬機(jī)、云容器等方式組合出供用戶業(yè)務(wù)運(yùn)行的硬件的計(jì)算平臺(tái)。
可以根據(jù)用戶的需求,在云、網(wǎng)、邊、端的任何位置,組合出規(guī)格和形態(tài)各異的計(jì)算平臺(tái),給用戶提供最優(yōu)的算力服務(wù),實(shí)現(xiàn)算力的無(wú)處不在。
類型2,Serverless無(wú)服務(wù)器型
業(yè)務(wù)軟件,經(jīng)典的C/S或B/S架構(gòu),一切皆(微)服務(wù)的架構(gòu)下,可以簡(jiǎn)單地理解成客戶端和多個(gè)微服務(wù)組成的分布式軟件。
Serverless無(wú)服務(wù)器型,更接近分布式云的概念。類似分布式云的早期經(jīng)典案例是CDN,當(dāng)用戶訪問(wèn)加入CDN服務(wù)的網(wǎng)站時(shí),域名解析請(qǐng)求將最終交給全局負(fù)載均衡DNS進(jìn)行處理。全局負(fù)載均衡DNS通過(guò)一組預(yù)先定義好的策略,將當(dāng)時(shí)最接近用戶的節(jié)點(diǎn)地址提供給用戶,使用戶能夠得到快速的服務(wù)。CDN只是一些靜態(tài)內(nèi)容,而分布式云則需要把服務(wù)分布式的放置在邊緣等節(jié)點(diǎn)。
在分布式云的體系下,用戶不需要關(guān)心底層的主機(jī)和容器,只需要關(guān)注自己的業(yè)務(wù)邏輯。通常情況下,客戶端可以運(yùn)行在終端本地(不排除有的系統(tǒng)只在服務(wù)器運(yùn)行,客戶端也運(yùn)行在服務(wù)器側(cè)),具體的運(yùn)行位置用戶不需要關(guān)心。云服務(wù)供應(yīng)商可以根據(jù)微服務(wù)所需的帶寬、時(shí)延、性能、成本等要求,選擇最優(yōu)的運(yùn)行環(huán)境,它可以是終端本地,也可以是邊緣、網(wǎng)絡(luò)或者云端。并且,這些服務(wù)還可以根據(jù)環(huán)境的變化,動(dòng)態(tài)地調(diào)整運(yùn)行的位置。
3、面向未來(lái)十年的宏觀計(jì)算系統(tǒng)特征
3.1 需求的未知
首先,系統(tǒng)場(chǎng)景一直在快速變化:上層軟件場(chǎng)景層出不窮,兩年一個(gè)新熱點(diǎn),已有熱點(diǎn)仍在快速演進(jìn)。并且,宏觀大系統(tǒng),計(jì)算資源是預(yù)先準(zhǔn)備好的。購(gòu)買和部署相關(guān)資源時(shí),并不知道具體的計(jì)算資源會(huì)分配給哪個(gè)用戶,也不知道用戶在此資源上會(huì)運(yùn)行什么任務(wù)。此外,資源分配和任務(wù)運(yùn)行會(huì)一直動(dòng)態(tài)變化。傳統(tǒng)芯片和系統(tǒng)設(shè)計(jì),需要先理解場(chǎng)景,然后根據(jù)場(chǎng)景需求來(lái)設(shè)計(jì)芯片和系統(tǒng)。未來(lái)的挑戰(zhàn)是,系統(tǒng)的場(chǎng)景需求是不確定的;不但芯片公司不了解,客戶自己也“不了解”。因此,復(fù)雜計(jì)算系統(tǒng)的設(shè)計(jì),需要“無(wú)的放矢”。
3.2 全面而綜合
不管是云計(jì)算數(shù)據(jù)中心系統(tǒng),還是云網(wǎng)邊端萬(wàn)物互聯(lián)系統(tǒng),亦或是云宇宙虛實(shí)融合系統(tǒng),宏觀的計(jì)算系統(tǒng),只有“一個(gè)”。然而,千千萬(wàn)不同用戶的需求多種多樣;并且,用戶的需求一直處于快速的變化中;此外,還會(huì)不斷有新增用戶和新增需求。因此,系統(tǒng)需要有包羅萬(wàn)象的能力,即面對(duì)已知的和未知的各種各樣的需求,系統(tǒng)都要能夠支持。
3.3 專業(yè)而高效
通常情況下,“專業(yè)的人做專業(yè)的事”。言下之意是:專才只能做本領(lǐng)域的事情,其他領(lǐng)域的事情幾乎做不了。與此同時(shí),通才什么事情都能做,但在每個(gè)領(lǐng)域都不夠高效。但對(duì)宏觀的復(fù)雜計(jì)算系統(tǒng)來(lái)說(shuō),系統(tǒng)不僅僅要能干幾乎所有事情,并且干任何事情都要足夠的專業(yè)而且高效,達(dá)到既通又專。
3.4 超級(jí)并發(fā)
數(shù)以億計(jì)的用戶,數(shù)以萬(wàn)億計(jì)的用戶任務(wù),而系統(tǒng)只有“一個(gè)”。千千萬(wàn)用戶的計(jì)算需求需要及時(shí)響應(yīng),用戶的工作任務(wù)需要快速地處理。
因此,同一時(shí)刻,系統(tǒng)并發(fā)處理數(shù)以億計(jì)的各種類型的用戶任務(wù)。
3.5 無(wú)處不在
系統(tǒng)覆蓋非常廣泛的地域,實(shí)現(xiàn)算力無(wú)處不在,使得算力資源唾手可得。即在任何地方,任何時(shí)刻,為用戶的任何工作任務(wù),都能提供算力和相關(guān)資源支撐。并且,需要以最合適的形態(tài),最合適的方式,給用戶更好的體驗(yàn),為用戶創(chuàng)造更大的價(jià)值。
3.6 快速演進(jìn)
上層軟件應(yīng)用層出不窮,系統(tǒng)需求快速變化。并且,同一領(lǐng)域,不同用戶的需求具有差異性;與此同時(shí),同一用戶的業(yè)務(wù)需求仍會(huì)快速迭代。宏觀地看,用戶以及用戶需要運(yùn)行的任務(wù),一直處于不斷地變化狀態(tài)。復(fù)雜而融合的系統(tǒng),需要持續(xù)快速演進(jìn),才能適應(yīng)上層業(yè)務(wù)需求的不斷變化。
4、體系結(jié)構(gòu)視角看算力網(wǎng)絡(luò)
4.1 算力資源的多樣性
隨著CPU的性能瓶頸,我們需要通過(guò)GPU、FPGA、DSA等各種形態(tài)的加速處理器,來(lái)持續(xù)不斷地提升性能和算力。也因此,計(jì)算的資源,就不僅僅是CPU了,而是多種架構(gòu)多種類型處理器的組合:
- CPU:包括x86、ARM和RISC-v等各種架構(gòu)的CPU,并且每種CPU還有Vector、Matrix、Tensor等各種加速的協(xié)處理器。
- GPU:GPU作為通用的并行計(jì)算平臺(tái),是使用最廣泛的加速計(jì)算處理器。并且,目前的GPU除了支持通用計(jì)算的CUDA外,還集成了更高效加速處理的Tensor Core,進(jìn)一步提升了GPU的加速能力。
- FPGA:通過(guò)各種硬件編程設(shè)計(jì),實(shí)現(xiàn)各種形態(tài)各種架構(gòu)的計(jì)算引擎。
- DSA:計(jì)算有很多領(lǐng)域,每種領(lǐng)域還有很多公司的很多DSA,甚至同一家公司同域但不同代的DSA架構(gòu)也有可能不同。
- ASIC:ASIC完全面向特定場(chǎng)景,不同領(lǐng)域的不同場(chǎng)景,都有形態(tài)和架構(gòu)各異的各種ASIC引擎。
這么多的處理器類型,這么多的處理器架構(gòu),造就了算力網(wǎng)絡(luò)計(jì)算資源的多樣性特征。
性能和靈活性是一對(duì)矛盾,對(duì)單個(gè)處理器引擎來(lái)說(shuō),如果要性能就必須損失靈活性,如果要靈活性必然損失性能。然而,支撐算力網(wǎng)絡(luò)的宏觀計(jì)算系統(tǒng),既要“全面而綜合”,又要“專業(yè)而高效”。怎么辦?
通過(guò)CPU、GPU、DSA等多種類型的處理器相互協(xié)作,實(shí)現(xiàn)團(tuán)隊(duì)作戰(zhàn)。每個(gè)處理器引擎各司其職,發(fā)揮各自的性能/靈活性優(yōu)勢(shì),從而實(shí)現(xiàn)宏觀意義上的性能和靈活性的兼顧和微觀上的每個(gè)處理的高效和高性能。
4.2 算力資源的融合
算力資源的多樣性,其實(shí)也就是算力資源的碎片化,并不是一個(gè)好的現(xiàn)象。
4.2.1 算力資源的池化
如果每個(gè)處理器核是一個(gè)孤島式的計(jì)算資源,那么就沒有意義。算力網(wǎng)絡(luò)的價(jià)值本就在涓涓小溪流匯聚成大海,這是算力網(wǎng)絡(luò)的基礎(chǔ)。這樣,把宏觀的不同云/邊緣數(shù)據(jù)中心、不同終端設(shè)備的計(jì)算資源匯聚在一起,形成算力的統(tǒng)一的大資源池。
網(wǎng)絡(luò)本身更多承擔(dān)的是連接和總線的角色,網(wǎng)絡(luò)設(shè)備中也會(huì)有一些計(jì)算和存儲(chǔ)的資源,可以歸屬到計(jì)算或存儲(chǔ)資源類型。
池化雖然可以把不同服務(wù)器不同設(shè)備上的相同計(jì)算資源連成一個(gè)資源池,但受限于算力資源的多樣性,不同類型不同架構(gòu)的資源仍然是無(wú)法整合到一起的。因此,算力資源的池不是一個(gè),而是很多很多個(gè)。比如x86和ARM、RISC-v的CPU資源就無(wú)法整合到一個(gè)池里;不同廠家的GPU也無(wú)法整合到一個(gè)資源池里;甚至存儲(chǔ)或網(wǎng)絡(luò)I/O設(shè)備,因?yàn)?a target="_blank">接口的不同,也可能無(wú)法整合到一個(gè)資源池;包括各種DSA/FPGA/ASIC,更是無(wú)法整合。
當(dāng)有多達(dá)上百個(gè)不同類型不同架構(gòu)的資源池的時(shí)候,其實(shí)已經(jīng)弱化了資源池化的價(jià)值。4.2.2 算力資源的聚合
ChatGPT等AI模型對(duì)算力的需求,每2個(gè)月翻一倍。如此快速的算力增長(zhǎng),目前只能通過(guò)Scale out的方式來(lái)提升整個(gè)計(jì)算集群的性能。但隨著集群規(guī)模的擴(kuò)展,集群的損耗變得越來(lái)越不可承受:集群內(nèi)部東西向的網(wǎng)絡(luò)流量會(huì)占到90%以上,真正外部交互的流量只有不到10%。這個(gè)現(xiàn)象也符合阿姆達(dá)爾規(guī)律,受限于系統(tǒng)中串行部分的影響,隨著并行計(jì)算的節(jié)點(diǎn)越來(lái)越多,通過(guò)提升并行數(shù)量來(lái)提升系統(tǒng)性能的方式會(huì)逐漸遇到瓶頸。
也因此,在Scale out方式無(wú)法進(jìn)一步提升系統(tǒng)性能的情況下,提升性能的方式只能通過(guò)Scale up。也就是要提升單個(gè)計(jì)算節(jié)點(diǎn)的性能。也因此,單個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算架構(gòu)需要從現(xiàn)在的異構(gòu)計(jì)算逐步過(guò)渡到多個(gè)異構(gòu)融合的超異構(gòu)計(jì)算架構(gòu)。
4.2.3 軟件需要跨硬件移動(dòng)
傳統(tǒng)場(chǎng)景下,軟件通常附著在硬件之上,兩者是綁定的。可以通過(guò)如HAL一樣的抽象層來(lái)實(shí)現(xiàn)平臺(tái)的標(biāo)準(zhǔn)化,然后再部署操作系統(tǒng)和應(yīng)用軟件。而在系統(tǒng)越來(lái)越復(fù)雜的情況下,軟件的實(shí)體,如虛擬機(jī)、容器等,需要在不同的硬件上遷移,這就使得軟件和硬件逐漸分開了。
通常來(lái)說(shuō),可以通過(guò)虛擬化實(shí)現(xiàn)硬件架構(gòu)的屏蔽,軟件不需要太多關(guān)注硬件的架構(gòu)和接口。但隨著虛擬化技術(shù)的完全硬件化,硬件的架構(gòu)和接口完全地暴露給了上層的虛擬機(jī)或容器。這就對(duì)硬件的架構(gòu)和接口提出了更加嚴(yán)苛的要求。4.2.4 開放架構(gòu)和生態(tài),讓架構(gòu)收斂
CPU、GPU、AI-DSA等只有單個(gè)類型架構(gòu)的處理器,一家公司只做私有的架構(gòu),如果公司的產(chǎn)品成功,那么就可以獨(dú)占整個(gè)生態(tài)。這里的成功案例如Intel的x86,NVIDIA的CUDA。
在同構(gòu)和異構(gòu)時(shí)代,這種做法是可能成功的;但到了處理器架構(gòu)非常多的超異構(gòu)時(shí)代,這種做法幾乎不可行。因?yàn)闆]有任何一家公司能做到,在所有的計(jì)算架構(gòu)上都能夠做到最好。并且“百花齊放”的做法,其實(shí)在進(jìn)一步分裂整個(gè)計(jì)算生態(tài),與算力網(wǎng)絡(luò)資源池化和云網(wǎng)邊端融合的發(fā)展趨勢(shì)相悖。
在超異構(gòu)時(shí)代,唯一能成功的方式是,大家都遵循一定的架構(gòu)規(guī)范,從而形成開放的架構(gòu)和生態(tài),讓計(jì)算的架構(gòu)逐漸收斂,從而能發(fā)揮算力資源池化的優(yōu)勢(shì),真正實(shí)現(xiàn)算力無(wú)所不在。
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11156瀏覽量
103315 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7567瀏覽量
88794
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論