吳爭光 宋明康 柯騰輝 戴鵬 李衛東



摘要:目前,隨著短視頻、大數據技術的快速發展,區域內網絡資源的負載均衡對于區域網絡性能的影響越來越大。其中,網絡鏈路、網絡節點對于數據的分發、處理所需要時間的不均衡是影響網絡資源不均衡的主要原因之一。本文提出了一種面向分布式機器學習的節點資源負載均衡方法,建立基于時間序列的節點空閑時長預測模型,通過空閑節點的當前運行數據預測空閑節點在未來時刻的空閑時長和節點的最大可利用資源。區域核心服務器可將區域內的待處理數據資源進行分布式分發,實現區域網絡資源的負載均衡
關鍵詞:分布式機器學習;負載均衡
一、引言
算力的傳送和使用,需要高品質的網絡支撐。算力網絡成為2021年通信行業最高頻的詞匯之一。2020年11月,中國電信發布的《云網融合2030技術白皮書》,明確提出從云網協同、云網融合到云網一體的三個發展階段。2021年3月,中國聯通發布了CUBE-Net 3.0網絡創新體系白皮書,旨在推動網絡與計算深度融合,構建面向未來的算力新格局。2021年11月,中國移動發布《中國移動算力網絡白皮書》給出了算力網絡的清晰定義。隨著算力網絡的發展,新產業和新應用迅速崛起,面對海量的數據傳送和巨大的算力要求,算力資源分布和負載均衡等新問題亟待解決。因此本文提出一種基于分布式機器學習的節點資源負載均衡方法,基于多策略機制設計面向大規模分布式機器學習網絡的負載均衡方法,設計策略申請機制建立端到端的預分配來保證流量均衡,提高網絡吞吐率和可靠性。
二、節點資源負載均衡模型構建
網絡鏈路一般為網絡中兩個節點之間的物理通道,包括雙絞線、光纖和微波等;而網絡節點則為具有獨立地址和傳送或接收數據功能的設備,包括工作站﹑服務器、 終端設備 、網絡設備等。當區域核心服務器對海量數據進行處理時,首先會將該數據集分成同一大小的數據塊,然后通過網絡鏈路分發給不同的網絡節點,網絡節點對數據塊進行訓練和處理后,最后將處理結果回傳給區域核心服務器,由區域核心服務器進行整理和二次訓練確定最終的數據結果。在上述過程中,影響網絡性能的主要因素是網絡鏈路的狀態和網絡節點的狀態。
其中,網絡鏈路的狀態是影響網絡性能的第一因素,當用于進行網絡數據分發的網絡鏈路處于繁忙狀態時,會造成網絡擁塞;同理,當用于進行數據塊訓練的網絡節點處于繁忙狀態時,導致網絡節點無法及時進行數據訓練,另外,不同性能網絡節點對于同一大小的數據量進行訓練,所需要的訓練時間也不盡相同。所以,在節點將訓練結果回傳給核心服務器時,由于上述兩個階段需要消耗的時不一致,從而導致核心服務器的擁塞。
(一)基于時間序列的節點空閑時長預測模型
本試驗方法能夠根據區域內網絡鏈路和節點的歷史運行數據,通過預測空閑節點的空閑時長,確定空閑節點在空閑時段內的最大可利用資源,從而在區域核心服務器進行待處理數據資源分配的時候,將對應大小的網絡數據包以分布式的形式分發給對應網絡節點,從而達到區域內數據資源的合理分配,實現區域內網絡資源的負載均衡。
步驟1:確定鏈路和節點的歷史運行數據
根據一定時期區域內網絡鏈路中的所有鏈路及鏈路對端的網絡節點,確定鏈路和節點的歷史運行數據。對當前已使用資源、可使用資源、已處理資源、待處理資源、鏈路/節點對于數據資源處理速率等歷史運行數據進行采集,數據采集間隔為10秒,即對應的時間間隔可為10秒,或根據數據采樣點進行匯總確定的時間間隔。
步驟2:確定當前時刻的空閑鏈路
根據鏈路的當前運行數據,設定鏈路空閑資源閾值A1,當鏈路的當前使用資源小于閾值A1,則表示鏈路當前為空閑狀態,即為空閑鏈路。其中,鏈路空閑資源閾值A1為自定義值,可根據區域內網絡鏈路的實際資源情況進行設定。
步驟3:確定空閑鏈路下的空閑節點
根據空閑鏈路對端的網絡節點,設定網絡節點空閑資源閾值A2,當節點的當前使用資源小于閾值A2,則表示網絡節點當前為空閑狀態,即為的空閑節點。其中,網絡節點空閑資源閾值A2為自定義值,可根據區域內網絡節點的實際資源情況進行設定。
步驟4:建立基于時間序列的節點空閑時長預測模型
通過對空閑節點的歷史運行數據采集,建立基于時間序列的節點空閑時長預測模型,實現對空閑節點在未來時刻的空閑時長的預測。時間序列模型為目前機器學習領域普遍適用的有監督算法。通過對鏈路歷史交互數據進行處理,抽取到近3個月的試驗區域內所有網絡節點歷史資源數據。綜合分析后采用LSTM(Long Short-Term Memory)時間序列模型,按照時序特征將空閑節點的每個時刻的資源使用情況輸入到模型的單元中去,通過每個單元對時序數據特征的提取和記憶信息的融合,最終得到整個時間段內每個空閑節點預測的資源使用情況,根據網絡空閑節點資源閾值A2確定網絡空閑節點的空閑狀態,選取在連續時間段內都為空閑狀態的時間間隔,即為預測的空閑節點在未來時刻的空閑時長。
LSTM(Long Short-Term Memory)模型算法步驟如下:
1.首先,設置隱狀態和當前輸入級聯,組合成一個 combine;
2.將 combine 送入遺忘層,并在這一層去掉無關數據;
3.使用 combine 在候選層取得候選列表,列表將記錄所有可能會加入單元狀態中的值;
4.將combine送入輸入層,由輸入層決定候選列表內的哪些數據要加入新單元狀態內;
5.計算遺忘層,候選層和輸入層的輸出向量,結合之前的單元狀態計算新的單元狀態;
6.計算輸出;
7.將輸出與新單元狀態作點積得到新隱態。
對應的算法偽代碼如下:
def LSTMCELL(prev_ct, prev_ht, input):
combine = prev_ht + input
ft = forget_layer(combine)
candidate = candidate_layer(combine)
it = input_layer(combine)
Ct = prev_ct * ft + candidate * it
ot = output_layer(combine)
ht = ot * tanh(Ct)
return ht, Ct
ct = [0, 0, 0]
ht = [0, 0, 0]
for input in inputs:
ct, ht = LSTMCELL(ct, ht, input)
在算法中,按照時序特征將空閑節點的每個時刻的資源使用情況輸入到模型的單元中去,通過每個單元對時序數據特征的提取和記憶信息的融合,最終得到整個時間段內每個空閑節點預測的資源使用情況。
步驟5:確定在空閑時間段內該節點的最大可利用資源
通過對該區域內空閑節點的空閑時長和空閑節點的當前運行數據的采集,計算空閑節點在空閑時間段內的最大可利用資源。計算公式如下:
最大可利用資源=當前節點空閑時長*當前節點數據處理速率
其中,當前節點處理速率為S101中獲取到的節點在當前狀態下對于數據資源的處理速率。
實現:資源進行分布式分發,區域網絡資源負載均衡
根據節點的最大可利用資源,區域核心服務器可將區域內的待處理數據資源進行分布式分發,實現區域網絡資源的負載均衡。區域核心服務器在進行待處理數據資源分配的時候,可將對應大小的網絡數據包分發給對應的網絡節點,綜合該區域內核心服務器對多個空閑節點執行上述操作,從而達到區域內數據資源的合理分配,實現區域內網絡資源的負載均衡。
通過上述過程,能夠根據區域內網絡鏈路和節點的歷史運行數據,通過預測空閑節點的空閑時長,確定空閑節點在空閑時段內的最大可利用資源,從而在區域核心服務器進行待處理數據資源分配的時候,將對應大小的網絡數據包以分布式的形式分發給對應網絡節點,從而達到區域內數據資源的合理分配,實現區域內網絡資源的負載均衡。
三、效果驗證
確定模型方案后,取到近6個月的試驗區域內所有網絡節點歷史資源數據進行效果驗證。利用LSTM模型與各網絡節點歷史資源數據進行建模,預測各網絡節點的空閑時長及對應應分發的數據包大小,在各網絡節點將計算結果回傳給核心服務器后,計算整個過程的時長
為了方便本方案的效果驗證,采用的對照實驗組為核心服務器直接分發相同大小的數據包至各網絡節點,統計此過程需要用到的時長,下表中用普通方案表示。
在實驗中發現,由于不同時刻各網絡節點的資源使用的不同,導致在不同時刻兩種方案對同一大小的數據包處理的過程中,所需的處理時長出現了波動。為了最小化上述波動對實驗結果的影響, 本文選取同一天的4點、13點和21點分別運行兩種方案,并對兩種模型的處理時長取平均值。其中,選取4點作為模型運行的起始時間,通過對比兩種方案在不同大小的數據包所需要的處理時長,最終效果如表1所示:
選取13點作為模型運行的起始時間,通過對比兩種方案在不同大小的數據包所需要的處理時長,最終效果如表2所示:
選取21點作為模型運行的起始時間,通過對比兩種方案在不同大小的數據包所需要的處理時長,最終效果如表3所示:
對上述三次實驗的處理時長取平均值,通過對比兩種方案在不同大小的數據包所需要的平均處理時長,最終效果如表4所示:
通過對照實驗可以發現,模型方案對于數據包的處理時長較普通方案效率提升超60%,平均處理時長縮短了近3倍。在實際的數據包處理過程中,將對應大小的網絡數據包以分布式的形式分發給對應網絡節點,可達到區域內數據資源的合理分配,實現區域內網絡資源的負載均衡。
四、結束語
利用分布式機器學期和時間序列模型算法以及對網絡節點的歷史交互數據的采集,本文構建了基于分布式機器學習的節點資源負載均衡方法,提供了一種在算網一體新型網絡發展進程下的節點算力資源的負載均衡方法,從而實現增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。
本研究著眼于對未來網絡和算力結合發展的背景下算力網絡的研究,積極融合以機器學習為代表的前沿技術及思想,展望了分布式架構下的算力網絡開放新生態,積極推動以分布式新型算力網絡為基礎的研究與發展。
作者單位:吳爭光? ?宋明康? ?柯騰輝? ?戴鵬? ?李衛東
中國聯合通信網絡集團有限公司深圳市分公司
參? 考? 文? 獻
[1]曹暢, 唐雄燕. 算力網絡關鍵技術及發展挑戰分析[J]. 信息通信技術與政策, 2021,47(3): 6-11.
[2]雷波, 劉增義, 王旭亮, 等. 基于云, 網, 邊融合的邊緣計算新方案: 算力網絡[J]. 電信科學, 2019, 35(9): 44-51.
[3]呂廷杰, 劉峰. 數字經濟背景下的算力網絡研究[J]. 北京交通大學學報 (社會科學版), 2021, 20(01): 11.
[4]呂廷杰, 劉峰. 數字經濟背景下的算力網絡研究[J]. 北京交通大學學報 (社會科學版), 2021, 20(01): 11.
[5]邊緣計算網絡產業聯盟( ECNI) . 運營商邊緣計算網絡技術白皮書[R], 2019.
[6]舒娜, 劉波, 林偉偉, 等. 分布式機器學習平臺與算法綜述[J]. 計算機科學, 2019, 46(3): 9-18.
[7]杜海舟, 黃晟. 分布式機器學習中的通信機制研究綜述[J]. 上海電力大學學報, 2021.
[8]何清, 李寧, 羅文娟, 等. 大數據下的機器學習算法綜述[J]. 模式識別與人工智能, 2014, 27(4): 327-336.
[9]中國聯合網絡通信集團有限公司 . 算力網絡架構與技術體系白皮書[R],2020.
[10]亢良伊, 王建飛, 劉杰, 等. 可擴展機器學習的并行與分布式優化算法綜述[J]. Journal of Software, 2018, 29(1).
[11]孟彬彬, 吳艷. 面向云計算的分布式機器學習任務調度算法研究[J]. 西安文理學院學報 (自然科學版), 2020.