標題: 基於基因演算法之軟體定義網路多控制器負載平衡機制
Genetic Algorithm based Load Balancing for SDN Multiple Controllers
作者: 陳彥廷
王國禎
Chen, Yan-Ting
Wang, Kuo-Chen
資訊科學與工程研究所
關鍵字: 基因演算法;高可用性;負載平衡;多控制器架構;軟體定義網路;Genetic algorithm;high availability;load balancing;multiple controllers;software defined network
公開日期: 2016
摘要: 多控制器架構下的軟體定義網路擁有健全的延展能力及可擴展性。然而,現今相關研究中多控制器架構所使用的觀測型負載平衡機制並不能有效的將負載移轉時的成本納入負載平衡計算中,且在移轉時總是將負載最高的交換器配置給最低負載量的控制器,此種方法並不能達到最佳的負載平衡結果。因此,我們提出基於基因演算法的多控制器負載平衡(GALB)機制,來協助多控制器進行負載平衡。在此負載平衡機制的基因演算法中,我們將移轉交換器的延遲納入考量,且引入離均差的概念,結果顯示此方法可以比其他相關研究得到更好的平衡結果。儘管我們所提的方法也會觀測控制器之負載量,但並不會總是把最高負載的交換器轉移給最低負載的控制器。在此方法的架構中,我們佈建一全域控制器,並在其中執行負載平衡應用程式,其底下則佈健有多台區域控制器,來負責回應交換器發出的請求。我們使用移動平均法來動態監測各控制器的負載量,一旦有負載不平衡的狀態發生,負載平衡的機制將會被觸發,而產生一組可以達到負載平衡的配置。區域控制器群將會依此結果重新配置交換器,達到負載平衡。此外,當區域控制器群皆處於高負載量的狀態,負載平衡系統會加入新的控制器來協助原控制器群,而當控制器群負載量都很低時,會關閉部分控制器以提升每個控制器的使用效率,並降低系統成本資源耗費。實驗結果顯示我們的負載平衡機制可以得到比相關研究更好的負載平衡值1.02,而相關研究中最好的負載平衡值為1.06。本方法所產生的負載平衡結果,使得控制器對於交換器的平均回應時間為11.8毫秒,而且所需的負載平衡速度僅88.6毫秒。皆比其它相關研究最好的平均回應時間12.14毫秒,負載平衡速度118.01毫秒還要低。總之,我們所提的GALB,在所有相關研究中擁有最好的負載平衡結果。
The software-defined network (SDN), which targets the improvement of network flexibility, is now putting efforts on deploying the multi-controller architecture for scalability. One major issue of the multi-controller architecture is that loads may be not evenly distributed among multiple controllers, thereby resulting in long response time of data traffic. Though there exist several load balancing mechanisms designed for the multi-controller architecture, they have two drawbacks. First, all of them seek to rely on a heuristic that the switch which generates the heaviest load is always assigned to the available controller with the lightest load. However, this heuristic may not lead to the optimal or near-optimal solution. Second, they did not consider switch migration cost, which determines the time consumption of load balancing. To address these two issues, we propose a Genetic Algorithm based Load Balancing (GALB) mechanism for the load balancing of the multi-controller architecture. In the GALB architecture, we deploy one global controller to mediate among multiple local controllers, which serve the switches’ requests. We then develop the GALB application at the global controller. GALB periodically monitors the local controllers’ loads, and triggers load balancing once their load deviation exceeds a specified threshold. The load balancing approach relies on the change of the switch-controller mapping to balance controllers’ loads. Moreover, more standby controllers are activated or some active controllers are put to sleep, when the overall loads are too heavy or too light. Experiment results show that GALB achieves better load balancing with the load balance metric (LBM) of 1.02, compared with the best LBM of the related works, 1.06. It also has better response time, 11.8 ms, and better load balancing time, 88.6 ms, compared with the best results of the related works, 12.14 ms and 118.01 ms, respectively.
URI: http://etd.lib.nctu.edu.tw/cdrfb3/record/nctu/#GT070356054
http://hdl.handle.net/11536/139531
Appears in Collections:Thesis