柴若楠 郜 帥 蘭江雨 劉寧春
(北京交通大學電子信息工程學院 北京 100044)
(21111030@bjtu.edu.cn)
作為一種算力和網絡融合的新型網絡技術和架構,算力網絡(computing-first network)已成為學術界和工業界的熱門話題和研究方向. 算力度量(computing resource metric)是算力網絡中的關鍵性工作,它作為算力網絡底層的技術基石,是有效標識和衡量算力資源的重要方法,在算力網絡中扮演著不可或缺的角色.算力網絡得以發展的重要前提是對算力資源有精準的評估和管控,這需要對算力資源進行準確地標識和表征,以配合前端的用戶意圖感知和后端的算力資源調度決策.
然而,現在業界對于算力度量的研究尚處于起步階段.目前的研究中對算力度量標準的設計較為單一,大部分單獨使用靜態指標或動態指標來衡量算力資源[1-3],這樣容易造成算力資源利用率低、匹配算力資源準確性較差等問題.
例如,文獻[1]中所提到的指標均為靜態指標,沒有考慮實時變化的網絡狀態和算力節點的工作狀態,導致算力資源匹配準確率較低.因為當2 個算力節點的基礎性能相近時,由于無法得知算力節點的實時工作狀態,難以區分哪一個節點更適合用戶任務,可能會分配到資源不匹配的算力節點.
與文獻[1]不同,文獻[2?3]中的算力度量指標均為動態指標,文獻[2?3]中提到了使用計算資源大小、CPU 使用率、存儲情況和網絡狀態等動態指標來度量算力資源,但缺少對靜態指標的考慮.如果不考慮靜態指標,將難以區分算力節點的基礎性能,可能會出現“高分低就”現象,導致算力資源利用率較低.
可以看出,單方面考慮靜態指標或動態指標,可能會影響算力度量的有效性.由于靜態指標代表算力節點的基礎性能,動態指標代表算力節點的動態性能,結合目前業界對于算力度量研究存在的問題,為更有效地進行算力度量,提出了一種先靜后動的混合式度量方法(hybrid metric method, HMM),并提出了更為全面的指標.
本文利用熵權法[4]去分析靜態指標,包括TOPS/W(tera operations per second per watt),GOPS(giga operations per second),MIPS(million instructions per second),RAM 和硬盤存儲大小.對每個算力節點的基礎性能進行評分,然后利用基于決策樹的CART 算法[5]將排好序的分數進行分段;最后在分完段的每一段內,分析CPU 空閑率、GPU 空閑率、剩余硬盤存儲和吞吐率等指標,利用n維歐氏距離的方法[6]計算算力節點與用戶任務所需性能之間的“距離”,找到最短的“距離”,即找到了更可能滿足用戶任務需求的算力節點.
本文的主要貢獻有2 點:
1)為解決目前業界對于算力度量的指標單一化、片面化等問題,提出了更為綜合性的指標;
2)提出了一種結合靜態指標和動態指標的混合式算力度量方法HMM 驗和,經實驗和數據分析,在算力節點的選擇上,HMM 在算力資源利用率和匹配準確率上表現得更優.
關于算力度量的設計問題,目前已經存在相關研究工作,主要從不同的算力服務場景出發,包括基礎算力、智能算力和超算算力.基礎算力表示以中央處理器(central processing unit,CPU)為計算單元的計算能力;智能算力是指以圖形處理器(graphics processing unit,GPU)、現場可編程邏輯門陣列(field programmable gate array,FPGA)、專用集成電路(application specific integrated circuit,ASIC)等 為代表的具有人工智能(artificialintelligence,AI)訓練和推理學習的加速計算單元的計算能力;超算算力則是反映普遍用于科學計算場景的高性能計算集群的計算能力[1].為更深入的研究,總結了傳統資源度量技術和現有算力資源度量技術.
文獻[7]提出了一種衡量CPU 性能的方法,其主流思想一直延續至今.該文提出將CPI(clock per instruction)作為衡量CPU 性能的指標.由于CPI 是2個可測量的東西的乘積:CPI=每條指令的周期×每條指令的事件,CPI 被認為是表示處理器性能的最自然的度量.文獻[7]在度量CPU 性能時所涉及到的指令數、時鐘周期、操作數等指標,為本文提出采用TOPS/W 和MIPS 作為衡量CPU 靜態指標參數提供了啟發.文獻[8]提到GPU 的性能與周期指令數、浮點運算能力和寄存器有關,如IPC(instructions per cycle)、緩存命中率(cache hit rate)、DRAM 利用率、L2 利用率等.文獻[9]針對GPU 集群中多項性能指標實時優化的問題,綜合考慮計算速度、能耗和可靠性3 項指標,利用極大熵函數法把3 項指標轉化為一個綜合性能評價指標,并構造了控制穩定性和魯棒性良好的模型.其中,在狀態信息中只有計算頻率為計算速度指標提供依據,由于本文不涉及GPU 集群,因此不考慮能耗和控制問題,但文獻[9]為本文采用GOPS和RAM 作為靜態指標參數提供了思路.文獻[10]基于泊松假設的數學模型定義了從活動模式到空閑模式的轉換概率,通過不同磁盤模式之間的轉換概率來研究I/O 系統的能耗和性能指標,并評估了能耗和性能指標,包括存儲器、隊列長度、吞吐率、響應時間等,為本文采用RAM、硬盤存儲量和吞吐率作為靜動態指標參數提供了啟發.
表1 中主要展示了目前3 類算力度量的設計,即靜態指標、動態指標和靜動態結合的混合指標.

Table 1 Comparison of Computing Resource Metric Methods表1 算力度量方法的對比
文獻[1]考慮的均為靜態指標,如邏輯運算能力、并行計算能力、神經計算能力、存力、算法能力、路由協議和算效等指標,雖涵蓋了目前主流的處理器CPU 和GPU,以及存儲和網絡因素,但其均為靜態值,沒有考慮實時變化的網絡狀態和算力節點的工作狀態,容易導致算力資源匹配準確率低.因為當2 個算力節點的基礎性能相近時,由于無法得知算力節點的實時工作狀態,難以辨別哪一個節點更適合用戶任務,會出現分配到不合適的算力節點的情況.
文獻[2]提出了一種基于Floyd 算法的算力感知路由調度策略來解決智能任務調度問題,其在多任務、多路由節點、多邊緣服務器的邊緣算力網絡場景下做了仿真和模型.但在算力度量的工作上,文獻[2]僅提出了2 項算力節點的動態性能指標—— CPU 轉數和存儲剩余量,沒有考慮靜態性能指標,可能會出現“高分低就”等問題,導致算力資源利用率較低. 文獻[3]研究了算力感知網絡中效用優化的資源分配問題,但在算力度量工作中只提到了CPU 利用率和存儲剩余量,同樣缺乏靜態指標的考慮,也可能會造成算力資源利用率低等問題.
靜態指標和動態指標均反映算力節點的性能,全面分析算力資源是有效度量算力的方式.通過對現有的算力度量技術的研究與總結,可以看出HMM 在靜動態設計和指標綜合性的表現更優.
目前算力度量在業界缺乏統一標識,缺少全面性、綜合性和可操作性的設計方案,難以開展算力度量工作.
全面性指算力度量需考慮靜態指標和動態指標,不僅要衡量算力節點的基礎性能,還要考慮算力節點當前的工作狀態,確保全面地評估算力資源.綜合性指度量指標需涵蓋目前主流算力和網絡性能指標,綜合度量各類計算資源、存儲資源和網絡資源等.可操作性指算力度量工作需符合實際且理論和實驗均具有可行性,是可實施且有效的度量方案.
1)全面性
考慮全面性工作,本文提出先靜后動的混合式度量的設計方案.先計算算力節點基礎性能分數,將分數合理分段,最后在段內找到合適的算力節點.
算力節點能否滿足用戶任務的需求,首先要看它的基礎性能高低,其次看它當前的工作狀態能否滿足用戶任務的需求.假設當一個用戶任務需要一個高性能且CPU 空閑率為30%的算力節點,這時如果要找到匹配其需求的算力節點,需要從基礎性能為高性能的算力節點中選擇CPU 空閑率達到、但不遠超30%的算力節點.
但有2 種情況是不可取的,第1 種情況是不能在所有基礎性能未知的節點中選擇CPU 空閑率大于30%的算力節點,這樣可能會出現當動態指標相同時,本是低性能節點就已滿足用戶需求,卻選擇了高性能節點,造成資源浪費和算力節點利用率低的問題;或者動態指標相同時,應選擇高性能節點卻選擇了低性能節點,影響用戶利益.第2 種情況是不能在高性能算力節點中隨意選擇工作狀態無法確定的算力節點,這樣容易造成節點匹配準確率低的問題.
區分算力節點基礎性能高低,并考慮當前節點工作狀態滿足業務需求的設計,是一種更有效的度量方式,是用戶意圖感知和調度算力資源的基礎.
2)綜合性
指標的綜合性在算力度量工作中同樣重要.在靜態指標選取上,本研究采用CPU、GPU、存儲等因素.在動態指標上,采用CPU 空閑率、GPU 空閑率、吞吐率和硬盤剩余存儲量.綜上,本文考慮了基礎算力、智能算力、存儲能力、網絡能力四大指標,并衍生出9 個具體指標.
① 基礎算力.當處理普通業務時,CPU 可以確定其運行速度[11].本文將處理器運算能力的性能指標TOPS/W 和衡量CPU 速度指標——每秒執行百萬級指令數MIPS 作為靜態指標的其中2 個因素研究.將CPU 空閑率作為動態指標的其中1 要素.
② 智能算力.當用于深度學習應用程序、大規模并行處理或其他要求嚴苛的工作負載時,GPU 就顯得尤為重要[12].本文采用常規神經網絡算力指標GOPS和存儲性能指標RAM 作為靜態指標中的因素,將GPU 空閑率作為動態指標的其中1 要素.
③ 存儲能力.考慮到算力節點的工作不止有計算,還有存儲等功能[13].本文將存儲指標RAM 和硬盤存儲大小考慮為靜態指標的因素.將硬盤剩余存儲量作為動態指標的其中1 要素.
④ 網絡能力.本文將吞吐率作為動態指標的其中1 要素,其單位為req/s.吞吐率,特指Web 服務器單位時間內處理的請求數,是服務器并發處理能力的量化描述,是衡量網絡服務能力的重要指標[14].在衡量網絡轉發性能時,它能直觀地反映網絡處理事務能力的好壞.
3)可操作性
為驗證本方案的可操作性,圖1 展示了3 種場景下的案例分析,即對靜態指標或動態指標及先靜后動的混合式度量方法做了假設和理論分析對比.這3種度量方式均存在所有條件都滿足的情況.但不同的是,當只考慮靜態指標時,其動態指標不一定都能滿足用戶任務需求,如CPU 空閑率不足或GPU 空閑率不足等;當只考慮動態指標時,又存在基礎性能不達標或遠超標的問題.而HMM 可以在滿足基礎性能的同時又能適配算力節點目前的工作狀態,可以有效地提高算力資源利用率和匹配準確率.

Fig.1 Case study of HMM, static only and dynamic only indicators圖1 HMM 與只有靜態和只有動態指標的場景案例分析
如圖1 中所示,從用戶任務端向左看,每個用戶任務都分別引出3 根不同顏色的線,橘色代表HMM,綠色代表只有靜態指標的方法,紫色代表只有動態指標的方法.而實線和虛線分別代表匹配效果理想和不理想.對于只考慮靜態指標的場景,可以看到,用戶任務2、用戶任務3 匹配到了理想的算力節點.但對用戶任務1 來說,其基礎性能的需求為要達到待選算力節點群中基礎性能的45%,CPU 空閑率達到60%,GPU 空閑率達到40%,存儲空間需要50 GB,吞吐率要達到1700 req/s.在選擇算力節點時,其匹配到了基礎性能為46%的節點1,但其CPU 空閑率、GPU 空閑率和吞吐率均不滿足要求.
對于只考慮動態指標的場景,可以看到,用戶任務1、用戶任務2 匹配到了理想的算力節點,但對用戶任務3來說,雖然其匹配到的節點5 其動態指標均已滿足需求,但其40%的基礎性能不滿足需求,也是一個失敗的案例.
對于先靜后動的混合式度量方法,用戶任務1、用戶任務2 和用戶任務3 分別匹配到了每一項條件都符合的算力節點2、節點1 和節點3,可以看到,HMM可以精確地匹配到理想的算力節點.
HMM 的工作流程如圖2 所示,共分為4 步.首先利用熵權法計算出算力節點的基礎性能分數,然后利用基于決策樹的CART 算法對分數進行合理的分段,其次在符合業務需求的段內,利用n維歐式距離算出算力節點性能與用戶任務所需性能的距離,最后找到最短距離,即找到最符合用戶任務需求的算力節點.下面介紹具體的算法.

Fig.2 The workflow of HMM圖2 HMM 的工作流程
2.2.1 計算基礎性能得分
首先利用熵權法[4]對靜態指標進行分析,得到計算節點靜態性能的得分.采用熵權法的目的是由于熵權法是一種客觀賦權方法,其與指標本身無關,根本在于指標選擇是否具有邏輯性、科學性.它借鑒了信息熵思想,通過計算指標的信息熵,根據指標的相對變化程度對系統整體的影響來決定指標的權重,即根據各個指標標志值的差異程度來進行賦權,從而得出各個指標相應的權重以及綜合評價分數.
假設有m個算力節點和n個評估指標,形成原始指標數據矩陣:
其中xij表示第i個算力節點第j項評價指標的數值.對于某項指標Xj,樣本的離散程度越大,則該指標在綜合評價中所起的作用就越大;如果該指標的數值全部相等,則表示該指標在綜合評價中不起作用.
由于本研究中所涉及到的數值是越大越好,為正向指標,可不用對各指標進行標準化處理.
計算第j個指標中,第i個算力節點的權重:
其中,(0 ≤pij≤1,i=1,2,…,n,j=1,2,…,m). 建立數據的比重矩陣:
又因為要保證0 ≤ej≤1,即最大為1.所以,第j個指標的熵值為:
其中,(i=1,2,…,n,j=1,2,…,m.),然后需要定義第j個指標的差異程度,熵權法根據各個指標數值的差異程度來進行賦權,從而得出各個指標相應的權重:
將TOPS/W、GOPS、MIPS、RAM、硬盤存儲大小這5 個靜態因素定義為一個五元組I,則I=(I1,I2,I3,I4,I5).通過熵權法,取得較為客觀的指標權重,用w表示權重,則wi={w1,w2,w3,w4,w5}分別對應5 個因素的權重.從而得到一個多因素靜態聯合指標M:
當用戶只對單個算力資源(如存儲)有需求時,則直接對收集到的算力節點的單個資源進行排序.高性能者享有更高的優先級.如果是僅對存儲有要求,此時的指標應變成RAM 和硬盤存儲剩余量.由于硬盤存儲剩余量是動態變化的參數,且它的數值和數值之間在時間上無相關性,可直接將RAM 進行優劣排序,再在此基礎上對硬盤存儲剩余量進行優劣排序.
2.2.2 對基礎性能進行分段
分段可以更為精確地提供算力節點的可選擇范圍,是算力度量中的關鍵性工作.
在第1 步得到算力節點基礎性能得分后,第2 步利用基于決策樹的CART 算法[5]來給排好序的算力節點的分數進行分段.CART 可以根據數值本身找到合適的閾值進行分割,從而達到分段效果.
假設有K個類,算力節點屬于第k類的概率為pk,k=1,2,···,K,則概率分布的基尼指數定義為:
給定算力節點的序號為集合D,其基尼指數為:
其中,Ck是D中屬于第k類的樣本子集,K是類的個數.
算力節點的序號集合D根據特征值A是否取某一可能值a被分割成D1和D22 部分,特征值A為算力節點的性能得分.
則在特征A的條件下,集合D的基尼指數為:
根據基尼指數,選擇最優特征和最優切分點,然后得到分類Di,并得到Di中算力節點的數量Ci.
2.2.3 選擇合適的算力節點
考慮到動態因素數值不斷變化的特殊性,在選擇評價模型上,若將用戶任務比作A,算力節點比作B,需求量化為數值時,需求種類越多,維數越多.但A和B之間的距離越小,代表差異越小,即B越滿足A的條件.基于此思想,本研究采用n維歐氏距離法[6]對動態因素進行聯合分析來選擇合適用戶任務的算力節點.
假設用戶任務需求為si,實際算力節點的性能為ti,則兩者的距離為:
本文將CPU 空閑率、GPU 空閑率、吞吐率和硬盤剩余量作為動態因素考慮,式(14)中的n=4.d(S,T)越小,說明兩者的差異越小,越符合用戶任務的需求.由于這4 個因素的量綱不同,需要做歸一化處理,使結果落到[0,1]區間,轉換函數為:
歸一化后,此時的距離為:
得到段內的每個距離值后,最小的距離dmin意味著算力性能和用戶任務需求更接近,代表此算力節點是更符合用戶任務需求的算力節點.
根據2.2 節中的工作流程,本節實驗將分3 步進行,分別對算力節點的基礎性能、性能分段和節點選擇做出分析.本研究收集整理了實驗室及學校內的1 000臺服務器的算力性能信息TOPS/W、GOPS、MIPS、RAM、硬盤存儲大小,將其組成了一個數據集.
圖3 為利用熵權法得到的1 000 個算力節點基礎性能分數的結果.為了便于展示,已利用基于決策樹的CART 算法將所得分數分為3 類.圖3 中可以直觀地看到其分數情況呈高中低分布.算力節點的等級越高,算力節點的靜態性能分數越高.

Fig.3 Comparison of static performance scores of computing nodes圖3 算力節點的靜態性能分數對比
在得到的1 000 個算力節點的靜態性能分數的基礎上,利用基于決策樹的CART 算法得到每一類算力節點的數量,如圖4 所示.此步的目的是為了合理劃定基礎性能的范圍,以便更精準地匹配算力節點.

Fig.4 The number of each type of computing nodes圖4 每類算力節點的數量
最后根據用戶任務的需求確定算力節點基礎性能等級,在該等級內利用n維歐氏距離,結合CPU 空閑率、GPU 空閑率、吞吐率和存儲剩余量這4 個動態因素,判斷算力節點的性能與用戶任務所需性能的距離,距離最短的節點更符合用戶任務的需求.
假設用戶任務的需求為:靜態性能達到45%,CPU空閑率為60%,GPU 空閑率為40%,吞吐率為1700 req/s,存儲剩余量需求為50 GB.為了保證展示效果,在靜態性能為45%~46%中找到10 組算力節點的數據進行演示,得到如圖5 所示的結果.柱體表示算力節點性能與用戶任務需求之間的距離. 由于4 個動態指標每一個都需要滿足用戶任務的需求,本研究去掉了距離為“負”的(沒達到用戶任務需求)的算力節點.在留下的算力節點中比較距離大小,最小的距離為最符合用戶任務需求的算力節點.如圖6 所示,節點3 為匹配該用戶任務的最佳算力節點.
本節對提出的3 種情況,即靜態指標、動態指標和HMM 進行算力節點利用率和匹配準確率的評估對比.

Fig.5 The distance between the user's task requirements and the performance of the computing nodes圖5 用戶任務需求與算力節點性能的距離

Fig.6 The final selected computing nodes圖6 最終選出的算力節點
式(17)中算力節點利用率U定義為所選算力節點數量與算力節點總量之比,結果如圖7 所示.實驗采用了3.1 節中的實驗,在這個模擬實驗中設置了1 000個算力節點的靜動態算力信息,然后更改用戶任務的數量(100,200,···,1 000)和需求.可以看到,3 種方法的利用率隨著節點數的增加均呈上升趨勢,采用HMM 后,算力節點的利用率明顯高于其他2 種情況.這是由于既考慮靜態指標又考慮動態指標,使得算力資源衡量得愈加精準,用戶任務和算力節點能更有效地匹配,進而提升了節點利用率.

Fig.7 The evaluation of HMM, static and dynamic metrics for computing nodes utilization圖7 HMM 與靜態和動態指標算力節點利用率的評估
圖8 展示了3 種方案下算力節點匹配準確率的對比.式(18)中匹配準確率P?定義為符合用戶任務所有條件的算力節點數量與所選算力節點數量之比.可以觀察到,采用HMM 后,由于考慮了度量的全面性、綜合性和可操作性,以及實驗最后一步n維歐式距離去負值找最短的方法,算力節點匹配準確率達到了100%,即實現利用及精確的程度.但只考慮靜態指標得到的匹配準確率達到了30%~40%,只考慮動態指標得到的匹配準確率為35%~50%,可見這2 種情況均不理想.相比之下,HMM 的匹配度更優.

Fig.8 The evaluation of the matching precision of computing nodes for HMM, static and dynamic indicators圖8 HMM 與靜態和動態指標算力節點匹配準確率的評估
本文設計了先靜后動的混合式度量方法HMM.該方法既考慮算力節點的基礎性能,又考慮算力節點當前的工作狀態,并涵蓋了目前主流的算力和網絡性能指標,其理論和實驗均具有可行性,滿足了算力度量的全面性、綜合性及可操作性.通過實驗數據分析,HMM 在提高算力資源利用率和匹配準確率中有良好的表現.后續工作將圍繞算力與網絡融合開展.未來也將在用戶意圖感知和算力調度的路由和尋址工作進行更深入的研究.
作者貢獻聲明:柴若楠負責實驗設計、數據分析,以及論文初稿的撰寫;郜帥指導實驗設計、數據分析、論文寫作,以及論文修改;蘭江雨參與實驗設計和試驗結果分析;劉寧春參與論文的構思及整理.