杜宗鵬/DU Zongpeng,李志強/LI Zhiqiang,陸璐/LU Lu
(中國移動通信有限公司研究院,中國 北京100053)
隨著互聯(lián)網(wǎng)技術(shù)的不斷進步,當今社會的發(fā)展逐漸呈現(xiàn)數(shù)字化、智能化的趨勢。智能運算需要大量的算力來完成數(shù)據(jù)處理。為了緩解云數(shù)據(jù)中心的計算壓力,獲得更快的業(yè)務(wù)響應(yīng)速度,算力逐漸從中心走向邊緣,形成網(wǎng)絡(luò)中泛在的算力資源。為了支持分散算力資源的統(tǒng)一感知、統(tǒng)一決策和統(tǒng)一管理,算力網(wǎng)絡(luò)的概念被提出[1-5]。算力網(wǎng)絡(luò)將提供算力和網(wǎng)絡(luò)的一體化服務(wù),支持算力資源和網(wǎng)絡(luò)資源的聯(lián)合優(yōu)化,從而充分利用有限的算網(wǎng)資源,為用戶提供高品質(zhì)的算力服務(wù)。
不同算力業(yè)務(wù)的算力需求有所不同,不同算力節(jié)點的服務(wù)能力也各不相同。要實現(xiàn)靈活高效的業(yè)務(wù)調(diào)配和服務(wù)映射,算力網(wǎng)絡(luò)首先需要對算力進行感知,而算力度量就是算力感知的基礎(chǔ)之一。正如熱力學(xué)溫標的提出者開爾文勛爵曾提到的:“如果你無法測量它,那么你就無法改進它”。
傳統(tǒng)運營商主要提供網(wǎng)絡(luò)資源,在用戶需求、網(wǎng)絡(luò)能力度量方面也有相對成熟的方案。網(wǎng)絡(luò)度量常見的度量方式包括帶寬和流量等。運營商圍繞帶寬和流量提供網(wǎng)絡(luò)服務(wù),進行網(wǎng)絡(luò)運營,同時也可以基于時長、網(wǎng)絡(luò)質(zhì)量,與用戶進行簽約,并提供網(wǎng)絡(luò)服務(wù)。
算力網(wǎng)絡(luò)提供的是算力和網(wǎng)絡(luò)的綜合服務(wù),這時需要一種方便對算力進行度量的機制。該機制一方面可以支持用戶對算力需求的描述,另一方面也可以支持運營商、服務(wù)提供商或第三方對所提供的算力能力的描述。
在算力網(wǎng)絡(luò)中,算力度量的目標是關(guān)聯(lián)和整合網(wǎng)絡(luò)中的異構(gòu)計算資源,使能多維資源的統(tǒng)一協(xié)同管理,從而通過統(tǒng)一的算力度量體系和異構(gòu)計算資源的服務(wù)映射機制,實現(xiàn)算網(wǎng)資源的合理分配和高效調(diào)用。
目前,中國通信標準化協(xié)會(CCSA)TC3 已經(jīng)布局了算力網(wǎng)絡(luò)的相關(guān)標準,包括算力網(wǎng)絡(luò)總體技術(shù)要求、算力路由、算網(wǎng)編排、算力交易等。根據(jù)相關(guān)的工作[2,6],算力網(wǎng)絡(luò)包括算力服務(wù)層、算力路由層、算網(wǎng)基礎(chǔ)設(shè)施層和算網(wǎng)編排管理層。圖1展示了算力網(wǎng)絡(luò)總體架構(gòu)中與算力度量相關(guān)的功能模塊。在算力網(wǎng)絡(luò)中,算力用戶需求和算網(wǎng)資源的映射決策可能發(fā)生在算力路由層的策略決策模塊或是算網(wǎng)編排管理模塊。
目前,針對算力網(wǎng)絡(luò)系統(tǒng)中網(wǎng)絡(luò)資源的感知和通告,我們可以使用已有的網(wǎng)絡(luò)操作維護管理(OAM)機制進行測量和收集。本文中,我們主要關(guān)注算力資源的感知和通告,以及算網(wǎng)信息的聯(lián)合決策,尤其是算力度量信息在這些功能或流程中的需求和作用。
算力資源的有效管理,首先需要一個統(tǒng)一的算力資源模型,即對異構(gòu)的算力資源進行建模。算力建模的目標是構(gòu)建異構(gòu)算力資源的統(tǒng)一描述方式。算力建模的具體信息包括數(shù)值型和非數(shù)值型。算力度量是算力建模的一部分,而算力資源的統(tǒng)一建模是算力度量的前提。算力度量中的算力評估值,可以更為方便地作為算力決策模塊的輸入?yún)?shù),從而影響算力服務(wù)的部署和調(diào)度。算力度量和建模的相關(guān)需求,主要包括以下3個方面:
1)支持算力資源的度量和建模,對運營商、服務(wù)提供商及第三方算力資源節(jié)點所提供的算力進行可量化的能力描述;
2)支持算力用戶需求的度量和建模,對用戶算力業(yè)務(wù)進行可分類分級的需求描述;
3)算力路由策略決策模塊或算網(wǎng)編排管理模塊可基于用戶需求,合理分配算力節(jié)點來完成計算任務(wù)。
其中,前2個方面主要涉及算力度量和建模信息的抽象和通告,即把算力信息或算力需求信息按照約定的格式發(fā)送至算力路由策略決策模塊或算網(wǎng)編排管理模塊;第3個方面主要涉及算力度量信息的使用,即算力路由策略決策模塊或算網(wǎng)編排管理模塊如何利用算力度量和建模信息進行決策和管理,執(zhí)行算網(wǎng)感知調(diào)度。
算力路由策略決策模塊和算網(wǎng)編排管理模塊都需要收集算力度量和建模信息,并據(jù)此進行策略決策。算力路由策略決策模塊主要生成路由相關(guān)的策略,可根據(jù)感知到的算力服務(wù)的總體狀態(tài)信息(尤其是算力服務(wù)節(jié)點當前的算力業(yè)務(wù)會話接入能力等動態(tài)參數(shù)),進行快速決策。算網(wǎng)編排管理模塊支持更復(fù)雜的處理邏輯,例如與人工智能(AI)分析平臺互通,根據(jù)更全面的算網(wǎng)信息進行網(wǎng)絡(luò)和算力資源的全局優(yōu)化。
算力路由策略決策模塊可根據(jù)收集到的算力信息和網(wǎng)絡(luò)信息,生成策略并執(zhí)行,引導(dǎo)算力業(yè)務(wù)流量的高效轉(zhuǎn)發(fā)。算力業(yè)務(wù)的流量指的是用戶請求算力業(yè)務(wù)時所使用的連接建立報文,以及所需傳給服務(wù)節(jié)點的數(shù)據(jù)報文,例如需要被分析的圖片數(shù)據(jù)信息等。同時,算力路由層也支持算力業(yè)務(wù)的用戶需求感知,以按需提供算網(wǎng)資源。
算力路由層的功能可以在網(wǎng)絡(luò)控制器/網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的控制面上實現(xiàn)。算力路由層的策略決策模塊可將收集到算力信息保存在一個或者多個專用的表中,并且支持按需更新。網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備中默認的路由轉(zhuǎn)發(fā)架構(gòu)可以保持不變。這時,算力網(wǎng)絡(luò)的路由策略優(yōu)先級更高,即優(yōu)先按照算力網(wǎng)絡(luò)策略對算力業(yè)務(wù)流量進行轉(zhuǎn)發(fā)。
算網(wǎng)編排管理模塊支持算力調(diào)度策略的生成,甚至可與算力路由決策模塊進行策略交互。算網(wǎng)編排管理模塊感知到的信息會更加全面,因此能夠支持更加復(fù)雜的決策邏輯,例如利用AI 機制進行訓(xùn)練和推理,優(yōu)化全網(wǎng)的算力業(yè)務(wù)。同時,算網(wǎng)編排管理模塊需要根據(jù)感知到的算力資源情況,選擇合適的算力節(jié)點,進行算力服務(wù)實例的部署。
算力網(wǎng)絡(luò)服務(wù)在部署時,需要對云、邊、端各級架構(gòu)中泛在異構(gòu)設(shè)備進行納管,還需要對中央處理器(CPU)、圖形處理器(GPU)、內(nèi)存、磁盤、網(wǎng)絡(luò)等多維算力資源進行感知和維護。當有服務(wù)部署需求時,算力網(wǎng)絡(luò)系統(tǒng)需要基于維護的資源視圖,通過適配算法為用戶找到合適的算力資源以完成服務(wù)部署。
算力網(wǎng)絡(luò)中各種異構(gòu)的算力資源散落各地,用戶不同的部署服務(wù)對各維度算力資源也有著不同的需求。算力服務(wù)部署要解決的問題是在掌握資源狀態(tài)信息的情況下,如何合理調(diào)度資源,部署服務(wù)。算力服務(wù)的部署是算力網(wǎng)絡(luò)實現(xiàn)低時延、高可靠優(yōu)質(zhì)服務(wù)調(diào)度的前提。
在云計算或邊緣計算的領(lǐng)域,算力數(shù)據(jù)模型相關(guān)的多項工作都可以作為算力網(wǎng)絡(luò)中算力度量和建模的參考。例如,用于云服務(wù)器帶外管理的Redfish 項目從不同維度定義了大量算力資源相關(guān)的模型;創(chuàng)建于2021 年的Anuket 項目支持云原生和虛擬網(wǎng)絡(luò)功能、基礎(chǔ)設(shè)施和服務(wù)的快速部署,致力于整合OpenStack 和Kubernetes(K8s)等知名工具的不同架構(gòu)。
云原生中流行的編排管理工具K8s支持集群內(nèi)部的服務(wù)部署和資源調(diào)度。一個K8s集群包含至少一個主節(jié)點和若干從節(jié)點,主節(jié)點為集群管理節(jié)點,能根據(jù)各節(jié)點的資源狀態(tài)完成容器到物理節(jié)點的分配[7]。K8s 中的最小調(diào)度單位為Pod,一個Pod可以包含多個容器。每個Pod都可以在部署時指定其CPU 和內(nèi)存的數(shù)量。K8s 的資源調(diào)度是指將Pod 任務(wù)映射到物理資源的過程。在該過程中,主節(jié)點中的調(diào)度器Kube-scheduler 負責(zé)決策一個Pod 應(yīng)該被調(diào)度到集群中的哪一個節(jié)點上。在服務(wù)節(jié)點的具體選擇時,可以指定不同的節(jié)點優(yōu)選策略,例如優(yōu)選算力資源占用比較小的節(jié)點,或者是優(yōu)選CPU和內(nèi)存使用率接近的節(jié)點。
資源的感知和監(jiān)控是資源調(diào)配的前提。有效的資源感知能夠精確地傳遞資源狀態(tài)信息,從而為后續(xù)的資源調(diào)度、服務(wù)遷移等業(yè)務(wù)奠定基礎(chǔ)。例如,作為一款基于時序數(shù)據(jù)庫的監(jiān)控告警系統(tǒng)[8],開源軟件Prometheus 支持多維數(shù)據(jù)模型,收集由度量名和鍵值對組成的時間序列數(shù)據(jù),被廣泛應(yīng)用于云原生中的資源監(jiān)控中。
算力網(wǎng)絡(luò)的服務(wù)部署和資源調(diào)度模式可以參考上述云原生中的編排管理工具,在面向異構(gòu)立體泛在的算力場景方面進行增強。通過了解各個算力節(jié)點的算力資源和剩余可用資源的情況,并根據(jù)算力業(yè)務(wù)需求,按需制定合適的部署策略,靈活地調(diào)度資源,從而完成算力服務(wù)部署,提升算力服務(wù)提供能力。
在完成算力服務(wù)部署后,算力網(wǎng)絡(luò)需要為算力用戶找到并接入一個合適的算力服務(wù)節(jié)點。該節(jié)點需要離用戶較近,滿足用戶的時延需求,還需要有充足的算力資源,支持算力業(yè)務(wù)的快速完成。這個過程被稱為算力服務(wù)選擇,或算力服務(wù)節(jié)點的負載均衡。算力服務(wù)節(jié)點的狀態(tài)是實時變化的,因此在網(wǎng)絡(luò)中實時同步這些信息存在一定的挑戰(zhàn)。
在算力網(wǎng)絡(luò)服務(wù)場景中,不同網(wǎng)絡(luò)位置能夠提供相同的算力服務(wù),然而,此時不同服務(wù)節(jié)點的計算資源通常是不同的,計算資源的負載情況也在變化。尤其是在多接入邊緣計算(MEC)的場景中,計算資源相對有限,因此MEC 之間的協(xié)同就顯得更加重要。
算力感知網(wǎng)絡(luò)(CAN)[3,9]為MEC 的協(xié)同提供了一種基于網(wǎng)絡(luò)的負載均衡機制。在相關(guān)場景中,整個網(wǎng)絡(luò)就像一個虛擬的負載均衡設(shè)備一樣運作。在CAN 的機制中,策略決策點是一個網(wǎng)絡(luò)設(shè)備,位于網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點或是網(wǎng)絡(luò)管控節(jié)點上。然而,對于一個網(wǎng)絡(luò)設(shè)備而言,了解算力的狀態(tài)還是一個新的技術(shù)領(lǐng)域。
網(wǎng)絡(luò)所提供的服務(wù)主要聚焦于轉(zhuǎn)發(fā),例如IP 網(wǎng)絡(luò)的核心就是按照目的地址,把報文轉(zhuǎn)發(fā)到目標網(wǎng)絡(luò)。計算所對接的服務(wù)會更加復(fù)雜,影響計算性能的因素也更多,因此較難給出單維度的度量單位。網(wǎng)絡(luò)中的算力資源分散,異構(gòu)算力資源種類繁多,是算力統(tǒng)一度量所面臨的主要困難。
算力芯片的種類包括CPU、GPU、嵌入式神經(jīng)網(wǎng)絡(luò)處理器(NPU)、張量處理器(TPU)等。這些芯片都有各自的性能指標和應(yīng)用場景,可以針對特定業(yè)務(wù)進行計算優(yōu)化。例如,通用算力以CPU 承載為主,主要面向通用軟件應(yīng)用,執(zhí)行邏輯運算;人工智能算力以NPU/TPU/GPU 承載為主,主要面向AI 應(yīng)用,邏輯簡單,但計算密集、并發(fā)程度高;超算算力以CPU/GPU 承載為主,主要面向科學(xué)計算、工業(yè)仿真等場景,計算復(fù)雜且對計算精度要求高。
在計算領(lǐng)域中,常見的一個度量單位是FLOPS,即每秒執(zhí)行的浮點運算次數(shù)。但計算業(yè)務(wù)的執(zhí)行效率和能力,并不僅僅取決于計算節(jié)點的浮點運算能力,其影響因素還包括輸入/輸出(I/O)效能、內(nèi)存架構(gòu)、緩存速率等。因此,在算力通告和服務(wù)調(diào)度中,需要綜合考慮如算力節(jié)點的負載等的多種因素。
算力服務(wù)的性能受到芯片、存儲、網(wǎng)絡(luò)、平臺軟件等多維因素的影響,因此我們需要對算力服務(wù)節(jié)點進行綜合評估。算力的度量和建模不僅可以參考制造商提供的規(guī)格算力值,例如FLOPS,還可以參考一些可以全面反映服務(wù)支持能力的綜合指標值。為了描述算力網(wǎng)絡(luò)中服務(wù)節(jié)點的算力,我們提出了“四面三級”算力度量技術(shù)體系,從節(jié)點的計算、通信、內(nèi)存和存儲能力4個方面,按照三級指標的方式來建模和描述算力網(wǎng)絡(luò)中異構(gòu)立體泛在的算力,如圖2 所示?!八拿妗敝笜司唧w如下:
▲圖2 算力資源抽象描述的四面三級度量體系
1)計算。節(jié)點資源的計算能力評估主要是指對CPU、GPU等計算資源運算能力的評估。根據(jù)計算程序的不同特點和需求,計算性能可分為整數(shù)計算性能、浮點計算性能以及哈希計算性能。
2)通信。節(jié)點資源的通信能力評估主要是指對節(jié)點連接到外部網(wǎng)絡(luò)的通信能力的評估。從單個算力節(jié)點的角度考慮,節(jié)點的通信能力指標主要參考節(jié)點連接到外部網(wǎng)絡(luò)的帶寬大小。
3)內(nèi)存。節(jié)點的內(nèi)存(緩存)能力評估主要是對節(jié)點的內(nèi)存(緩存)單元的性能評估。節(jié)點的內(nèi)存(緩存)指標主要涉及節(jié)點內(nèi)存容量和內(nèi)存帶寬。
4)存儲。節(jié)點的存儲能力評估主要是指對節(jié)點的外存儲器(如硬盤)的性能評估。節(jié)點的存儲指標主要涉及節(jié)點的存儲容量、存儲帶寬和每秒讀寫操作數(shù)(IOPS)。
“三級”指標具體如下:
1)一級指標代表異構(gòu)硬件算力度量,包括整數(shù)計算速率、浮點計算速率等;
2)二級指標代表節(jié)點服務(wù)能力度量,包括節(jié)點可提供的計算、通信、內(nèi)存、存儲4方面的能力等;
3)三級指標代表節(jié)點對業(yè)務(wù)的支撐能力度量,包括節(jié)點業(yè)務(wù)處理能力度量等,可以按照不同的服務(wù)類型進行描述。
上述度量體系中的各種指標可以根據(jù)業(yè)務(wù)需求的不同,按需提供給其他的算力網(wǎng)絡(luò)節(jié)點,如決策節(jié)點。下文中,我們將簡要介紹上述相關(guān)指標的獲取方式,以及一些示例性的指標參數(shù)。
1)一級指標可以通過不同的評估方法來獲得,如通過基準測試程序測試、直接從廠商獲取、公式計算等方式。該級別的指標可以是廠家提供的性能參數(shù),例如CPU的型號、主頻、內(nèi)核數(shù),GPU的型號、單精度浮點性能等,也可以是常用的基準測試程序的測試值。廠商提供的性能參數(shù)也可以包含動態(tài)的資源狀態(tài),例如目前可用的CPU/虛擬CPU(vCPU)核數(shù)等信息;基準測試程序的測試可分為整數(shù)計算性能測試、浮點計算性能測試等。
2)二級指標由一級指標抽象得到,主要用于對算力的綜合評價,可提供節(jié)點某方面的或是綜合的服務(wù)能力。節(jié)點某方面的能力可以通過執(zhí)行對應(yīng)方面的多次測試,并且基于輸出結(jié)果進行運算后得到;綜合服務(wù)能力可以基于多個方面的評估值,再次進行運算處理得到。文獻[10]提供了一種基于PageRank 的節(jié)點性能評價算法。在相關(guān)流程中,首先對每個節(jié)點使用主流基準測試進行評價,然后采用PageRank算法處理每個基準測試的執(zhí)行結(jié)果,從而得到節(jié)點某方面的性能指標。
3)三級指標與節(jié)點上部署的業(yè)務(wù)相關(guān),圍繞業(yè)務(wù)的維度進行描述。三級指標提供的主要是與業(yè)務(wù)相關(guān)的評價指標,例如針對特定的算力業(yè)務(wù),節(jié)點能夠提供的實際處理能力等。文獻[11]提供了一種“有效算力”的計算方法,用真實業(yè)務(wù)軟件在一定規(guī)模的信息通信技術(shù)(ICT)基礎(chǔ)設(shè)施系統(tǒng)上(含計算、存儲、網(wǎng)絡(luò)、軟件中間件等)進行性能測量,之后通過幾何加權(quán)平均,對多個真實業(yè)務(wù)性能測試結(jié)果進行整合。例如,在人工智能領(lǐng)域,對特定訓(xùn)練作業(yè)的有效計算能力是單位時間內(nèi)訓(xùn)練過程消耗的樣本數(shù)量,或稱為業(yè)務(wù)吞吐量。在視覺類測試中,業(yè)務(wù)吞吐量單位是圖片數(shù)每秒;在自然語言處理類測試中,單位為句數(shù)每秒。
上述度量體系中各個維度的信息,可以用于網(wǎng)絡(luò)算力服務(wù)的調(diào)度和算力業(yè)務(wù)的轉(zhuǎn)發(fā)決策,從而提高算力資源和網(wǎng)絡(luò)資源的利用率。同時,上述評估機制反應(yīng)了算力節(jié)點對計算任務(wù)的支撐能力,牽引最終用戶從使用效果的角度,進行算力節(jié)點的規(guī)劃和建設(shè)。
算力度量的指標包括靜態(tài)指標和動態(tài)指標。前者通常與分配給服務(wù)的算力資源有關(guān),后者通常與服務(wù)器在運行時能夠提供的可用資源有關(guān),例如,服務(wù)器當前的可用會話數(shù)或CPU 利用率。在算力服務(wù)的部署和節(jié)點選擇中,上述的動態(tài)指標更具參考性。例如,在部署算力服務(wù)時,需要了解當前算力節(jié)點可用的CPU/vCPU 核數(shù),并將其視為一種較為動態(tài)的一級指標;在選擇算力服務(wù)節(jié)點時,業(yè)務(wù)相關(guān)的動態(tài)指標包括當前服務(wù)節(jié)點狀態(tài)等,可將其視為動態(tài)的三級指標。
這些動態(tài)指標可以與上文所述的規(guī)格算力信息、綜合節(jié)點算力信息、業(yè)務(wù)處理能力信息綜合考量,從而影響算力服務(wù)的決策。這些動態(tài)指標可以指定不同的更新頻率與算力網(wǎng)絡(luò)的決策點進行通信,更新相關(guān)的動態(tài)算力信息。
算力網(wǎng)絡(luò)的定位是面向未來網(wǎng)絡(luò)中泛在的算力資源,支持網(wǎng)絡(luò)和算力的融合統(tǒng)一,提供算網(wǎng)一體化服務(wù)的新型信息基礎(chǔ)設(shè)施。算力網(wǎng)絡(luò)的愿景是推動算力像水電一樣,逐步成為“一點接入、即取即用”的社會級服務(wù)[1]。算力度量在算力網(wǎng)絡(luò)中的作用類似于水網(wǎng)、電網(wǎng)中水表和電表的作用,是算力網(wǎng)絡(luò)的重要基礎(chǔ)技術(shù)之一。
為了實現(xiàn)異構(gòu)算力資源的統(tǒng)一度量和統(tǒng)一建模,支持跨廠商算力網(wǎng)絡(luò)節(jié)點互通,方便算力網(wǎng)絡(luò)的管理和運營,算力度量和建模機制標準化工作已經(jīng)被提上日程。目前,中國通信標準化協(xié)會(CCSA)已經(jīng)有了一些正在進行中的算力度量相關(guān)的標準化項目。同時,國際互聯(lián)網(wǎng)工程任務(wù)組(IETF)的CATS工作組也在推進該領(lǐng)域的工作。
算力信息的格式設(shè)計與使用場景密切相關(guān),不同的使用場景有著不同的算力度量指標的組合和選擇。本文中,我們圍繞“四面三級”算力度量技術(shù)體系,對算力信息如何在網(wǎng)絡(luò)中傳遞也進行了探索。其核心的兩個問題為:1)算力信息的格式,即應(yīng)該傳遞什么樣的算力信息到網(wǎng)絡(luò)中;2)算力信息的通告方式,即在網(wǎng)絡(luò)中以什么樣的方式通告算力信息。
算網(wǎng)編排管理模塊可以通過定義算力相關(guān)的YANG模型來傳遞算力信息;算力路由模塊可以通過擴展目前的路由協(xié)議來傳遞算力信息。本節(jié)將主要探索后者的格式,并給出一種示例性的描述方式。路由協(xié)議攜帶的算力信息會更加簡單,一方面這樣可以減少網(wǎng)絡(luò)中的信息傳遞,避免不必要的信息暴露;另一方面,可以使路由決策流程快速完成。
不同的業(yè)務(wù)可能有不同的計算需求,需要使用不同的算力路由決策依據(jù)。因此,算力度量的指標體系應(yīng)該可擴展、可編程,支持靈活自定義,以便能夠反映不同業(yè)務(wù)甚至未來業(yè)務(wù)需求。對于特定的業(yè)務(wù),決策點應(yīng)能訂閱想了解的算力度量指標,以及指定指標的相關(guān)更新頻率。也就是說,決策點可以按需選擇感興趣的各級細節(jié)指標進行了解,并作為決策的依據(jù)。
作為參考,在K8s的Pod資源調(diào)度中,調(diào)度器會執(zhí)行初選和優(yōu)選兩個步驟[7]。初選時,調(diào)度器會過濾掉不滿足Pod資源需求的節(jié)點;優(yōu)選時,調(diào)度器會根據(jù)設(shè)定的策略對初選后的節(jié)點進行評分,并據(jù)此決定調(diào)度節(jié)點。在算力網(wǎng)絡(luò)中,對于一個選擇服務(wù)節(jié)點的業(yè)務(wù)而言,首先要確定的是目標服務(wù)節(jié)點是否還能夠接入新的會話,其次需要按照業(yè)務(wù)特定的策略,優(yōu)選綜合性能更高的算力節(jié)點來提供服務(wù),例如有些業(yè)務(wù)有較快的業(yè)務(wù)完成時間的需求。在文獻[12]中,建議使用動態(tài)的參數(shù)來反應(yīng)服務(wù)狀態(tài),使用相對靜態(tài)的參數(shù)來反應(yīng)節(jié)點執(zhí)行該服務(wù)的能力信息。
本節(jié)中,我們提出了一種示例性的算力度量信息的格式設(shè)計思路:首先要攜帶算力節(jié)點的服務(wù)狀態(tài)信息;其次,需要按照業(yè)務(wù)需求或優(yōu)化目標,攜帶一個或者幾個算力信息相關(guān)的類型-長度-值(TLV)。這里不同的業(yè)務(wù)類型可以根據(jù)業(yè)務(wù)需求,自定義不同的TLV組合。
在服務(wù)節(jié)點選擇時,算力路由的決策點首先要感知備選的算力節(jié)點是否還能接入新的算力用戶。例如,文獻[9]提到了一種算力節(jié)點忙閑狀態(tài)的通告方式。該方式設(shè)定了3種狀態(tài):紅色代表繁忙狀態(tài),綠色代表空閑狀態(tài),黃色代表即將繁忙的狀態(tài)。我們可以在服務(wù)節(jié)點上設(shè)定閾值,觸發(fā)這些狀態(tài)的改變,例如接入的用戶數(shù)達到閾值,或某種資源(如CPU、內(nèi)存等)的利用率達到閾值。
如果多個算力節(jié)點都標記了綠色的空閑狀態(tài),同時算力業(yè)務(wù)又有較快的業(yè)務(wù)完成時間需求,那么也可以進一步地按照算力節(jié)點的綜合性能來決策接入哪個節(jié)點。這些性能的綜合評估也是算力度量體系的一部分,一般體現(xiàn)為三級指標或二級指標,或多級指標的組合等。
如果面向的業(yè)務(wù)較為明確,并且存在相關(guān)業(yè)務(wù)的有效算力測試結(jié)果,那么可以優(yōu)先考慮使用三級指標中的有效算力來評估算力節(jié)點的計算能力。對于相同的業(yè)務(wù),如果算力用戶之間的計算需求差異較大,僅使用三級指標并不能很好地反映節(jié)點的計算能力;或是由于面向新的業(yè)務(wù),沒有可參考的有效算力結(jié)果評估,那么可以考慮二級指標中的綜合服務(wù)能力指標。在該指標中,針對不同的業(yè)務(wù),在計算、通信、內(nèi)存、存儲4個方面有不同的系數(shù),即影響因子。例如,目標業(yè)務(wù)如果是計算密集型的,就可以適當調(diào)高計算維度的影響因子。
如果業(yè)務(wù)對于能耗比較敏感,除了算力相關(guān)的信息外,也可以要求算力節(jié)點提供能耗相關(guān)的信息。這時需要對算力節(jié)點的能耗進行統(tǒng)一建模,從而將其作為算力服務(wù)調(diào)度的參考因素之一,即在一定程度上優(yōu)先使用較為節(jié)能的算力節(jié)點來完成計算任務(wù)。
CAN是算力網(wǎng)絡(luò)中的關(guān)鍵技術(shù)之一。圖3為CAN算力通告流程:首先,對于泛在的算力節(jié)點,需要統(tǒng)一度量值的描述方式;其次,通過某種方法,將這些節(jié)點的算力能力通告到網(wǎng)絡(luò)中;最后,算力網(wǎng)絡(luò)的決策點可以參考收到的算力信息來進行算力服務(wù)調(diào)度。上一節(jié)主要關(guān)注的是第一步,即描述算力能力和服務(wù)狀態(tài)的方法。一個標準化的算力能力的描述方法能夠在很大程度上提升算力網(wǎng)絡(luò)不同節(jié)點之間的協(xié)同能力。本節(jié)中,我們主要關(guān)注第二步,這其中也會涉及相關(guān)的標準化工作。
▲圖3 算力感知網(wǎng)絡(luò)中算力通告的流程
通常,算力節(jié)點和CAN 并不在同一個網(wǎng)絡(luò)域中,因此算力信息的通告經(jīng)常會考慮使用邊界網(wǎng)關(guān)協(xié)議(BGP)。BGP 可以用于網(wǎng)絡(luò)中邊緣路由器(PE)節(jié)點之間的路由信息交流,是計算機網(wǎng)絡(luò)實現(xiàn)廣泛互聯(lián)的基礎(chǔ)協(xié)議之一。針對特定的算力服務(wù),可以考慮擴展BGP 協(xié)議,如在通告該服務(wù)的路由信息時,BGP消息中攜帶節(jié)點的忙閑信息,以及節(jié)點的業(yè)務(wù)執(zhí)行能力TLV。
在路由協(xié)議的相關(guān)擴展中,網(wǎng)絡(luò)中的多個算力節(jié)點會共享同一個Anycast(任播)地址,并同時發(fā)布自身相關(guān)算力信息。一方面,多點部署的Anycast 地址本身就不支持按照前綴匯聚;另一方面,不同的算力節(jié)點的算力情況不同,在BGP路由優(yōu)選時,需要對BGP協(xié)議進行擴展以支持對同一個Anycast地址存在不同的Nexthop(下一跳)以及算力信息的情況。
算力度量是算力網(wǎng)絡(luò)技術(shù)的重要基礎(chǔ)之一。統(tǒng)一的度量標準、描述方式,有助于算力網(wǎng)絡(luò)的各個網(wǎng)元之間進行高效協(xié)作。目前,算力網(wǎng)絡(luò)業(yè)務(wù)以及針對相關(guān)業(yè)務(wù)的度量還處于發(fā)展的初期階段。未來,隨著算力網(wǎng)絡(luò)業(yè)務(wù)的普及,統(tǒng)一的算力度量機制將促進算網(wǎng)融合共生,避免“算力孤島”,實現(xiàn)全網(wǎng)算力的高效協(xié)同,從而使整個算力網(wǎng)絡(luò)能夠像一臺虛擬的計算機一樣統(tǒng)一調(diào)度、統(tǒng)一管理,支撐千行百業(yè)的數(shù)智化轉(zhuǎn)型。