曾輝
(四川大學計算機學院,成都 610065)
計算機技術的飛速發展,互聯網人群的不斷增加,導致網絡的業務量與數據量呈爆炸性增長,這對服務器是一個嚴峻的考驗。當服務器達到瓶頸時,解決的方案主要有兩種,一是用性能更好,運算速度更快的服務器替換,二是集群化,增加服務器的數量構成集群共同對外服務,后者因性價比高擴展性好而成為首選。服務器集群面臨的一個重要問題就是負載均衡,負載是否均衡直接影響到集群的性能,容錯性以及穩定性。決定集群負載是否均衡的核心在于負載均衡算法,高效率負載均衡算法可以增大集群的吞吐量,降低請求平均反應時間,從而提高集群的資源利用率,增加公司的市場競爭力。目前很多學者提出了很多改進的負載均衡算法,其中一種策略就是基于參數的加權負載分配。
參數化加權負載分配策略是根據服務節點一些參數,例如CPU占用率,內存占用率,網絡帶寬,磁盤速率等,對這些參數賦予一個適當的計算系數,計算出節點的處理能力與實際負載,再綜合考慮二者從而決定任務分配的一種策略。這種策略的重點在于節點的參數選擇與計算系數的分配上,參與計算的參數選取的越多,節點性能與負載計算越精確,但帶來的額外的計算開銷也越大;計算系數選擇合適,算法效率會大大提高,若計算系數選取不當,則很可能會起到相反的效果。
國防科技大學的劉健等人提出了一種基于動態反饋的負載均衡算法,算法在選取目標服務器時考慮了節點處理能力與節點實際負載兩種因素的影響,在獲取節點的處理能力時,算法考慮了CPU的數量,類型和頻率,內存容量,磁盤I/O速率,最大進程數量以及網絡吞吐量等因素,在獲取節點的實際負載時,算法考慮了CPU利用率,內存利用率,進程數量占用率,磁盤I/O占用率,網絡帶寬占用率等因素。首先,算法選出集群中負載最小的節點,然后根據預設的閾值f選出符合條件的候選服務器集群J,然后根據節點的處理能力按照一定的概率將任務隨機分配給候選服務器中的某個節點。算法考慮到了節點的處理能力與實際負載兩種因素,均衡效率與經典的最少連接算法相比有了提升,但是算法并沒有將節點的處理能力與實際負載綜合考慮,在選取候選服務器節點時只考慮了負載而忽視了節點性能,這使得算法的效率有所下降。并且,在考慮節點性能與實際負載時,算法充分考慮了各種因素的影響,雖然更加精確但相應的計算也產生了一定的額外開銷。
重慶大學的張玉芳等人提出了一種基于負載權值的負載均衡算法。算法根據節點的CPU數量和頻率,內存容量,網絡吞吐量和磁盤I/O速率計算出節點的處理能力,根據節點的CPU占用率,內存占用率,網絡帶寬占用率和磁盤I/O占用率計算出節點的實際負載,然后將節點的實際負載與節點處理能力的比值定義為負載權值,在選取目標節點時首先將集群中負載權值最小的節點選取出來,然后根據預設的閾值f選出符合條件的候選服務器集群J。與劉健等人的算法相比,該算法在選取候選服務器節點時充分考慮了節點處理能力與節點負載兩種因素的影響,從而使得性能高的節點分配到更多任務,達到能者多勞,負載均衡的目的,均衡效率有所提高。在參數選擇上算法去掉了進程數量的影響,但剩余參數的計算依然會產生一定的額外開銷。
吉林大學的劉敏等人提出了一種新的處理能力優先的權值分配調度算法,算法認為為減少參數計算帶來的開銷和減輕負載均衡器的負擔,在改進算法時不應引入過多參數,故算法在計算權值時只考慮了節點的CPU占用率和內存空閑率,大大減少了參數計算帶來的開銷。處理能力優先的權值分配調度算法并不是一種獨立的算法,它需要與之前的某些加權算法配合才能發揮更好的性能,加權算法的某些缺點,例如權值需要管理員手動設置,可能不能精確反映節點處理能力,在算法里并沒有得到改善。算法在計算權值時只是考慮了節點的CPU占用率和內存空閑率而沒有與節點性能聯系起來,這對負載效率有一定影響。
也有其他學者基于參數化加權負載分配策略對負載均衡算法做了改進,但總的來說與上述三種算法大同小異,在此不再贅述。由此可見,節點參數與其計算系數的選取,節點性能與節點負載的綜合考慮,是參數化加權負載分配策略的重要內容。
參數化加權負載分配算法作為負載均衡算法的一種改進策略,與傳統的負載均衡算法相比,它可以充分考慮并兼顧服務節點的處理性能與實際負載,使性能高的節點獲得更多任務,從而達到負載均衡的效果。策略的重點在于為每個被考慮的參數選擇一個合適的計算系數,如果計算系數選擇不適當,很可能會取得相反的效果。同時,如何將服務節點的實際負載動態反饋到負載均衡器上而不增加較多額外的開銷,也是這種改進策略需要考慮的問題。
參考文獻:
[1]郭成城,晏蒲柳.一種異構Web服務器集群動態負載均衡算法[J].計算機學報,2005,28(2):179-184.
[2]張玉芳,魏欽磊,趙膺.基于負載權值的負載均衡算法[J].計算機應用研究,2012,29(12):4711-4713.
[3]劉健,徐磊,張維明.基于動態反饋的負載均衡算法[J].計算機工程與科學,2003,25(5):65-68.
[4]王紅斌.Web服務器集群系統的自適應負載均衡調度策略研究_王紅斌[D].長春:吉林大學,2013.
[5]劉敏,房至一,王紅斌,等.一種新的處理能力優先的權值分配調度算法[J].吉林大學學報(理學版),2011,49(6):1105-1109.