












摘 要: "針對傳統負載均衡算法不能滿足公網數字集群系統高并發用戶請求和快速呼叫建立等需求,提出一種基于負載反饋的分布式數字集群動態負載均衡算法,實現公網數字集群系統負載均衡,提高用戶容量。首先建立參與MCPTT服務器的靜態負載和動態負載監控機制和指標;然后利用加權輪詢算法為用戶分配參與MCPTT服務器,并通過用戶請求的處理獲得復合負載參數;根據負載指標的反饋更新參與MCPTT服務器權值以動態調整服務器負載。仿真結果表明,該算法的負載均衡效果優于傳統算法和其他動態反饋算法,負載均衡度更小、用戶請求響應延遲更低。
關鍵詞: "分布式數字集群; 動態負載均衡; 動態權值; 負載反饋
中圖分類號: "TP393.07 """文獻標志碼: A
文章編號: "1001-3695(2022)02-034-0526-05
doi:10.19734/j.issn.1001-3695.2021.07.0280
Dynamic load balancing algorithm based on "load feedback for distributed digital trunk
Qu Qiancong, Wang Jun
(School of Electronic amp; Information Engineering, Beijing Jiaotong University, Beijing 100044, China)
Abstract: "Traditional load balancing algorithms can’t meet the demand of high concurrent requests and quick calling of public network digital trunk.This paper proposed a dynamic load balancing algorithm based on load feedback for distributed digital trunk to achieve load balancing and increase user capacity.Firstly,this paper established monitoring method and monitoring indexes for static and dynamic load of participating MCPTT server.Then,it
used weighted round robin algorithm to allocate participating MCPTT server to users and got complex load parameters by dealing user requests.Finally,it updated the weight of participating MCPTT server based on load feedback to dynamically adjust server load.Simulation results show that the proposed algorithm has better load balancing effect,smaller load balancing degree and lower response delay compared with traditional algorithms and other dynamic feedback algorithms.
Key words: "distributed digital trunk; dynamic load balancing; dynamic weight; load feedback
0 引言
公網數字集群是一種專業指揮調度系統,應用于政府、公安、交通等部門[1]。分布式公網數字集群通過合理分配用戶登錄和呼叫請求至多臺服務器,實現負載均衡,提高用戶容量。
分布式公網數字集群系統可通過高效的負載均衡算法實現高并發的用戶請求。負載均衡算法分為靜態負載均衡算法和動態負載均衡算法。靜態負載均衡算法在負載均衡服務器中預先配置服務器分配策略,使用固定參數進行計算與分配,常見的靜態負載均衡算法有隨機算法、簡單輪詢算法、加權輪詢算法等[2];動態負載均衡算法收集服務器的性能指標,通過某種數學模型計算來動態分配用戶請求,常見的動態負載均衡算法有最小連接數算法、加權最小連接數算法、最快響應速度算法等[2]。根據分布式公網數字集群系統組呼特點,用戶的呼叫業務量不同,導致不同參與MCPTT服務器的負載不同。靜態負載均衡算法和動態負載均衡算法以用戶數作為負載單位,未充分考慮在線用戶的業務量差異,服務器的實際負載可能會嚴重失衡[3]。因此,分布式公網數字集群的負載均衡算法需要以服務器CPU、內存、網絡帶寬等實際負載為評價指標并動態調整服務器分配策略。
國內外提出了多種以服務器實際性能和負載為評價指標的負載均衡算法,動態調整服務器分配策略。文獻[4]提出了一種基于最小連接數算法改進的動態負載均衡算法ECON,該算法在根據節點響應時間和連接數計算復合負載后,根據服務器權重與復合負載的比值選擇最優節點,降低了高并發請求下的響應時間和失敗率,但選擇單一節點的機制在處理高并發請求時會造成請求的堆積。文獻[5]提出了一種基于排隊論的動態負反饋負載均衡算法DFQT,將服務器節點視為M/M/1無限資源等待系統模型,綜合考慮節點的承載能力和當前等待隊列的長度,并通過計算節點的期望請求到達率為節點分配相應權重的請求,降低了高并發請求下的響應時間、提高了吞吐量,但該算法假設請求到達速率和處理時間是相互獨立的,忽略了服務器節點在高負載情況下處理時間的增加。
為了克服選擇單一節點請求堆積和高負載下處理時間增加的問題,滿足分布式公網數字集群負載均衡的需求,本文提出一種用于分布式公網數字集群的自適應負載均衡算法——基于負載反饋的加權輪詢算法。該算法建立參與MCPTT服務器的靜態負載和動態負載監控機制和指標,利用加權輪詢算法為用戶分配服務器,并通過用戶請求的處理獲得復合負載參數,最后通過服務器負載指標反饋的方式更新參與MCPTT服務器權值,動態調整服務器負載,實現分布式公網數字集群系統的負載均衡,提高用戶容量[6~8]。
1 分布式公網數字集群系統
分布式公網數字集群系統由負載均衡服務器、參與MCPTT服務器集群、控制MCPTT服務器集群、媒體服務器集群、數據庫集群和Zookeeper集群組成。分布式公網數字集群系統的架構如圖1所示。
分布式公網數字集群系統依賴Zookeeper集群實現分布式服務協調。參與MCPTT服務器集群、控制MCPTT服務器集群和媒體服務器集群中每個節點啟動后注冊在Zookeeper集群中,并與Zookeeper集群維持鏈路監控,實現Zookeeper集群對所有服務器信息的維護。參與MCPTT服務器向Zookeeper集群訂閱控制MCPTT服務器集群的節點信息,用于實現參與MCPTT服務器節點對控制MCPTT服務器節點的服務調用和負載均衡??刂芃CPTT服務器向Zookeeper集群訂閱媒體服務器集群的節點信息,用于實現控制MCPTT服務器節點對媒體服務器節點的服務調用和負載均衡[9]。
用戶通過負載均衡服務器接入分布式公網數字集群系統。負載均衡服務器獲取參與MCPTT服務器集群的節點信息,為用戶分配參與MCPTT服務器,實現負載均衡[10]。
2 基于負載反饋的加權輪詢算法
2.1 加權輪詢算法
加權輪詢算法用服務器權值表示服務器之間CPU、內存、網絡帶寬等性能的差異,性能強的服務器權值高,分配更多請求。通過預先設置服務器權值,使服務器根據處理能力接收請求,實現負載均衡[11,12]。加權輪詢算法服務器權值的設置過程中,僅考慮了服務器的初始承載能力,忽略了系統運行過程中用戶業務量的差異[13]。
分布式公網數字集群用戶登錄過程中,在線用戶會隨機發起呼叫,不同服務器用戶業務量不同。在分布式公網數字集群中,可以根據CPU、內存、網絡帶寬等性能為參與MCPTT服務器預先配置權值,實現用戶連接數的負載均衡,但是服務器實際負載與權值不匹配,導致負載嚴重失衡。因此,加權輪詢算法無法有效實現分布式公網數字集群的負載均衡。
2.2 基于負載反饋的加權輪詢算法
2.2.1 算法模型
基于加權輪詢算法忽略了用戶業務量差異,導致服務器負載失衡的問題,為了增強分布式公網數字集群的負載自適應能力,提出一種用于分布式公網數字集群的動態負載均衡算法——基于負載反饋的加權輪詢算法,其算法模型如圖2所示。
當用戶登錄時,負載均衡服務器計算參與MCPTT服務器權值,執行加權輪詢,為用戶分配參與MCPTT服務器。在登錄后,用戶會隨機發起呼叫,用戶的呼叫需求不同,所以不同參與MCPTT服務器的實際負載不同。在處理用戶請求之后,計算參與MCPTT服務器負載指標。負載均衡服務器按照一定周期根據服務器負載指標重新計算權值。通過負載反饋機制,以參與MCPTT服務器負載指標動態調整分配策略,適應負載的變化,使服務器負載趨于均衡[14,15]。
2.2.2 服務器負載指標與服務器權值
1)服務器負載指標 服務器負載指標由靜態負載因素和動態負載因素組成。靜態負載因素定義為服務器的初始承載能力,即服務器空閑時的性能;動態負載因素定義為服務器運行過程中的剩余承載能力[16]。
(1)靜態負載因素 假設服務器的平均CPU頻率 C avg 、平均內存容量 M avg 、平均網絡帶寬 N avg 分別為
C avg=∑ n i=1 c i/n,M avg=∑ n i=1 m i/n,N avg=∑ n i=1 n i/n ""(1)
其中: c i、m i、n i 分別為服務器 i 的CPU頻率、內存容量和網絡帶寬; n 為服務器總數。服務器靜態負載因素 SC i 為
SC i=α c c i C avg +α m m i M avg +α n n i N avg 且α c+α m+α n=1 ""(2)
其中: c i、m i、n i 分別為服務器 i 的CPU頻率、內存容量和網絡帶寬; n 為服務器總數; α c、α m、α n 分別為CPU頻率、內存容量和網絡帶寬的影響程度。
(2)動態負載因素 服務器動態負載因素反映了服務器的實際負載情況。服務器的資源占用負載 RO i 為
RO i=α cL c i+α mL m i+α nL n i且α c+α m+α n=1 ""(3)
其中: L c i、L m i、L n i 分別為服務器 i 的CPU占用率、內存占用率和網絡帶寬占用率; α c、α m、α n 分別為CPU占用率、內存占用率和網絡帶寬占用率的影響程度。
服務器資源占用率是服務器負載的宏觀指標,無法直接反映參與MCPTT服務器進程的剩余處理能力,需要用三個指標反映剩余處理能力:a)用戶已登錄分布式公網數字集群系統的數量(即用戶連接數)反映服務器進程的繁忙程度;b)用戶請求處理延遲定義為用戶發起請求與服務器返回響應的時間差,是服務器動態負載的直接體現,負載越高,用戶請求處理時延越高;c)待處理請求數量反映服務器的負載,隊列越長,服務器的響應延遲越高。將用戶連接數、用戶請求處理延遲和待處理請求數量加權求和作為復合負載[17,18]。服務器的復合負載 CL i 為
CL i=α conN con+α tN t+α qN q且α con+α t+α q=1 ""(4)
其中: N con、N t、N q 分別為服務器 i 的用戶連接數、用戶請求處理時延和待處理請求數量; α con、α t、α q 分別為用戶連接數、用戶請求處理時延和待處理請求數量的影響程度。
服務器動態負載因素 DL i 為
CL i=β rRO i+β cCL i且β r+β c=1 ""(5)
其中: RO i 為服務器的資源占用負載; CL i 為服務器 i 的復合負載; β r、β c 分別為資源占用負載和復合負載的影響程度。
(3)負載指標 服務器負載指標 L i 為
L i= γ 1DL i γ 2SC i 且γ 1+γ 2=1 ""(6)
其中: SC i 為服務器 i 的靜態負載因素; DL i 為服務器 i 的動態負載因素; γ 1、γ 2 分別為動態負載因素和靜態負載因素的影響程度。
服務器負載指標與靜態負載因素成反比,與動態負載因素成正比,即靜態負載因素越大,服務器的初始承載能力越強,相應的當前負載越低,動態負載因素越大,服務器的負載越重,實際剩余承載能力越少。
2)服務器權值 服務器權值 ω i 為
ω i= 1 L i /∑ n k=1 "1 L k """(7)
其中: L i 為服務器的負載指標; n 為服務器總數。
為了使算法能根據實時負載動態改變服務器處理用戶請求的數量,實現負載自適應,權值應該能夠反映服務器當前的請求處理能力。根據服務器權值定義,服務器權值之比為服務器負載指標倒數之比,實時負載高的服務器權值占比較低,處理更少請求;實時負載低的服務器權值占比較高,處理更多請求[19]。
2.2.3 算法描述
基于負載反饋的加權輪詢算法的基本思想是:在服務器處理請求的過程中記錄服務器負載指標,并根據負載動態改變服務器權值以實現負載自適應。動態權值使負載高的服務器接下來處理請求次數變少、負載低的服務器接下來處理請求次數變多,保證服務器在一個輪詢周期中處理請求的次數與權值成正比,與負載成反比,并且不會連續處理多次請求,防止請求產生堆積[20]。負載均衡服務器根據參與MCPTT服務器運行過程中的負載指標實時更新服務器權值,負反饋調整服務器分配策略?;谪撦d反饋的加權輪詢算法的描述如下:
a)負載指標和權值初始化。根據式(2)~(6)初始化服務器負載指標 L i 和權值 ω i ,并為每臺服務器設置臨時權值 currentWeight 為0。
b)參與MCPTT服務器分配。當接收到用戶登錄請求時,負載均衡服務器為用戶分配參與MCPTT服務器的流程如下:
(a)計算真實權值之和,服務器節點的真實權值之和 totalWeight=∑ n i=1 ω i 。其中, ω i 為服務器 i 的權值, n 為服務器總數。
(b)給每個服務器的臨時權值加上服務器真實權值,服務器 i 的臨時權值
currentWeight i=currentWeight i+w i 。其中, ω i 為服務器 i 的權值。
(c)取 currentWeight 最大的服務器為本次分配服務器, currentWeight的最大值currentWeight max =max {currentWeight i} 。其中, currentWeight i 為服務器 i 的臨時權值。
(d)本次分配服務器的臨時權值減去總權值,本次分配服務器的臨時權值 currentWeight ass=currentWeight max-totalWeight 。其中, currentWeight max 為臨時權值的最大值, totalWeight 為服務器真實權值之和。
(e)更新本次分配服務器的待處理請求數,本次分配服務器的待處理請求數 N q=N q+1 。
c)用戶請求處理。當處理用戶請求時,參與MCPTT服務器需要更新服務器的復合負載參數。服務器待處理請求數 N q=N q+1 ;服務器請求處理時延 N t=T end-T start 。其中, T start 為請求接收時間, T end 為請求處理完成時間。服務器用戶連接數 N con=N con+1 。
d)服務器權值更新。當權值更新定時器到期時,負載均衡服務器根據式(2)~(6)重新計算服務器負載指標 L i ,更新權值 ω i ,并設置臨時權值 currentWeight 為0。
e)循環。按照服務器當前權值,循環步驟b)~d)。
2.2.4 算法實現流程
基于負載反饋的加權輪詢算法的流程如圖3所示。當系統啟動時,初始化參與MCPTT服務器的負載指標并計算服務器權值;當接收到用戶的接入請求時,負載均衡服務器以當前服務器權值執行加權輪詢,分配服務器并通知用戶;用戶向指定參與MCPTT服務器發送登錄請求,參與MCPTT服務器將請求存入待處理隊列中,并更新待處理請求數;當處理登錄請求時,參與MCPTT服務器更新待處理請求數,記錄本次請求處理時延并更新用戶連接數;負載均衡服務器設置權值更新定時器,當定時器到期時,計算參與MCPTT服務器的負載指標并更新服務器權值。
3 仿真驗證
3.1 驗證環境
為了完成算法驗證,搭建分布式公網數字集群系統測試環境,基于負載反饋的加權輪詢算法的驗證環境如圖4所示。
用戶模擬器可以模擬多個分布式公網數字集群用戶發送并發登錄和呼叫請求。負載均衡服務器負責算法的執行,在接收到用戶的連接請求后,根據數據庫中參與MCPTT服務器權值執行加權輪詢,為用戶分配服務器,同時負責定期計算參與MCPTT服務器負載指標,更新服務器權值并存入數據庫。參與MCPTT服務器接收、處理用戶的登錄和呼叫請求,并記錄用戶連接數、請求處理時延、待處理請求數量,定期存入數據庫中。服務器硬件配置如表1所示。
3.2 驗證指標
采用負載均衡效果、負載均衡度和用戶登錄時延指標驗證基于負載反饋的加權輪詢算法的性能。
a)負載均衡效果。負載均衡算法的目標是通過合理分配請求,使資源不同的服務器之間負載保持平衡。服務器中待處理請求數量反映了服務器當前的繁忙程度,將待處理隊列長度定義為服務器負載,隊列越長,服務器的響應延遲越高。通過觀察服務器待處理請求隊列長度隨時間變化的趨勢評價不同算法的負載均衡效果。
b)負載均衡度。其為服務器負載的偏差程度,定義為服務器負載的均方差。服務器負載均衡度 ε 定義為
ε= "1 n ∑ n i=1 (L i-L avg)2 """(8)
其中: L i 為服務器 i 的負載指標; L avg 為服務器的平均負載指標; n 為系統中服務器的數量。以負載均衡度定量評價服務器之間的負載均衡程度,比較不同負載均衡算法的性能。負載均衡度越小,服務器負載的偏差越小,負載均衡程度越好。
c)用戶登錄時延。負載均衡的最終目標是用戶體驗的提升,也就是請求響應時延的降低。以用戶并發登錄時延作為負載均衡算法的評價數據,當在線用戶隨機呼叫時,記錄每個用戶的登錄時延,并統計最短登錄時延、最長登錄時延和平均登錄時延,比較不同算法對請求響應時延的改善。
3.3 驗證方法與流程
1)驗證方法 分別編寫參與MCPTT服務器模擬程序、用戶模擬器程序以及負載均衡服務器。參與MCPTT服務器模擬程序啟動三個線程,分別是登錄接收線程、登錄處理線程以及呼叫模擬線程。當收到來自負載均衡服務器的用戶登錄請求時,登錄接收線程將用戶請求加入待處理隊列中,記錄接收時間并更新待處理請求數。登錄處理線程模擬處理登錄的過程,每條登錄請求處理200 ms,處理完成后記錄處理完成時間,計算用戶請求響應時延并更新待處理請求數和用戶連接數。呼叫模擬線程模擬在線用戶隨機發起呼叫,隨機呼叫規則為:用戶連接數小于10時系統中無呼叫;用戶連接數大于10時,每隔一段隨機時間,系統中產生1次并發呼叫,時間間隔的隨機范圍為10~20 s;每次并發呼叫的用戶數是隨機的,隨機范圍為5-(5+用戶連接數/10);每條呼叫請求處理為300 ms。
用戶模擬器程序每60 ms向負載均衡服務器發送一條用戶登錄請求。當接收到用戶的登錄請求后,負載均衡服務器根據參與MCPTT服務器權值執行加權輪詢,分配服務器并通知用戶;負載均衡服務器每隔2 s計算參與MCPTT 服務器負載指標并更新權值。
2)驗證流程 基于負載反饋的加權輪詢算法的仿真驗證流程如下:a)建立用戶模擬器程序與負載均衡服務器的連接,建立負載均衡服務器與參與MCPTT服務器的連接;b)用戶模擬器程序每60 ms發送一條登錄請求,并根據測試需要選擇并發請求數量;c)測試過程中持續記錄每臺參與MCPTT服務器的負載、負載均衡度以及每條登錄請求的響應時延;d)統計數據,比較不同算法的性能。
3.4 驗證結果
算法的仿真參數如表2所示。
分別采用簡單輪詢、最小連接數兩種傳統算法,ECON[4]、DFQT[5]兩種動態反饋算法以及本文提出的基于負載反饋的加權輪詢算法,從負載均衡效果、負載均衡度以及用戶登錄時延對算法進行評價,對比不同算法的負載均衡性能。
1)負載均衡效果 用戶模擬器每60 ms發送一條登錄請求,1 min向負載均衡服務器發送1 000條登錄請求。在1 000個用戶登錄期間,已登錄用戶會隨機發起呼叫。記錄參與MCPTT服務器1 min內的負載變化,抽樣周期為1 s。
簡單輪詢算法、最小連接數算法、ECON算法、DFQT算法和本文的基于負載反饋的加權輪詢算法的負載曲線如圖5所示。
隨著時間的推移,并發用戶數量增加,所有算法的負載不斷增長。在簡單輪詢算法和最小連接數算法下,當服務器中已連接用戶發起呼叫時,服務器之間的負載發生偏離,隨著呼叫次數的增加,偏差逐漸增大。由于簡單輪詢算法和最小連接數算法僅考慮服務器的用戶連接數,未考慮實際負載,所以當服務器中已登錄用戶發起呼叫時,服務器的實際負載失去平衡。
兩種動態反饋算法ECON和DFQT以服務器的實際負載情況反饋調整了分配策略,可以在負載偏離時進行調整,因此負載均衡效果優于傳統算法。ECON算法由于始終將請求分配至最優節點,當服務器QPS較高時最優節點會發生請求堆積,導致動態調整遲滯,負載波動較大。DFQT算法假設請求到達速率和處理時間相互獨立,未充分考慮服務器處理時間隨負載的變化,因此請求分配比例誤差較大,服務器負載間存在一定偏差。 基于負載反饋的加權輪詢算法以實際負載作為負反饋,每當呼叫產生,實際負載發生偏差時,服務器權值總是實時調整,使服務器的負載總是趨于平衡,具有負載自適應能力。根據負載均衡效果的測試數據可知,在基于負載反饋的加權輪詢算法下,服務器之間的負載偏差最小,負載均衡效果最好,優于傳統算法、ECON算法和DFQT算法。
2)負載均衡度 用戶模擬器每60 ms發送一條登錄請求,1 min向負載均衡服務器發送1 000條登錄請求。在1 000個用戶登錄期間,已登錄用戶會隨機發起呼叫。記錄1 min內參與MCPTT服務器的負載均衡度,抽樣周期為1 s。傳統算法和本文算法的負載均衡度曲線如圖6所示。ECON算法、DFQT算法和本文算法的負載均衡度曲線圖如圖7所示。
隨著時間的推移,用戶連接數增大,所有算法的負載均衡度均有所增加。簡單輪詢算法和最小連接數算法波動較大,最大負載均衡度超過了7,且隨著用戶連接數增大負載均衡度逐漸增大。由于簡單輪詢算法和最小連接數算法以用戶連接數為負載單位,未考慮用戶呼叫業務量不同,每當呼叫產生就會產生較大的負載偏差,負載均衡度上升。ECON和DFQT算法由于動態調整了分配策略,降低了服務器之間的負載偏差,負載均衡度有所改善?;谪撦d反饋的加權輪詢算法的負載均衡度低于ECON和DFQT算法,負載均衡度圍繞2波動,不超過4。由于基于負載反饋的加權輪詢算法以服務器的實際負載進行動態調度,每當呼叫產生,負載偏離時,負反饋機制會實時修正服務器權值使負載趨于平衡,資源的實時調度與分配更合理。
所有算法的負載均衡度數據統計如表3所示。在1 min內,簡單輪詢算法和最小連接數算法的平均負載均衡度超過了4,且最大負載均衡度超過了7;ECON和DFQT算法負載均衡度低于傳統算法?;谪撦d反饋的加權輪詢算法優于傳統算法、ECON和DFQT算法,平均負載均衡度為2,且最大負載均衡度不超過4?;谪撦d反饋的加權輪詢算法的負載偏差更小,且負載均衡度更穩定,體現了資源的實時調度與分配更合理,資源分配越合理,服務器的整體資源利用率越高。
3)用戶登錄時延 用戶模擬器每60 ms發送一條登錄請求,1 min向負載均衡服務器發送1 000條登錄請求。在1 000個用戶登錄期間,已登錄用戶會隨機發起呼叫。記錄所有用戶的登錄請求響應時延,并統計最短登錄時延、最長登錄時延和平均登錄時延。所有算法的用戶登錄響應時延如表4所示。
基于負載反饋的加權輪詢算法在最長登錄時延和平均登錄時延上都小于傳統算法、ECON算法和DFQT算法。由于采用基于負載反饋的加權輪詢算法進行負載均衡時,服務器的實際負載最均衡,資源分配合理,服務器響應更及時,使得在同樣的服務器資源下,該算法下的用戶登錄時延更低、體驗更好。
4 結束語
本文根據分布式公網數字集群系統的架構,分析了分布式公網數字集群用戶業務量不同的特點,提出了一種基于負載反饋的加權輪詢算法。首先建立參與MCPTT服務器的靜態負載和動態負載監控機制和指標;然后利用加權輪詢算法為用戶分配服務器,并通過用戶請求的處理獲得復合負載參數;最后通過服務器負載指標反饋的方式更新參與MCPTT服務器權值,動態調整服務器負載,實現負載均衡。本文對算法進行了仿真驗證,驗證結果表明在用戶業務量不同的場景下,本文算法的負載均衡效果優于傳統算法和其他動態反饋算法,負載均衡度更小,用戶請求響應延遲更低。 下一步研究方向是優化服務器負載指標和權值計算方法,降低參數計算帶來的性能下降;研究權值更新周期與動態負載均衡性能的相關性,通過設置最優更新周期來提高負載均衡性能。
參考文獻:
[1] "孫昕,李海.淺談我國數字集群的發展[J].移動通信,2010, 34 (5):69-73. (Sun Xin,Li Hai.Talking about the development of di-gital cluster in China[J]. Mobile Communications ,2010, 34 (5):69-73.)
[2] 毛可嘉.客戶端負載均衡算法研究及在即時通訊架構中的應用與實現[D].成都:電子科技大學,2018. (Mao Kejia.Research on client site load balancing algorithm and its application and implementation in instant messaging architecture[D].Chengdu:University of Electronic Science amp; Technology of China,2018.)
[3] 李冬梅,施海虎.負載平衡調度問題的一般模型研究[J].計算機工程與應用,2007, 43 (8):121-125. (Li Dongmei,Shi Haihu.Study on general load balancing scheduling model[J]. Computer Engineering and Applications ,2007, 43 (8):121-125.)
[4] Zhu Liangshuai,Cui Jianming,Xiong Gaofeng.Improved dynamic load balancing algorithm based on least-connection scheduling[C]//Proc of the 4th IEEE Information Technology and Mechatronics Engineering Conference.Piscataway,NJ:IEEE Press,2018:1858-1862.
[5] Wen Zepeng,Li Gongliang,Yang Guanghong.Research and realization of Nginx-based dynamic feedback load balancing algorithm[C]//Proc of the 3rd IEEE Advanced Information Technology,Electronic and Automation Control Conference.Piscataway,NJ:IEEE Press,2018:2541-2546.
[6] Qin E,Wang Yuanli,Yuan Liping, et al .Research on Nginx dynamic load balancing algorithm[C]//Proc of the 12th International Confe-rence on Measuring Technology and Mechatronics Automation.Washington DC:IEEE Computer Society,2020:620-624.
[7] 吳俊鵬,劉曉東.一種基于集群的動態負載均衡算法研究[J].電子設計工程,2021, 29 (16):75-78. (Wu Junpeng,Liu Xiaodong.Research on a dynamic load balancing algorithm based on cluster[J]. Electronic Design Engineering ,2021, 29 (16):75-78.)
[8] 宋文文.基于SDN的數據中心網絡負載均衡研究與實現[D].南京:南京郵電大學,2020. (Song Wenwen.Research and implementation on load balancing of data center network based on SDN[D].Nanjing:Nanjing University of Posts amp; Telecommunications,2020.)
[9] Jadhav K A,Mulla M M,Narayan D G.An efficient load balancing mechanism in software defined networks[C]//Proc of the 12th International Conference on Computational Intelligence and Communication Networks.Piscataway,NJ:IEEE Press,2020:116-122.
[10] Kishor A,Niyogi R,Veeravalli B.Fairness-aware mechanism for load balancing in distributed systems[J]. IEEE Trans on Services Computing ,2020,DOI:10.1109/TSC.2020.3044104.
[11] 李元洪.基于反饋的動態負載平衡調度算法在Hadoop異構環境中的設計與實現[D].南京:南京理工大學,2012. (Li Yuanhong.Design and implementation of dynamic load balancing scheduling algorithm based on feedback in Hadoop heterogeneous environment[D].Nanjing:Nanjing University of Science amp; Technology,2012.)
[12] Kushwaha M,Raina B L,Singh S N.Advanced weighted round robin procedure for load balancing in cloud computing environment[C]//Proc of the 11th International Conference on Cloud Computing,Data Science amp; Engineering.2021:215-219.
[13] "Miller A J.Settings for fixed-cycle traffic signals[J]. Journal of the Operational Research Society ,1963, 14 (4):373-386.
[14] Arel I,Liu C,Urbanik T, et al. "Reinforcement learning-based multi-agent system for network traffic signal control[J]. IET Intelligent Transport Systems ,2010, 4 (2):128-135.
[15] Dresner K,Stone P.Multiagent traffic management:opportunities for multiagent learning[C]//Proc of International Workshop on Learning and Adaption in Multi-Agent Systems.Berlin:Springer,2005:129-138.
[16] El-Tantawy S,Abdulhai B,Abdelgawad H.Multiagent reinforcement learning for integrated network of adaptive traffic signal controllers(MARLIN-ATSC):methodology and large-scale application on downtown Toronto[J]. IEEE Trans on Intelligent Transportation Systems ,2013, 14 (3):1140-1150.
[17] Zhang Kaiqing,Yang Zhuoran,BaAr T.Decentralized multi-agent reinforcement learning with networked agents:recent advances[J]. Frontiers of Information Technology amp; Electronic Engineering ,2021, 22 (6):802-814.
[18] Sukhbaatar S,Szlam A,Fergus R.Learning multiagent communication with backpropagation[EB/OL].(2016-10-31).https://arxiv.org/abs/ 1605.07736.
[19] Jang E,Gu Shixiang,Poole B.Categorical reparameterization with Gumbel-softmax[EB/OL].(2017-08-05).https://arxiv.org/abs/1611.01144.
[20] Mao Hangyu,Gong Zhibo,Ni Yan, et al. ACCNet:actor-coordinator-critic net for “learning-to-communicate” with deep multi-agent reinforcement learning[EB/OL].(2017-10-29).https://arxiv.org/abs/ 1706.03235.
[21] Littman M L.Markov games as a framework for multi-agent reinforcement learning[M]//Cohen W W,Hirsh H.Machine Learning Procee-dings 1994.[S.l.]:Morgan Kaufmann,1994:157-163.
[22] Lowe R,Wu Yi,Tamar A, et al. Multi-agent actor-critic for mixed cooperative-competitive environments[C]// Proc of the 31st International Conference on Neural Information Processing System.2017:6382-6393.
[23] Gupta S,Hazra R,Dukkipati A.Networked multi-agent reinforcement learning with emergent communication[EB/OL].(2020-04-09).https://arxiv.org/abs/2004.02780.