顏 潔, 聶瑞華,2*
(1.華南師范大學計算機學院,廣州 510631; 2. 華南師范大學科技處,廣州 510631)
網(wǎng)絡管理系統(tǒng)中的FCAPS模型,主要包括故障管理、配置管理、計費管理、性能管理和安全管理等5個功能[1].其中,故障管理、配置管理和計費管理實現(xiàn)是建立在網(wǎng)絡性能基礎上[2],通過對性能的監(jiān)測,可分析網(wǎng)絡的承載能力和可能存在的問題等.本文主要探討網(wǎng)絡管理系統(tǒng)中的性能管理.
IPv4環(huán)境下的網(wǎng)絡管理系統(tǒng),傳統(tǒng)的性能管理模塊的實現(xiàn)是基于集中式的,服務管理層直接和網(wǎng)元設備進行通訊,不需要和中間組件進行交互,實現(xiàn)簡單、容易部署、管理方便.但在對大型網(wǎng)絡及其網(wǎng)元的管理,會顯得不足.為了解決集中式采集系統(tǒng)存在的問題,提高系統(tǒng)性能和可擴展,文獻[2]、[3]實現(xiàn)的分布式網(wǎng)絡管理系統(tǒng),將客戶應用、業(yè)務處理等分布在不同層的服務器上,減少用戶與網(wǎng)元的直接交互,數(shù)據(jù)信息的獲取直接由底層采集服務器去實現(xiàn).但采集服務層依然采用SNMP集中模式,造成采集服務器的負載壓力大,并且大量中間通訊數(shù)據(jù)占據(jù)網(wǎng)絡帶寬,降低系統(tǒng)性能.
本文數(shù)據(jù)采集通過集群模式實現(xiàn),有效利用集群的高效性;系統(tǒng)地采集作業(yè)封裝在XML中,采用模板機制,減少手動任務配置[4-5];并且為有效解決集群的負載均衡,提出對XML中的作業(yè)采用基于采集節(jié)點反饋的負載權重進行任務分割.同時,為了能很好地適應于IPv6的網(wǎng)絡環(huán)境,采集節(jié)點通過SNMP與網(wǎng)元設備進行通訊采用IPv6 MIB[6].通過改進的調(diào)度算法,在采集集群上運行,能有效地提高系統(tǒng)的整體性能.
本文采集模塊通過集群模式實現(xiàn),采集集群作為一個整體,處理用戶發(fā)送的作業(yè),提高作業(yè)的響應時間.管理節(jié)點通過合理的調(diào)度策略,將作業(yè)分配到采集集群中.同時,用戶提交的任務被封裝在XML中,一個任務包含多個子task,task是任務的完整數(shù)據(jù)的最小分割單元,如圖1所示.為了合理地使用采集節(jié)點,使節(jié)點負載均衡,本文針對XML中任務進行重分割,提出基于采集節(jié)點反饋負載權重進行任務分割:在作業(yè)下發(fā)給采集節(jié)點前,通過獲取到的當前周期下的采集集群的負載權重,在管理節(jié)點上對作業(yè)進行重分割和封裝,實現(xiàn)負載均衡.
圖1 XML中任務截取
圖2顯示的是作業(yè)可分割的數(shù)據(jù)采集系統(tǒng)(Data Acquisition System Based on Divisible Job:DDAS)的框架圖,其由客戶層、管理節(jié)點和采集集群等三部分實現(xiàn).
圖2 改進的數(shù)據(jù)采集系統(tǒng)框架
1.2.1 客戶層 客戶通過前端節(jié)點部署的web服務器上的UI,同管理點進行交互.
1.2.2 管理節(jié)點 前端服務節(jié)點主要由web界面UI、任務緩存、調(diào)度器和數(shù)據(jù)發(fā)送器等4個部分組成:(1)web界面UI:是用戶操作的展示界面.用戶可以對不同類型的網(wǎng)元設備指定不同的作業(yè)模板,按需啟動作業(yè).(2)任務緩存:主要包括job緩存隊列,job分割重組器.job緩存隊列用于存放用戶啟動的作業(yè),等待調(diào)度器的分配;job分割重組器的任務是在接收到最優(yōu)控制器的調(diào)度后,以task為基準單元,對job緩存隊列中的作業(yè)進行分割后重組裝成新的job’后傳送給數(shù)據(jù)發(fā)送器.(3)數(shù)據(jù)發(fā)送器:將重組后job’發(fā)送給指定的采集節(jié)點.(4)調(diào)度器包括最優(yōu)控制器和集群監(jiān)控器.集群監(jiān)控器實現(xiàn)對所有采集集群的監(jiān)控和管理.監(jiān)控器通過心跳機制保持和集群節(jié)點的通信,每隔時間周期Tn接收由采集節(jié)點發(fā)送過來的節(jié)點資源利用率及負載權重.最優(yōu)控制器:在時間間隔周期始,根據(jù)job緩存隊列和采集集群負載情況,利用本文的作業(yè)可分割調(diào)度策略算法,控制job緩存隊列的任務重組.
1.2.3 采集集群 采集集群由多個采集節(jié)點構成,每個節(jié)點均由數(shù)據(jù)接收器、性能監(jiān)控器和狀態(tài)監(jiān)控等三部分組成:(1)數(shù)據(jù)接收器:保存有一個緩存隊列,接收客戶端批量下發(fā)的任務,等待性能監(jiān)控器的調(diào)度.(2)性能監(jiān)控器:啟動snmp協(xié)議,依據(jù)task的連接參數(shù),連接指定的網(wǎng)元設備,獲取相關的性能數(shù)據(jù).(3)狀態(tài)監(jiān)控:監(jiān)控時間間隔周期內(nèi),由于采集任務多線程的啟動執(zhí)行并一直等待網(wǎng)元設備返回執(zhí)行結果,采集器將會消耗服務器內(nèi)存等系統(tǒng)資源,而這些影響采集結點性能的主要因素為內(nèi)存利用率、CPU利用率和進程利用率,并計算采集節(jié)點負載權重,上報給集群監(jiān)控器.
大量研究表明,多任務的優(yōu)化分配是NP難題[7].已有可分割調(diào)度算法中:文獻[8]、[9]采用單路可分割調(diào)度算法,根據(jù)資源節(jié)點個數(shù)來平均分配任務量,實現(xiàn)簡單但不能很好解決負載均衡問題;文獻[10]、[11]為多路分割調(diào)度算法,其考慮了網(wǎng)絡的傳輸速率和工作節(jié)點的計算速率,以及相關初始化時間(傳輸初始化時間和計算啟動時間)來分多次將作業(yè)分配到各個資源節(jié)點上.但在本文數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)采集節(jié)點上數(shù)據(jù)獲取所消耗時間,主要受到采集節(jié)點與網(wǎng)元之間實際通訊因素的影響:如采集節(jié)點要采集的網(wǎng)元的數(shù)據(jù)信息較多或節(jié)點之間網(wǎng)絡不穩(wěn)定,其將處于較長時間等待數(shù)據(jù)的傳送上,此時以集群節(jié)點的計算速率來獲取任務量就不準確;而且由于時間周期的限制,采用多路分配任務增加問題繁瑣.所以,本文可分割的調(diào)度算法中,通過動態(tài)反饋[12]的方式獲取集群節(jié)點負載情況進行單路作業(yè)量劃分,相比SNMP集中模式中管理節(jié)點頻繁和采集節(jié)點通訊,改進后的算法將作業(yè)進行重組,不僅減少了節(jié)點間頻繁的數(shù)據(jù)交互,而且提高負載均衡.不同的系統(tǒng)由于服務不同,影響的性能參數(shù)也不同,對于本文的采集系統(tǒng),主要用于分割作業(yè)模板,并根據(jù)已分割的模板內(nèi)的任務指標數(shù)分配連接網(wǎng)元設備的線程數(shù),所以影響系統(tǒng)的主要參數(shù)是CPU、內(nèi)存和進程數(shù)量.
圖3所示,采集集群為N={n1,n2,n3,…,nm},其中m為采集節(jié)點個數(shù);ti為一個任務單元task,由于任務ti對應mib指令不同,其在采集機執(zhí)行時間以及消耗的資源也不同,所以假定ti=t0*ui,其中t0為最基本任務單元,ui為對應任務ti基于t0的影響因子,由整數(shù)(1,2,3,4,5)分別表示,如ui=1表示在采集機執(zhí)行時間較短,ui=5表示任務在采集機上執(zhí)行時間較長,其根據(jù)經(jīng)驗手動配置.
圖3 作業(yè)分割圖
調(diào)度算法如圖4所示.
(1)集群監(jiān)控器初始化監(jiān)控參數(shù)ci、mi、pi和wi的門閥值(根據(jù)經(jīng)驗手動設定);
(2)各個采集結點在每隔一個時間周期向集群監(jiān)控器傳送過來的ci、mi、pi和wi值;
(3)集群監(jiān)控器將ci、mi、pi和wi的值和門閥值做比較,篩選掉超過門閥值的采集節(jié)點,記錄剩余采集結點個數(shù)m;
圖4 算法流程圖
(4)負載均衡器通過對job緩存隊列的任務集合和collector隊列中有效的采集節(jié)點的分析,通過各個采集節(jié)點可用負載權重占有率計算出每個可用節(jié)點任務的分配量;
(5)job分割重組器根據(jù)采集節(jié)點獲取的任務不同,將job隊列的任務進行重新分割封裝為新job’;數(shù)據(jù)發(fā)送器依照job’對應的采集結點信息,分別發(fā)送到各采集節(jié)點i上通過snmp實現(xiàn)性能數(shù)據(jù)采集.
測試SNMP集中采集系統(tǒng)(Data Acquisition System(DAS))、單節(jié)點集群的作業(yè)可分割數(shù)據(jù)采集系統(tǒng)(1-DDAS)、兩節(jié)點作業(yè)可分割數(shù)據(jù)采集系統(tǒng)(2-DDAS).現(xiàn)有3臺服務器(服務器1、服務器2和服務器3).其中,在服務器1上分別部署DAS、1-DDAS、2-DDAS的客戶端和任務調(diào)度器,在服務器2上部署3個系統(tǒng)的任務采集模塊,在服務器3上部署2-DDAS的采集模塊.在1-DDAS和2-DDAS系統(tǒng)中,部分參數(shù)配置如下:
采集器運行參數(shù)反饋的時間周期:Tn=15 s;
采集器負載權重:k1=0.3,k2=0.3,k3=0.4;
采集器的ci,mi,pi和wi門閥值:95%;
測試作業(yè):一個job隨機包含一個或多個task,作業(yè)數(shù)以10,20,30,…,100(個)分別進行提交.
圖5A、B分別顯示了一定作業(yè)量下3個系統(tǒng)所需的執(zhí)行時間和網(wǎng)絡流量.圖5A中,完成相同任務,DAS執(zhí)行時間比1-DDAS時間少,主要是單節(jié)點集群系統(tǒng)在任務分割組裝和調(diào)度中會消耗一定量時間.而2-DDAS隨著任務量的增加,集群的性能就體現(xiàn)出來,其響應時間相對DAS明顯減少.圖5B中,2-DDAS和1-DDAS在完成相同作業(yè)個數(shù)的情況下,由于其作業(yè)被重新分配組裝發(fā)送給對應采集節(jié)點,減少通訊消耗的網(wǎng)絡帶寬,網(wǎng)絡流量相對DAS有所減少.
圖5 作業(yè)-執(zhí)行時間/流量圖
本文提出作業(yè)可分割數(shù)據(jù)采集系統(tǒng):采用集群模式,通過利用組成集群的服務器低配置高性能的特性,改進了系統(tǒng)的執(zhí)行效率;為了較好地利用集群模式,提高系統(tǒng)的靈活性,對客戶端的作業(yè)封裝進XML模板中,對封裝的作業(yè)采用改進可分割調(diào)度算法,有效減少網(wǎng)管數(shù)據(jù)對網(wǎng)絡帶寬的占用和作業(yè)的響應時間,提高了系統(tǒng)的整體性能.此系統(tǒng)兼容IPv4/IPv6的網(wǎng)絡環(huán)境,能夠為未來環(huán)境的網(wǎng)絡管理提供良好的技術支持.
參考文獻:
[1] 陳堅,申山宏,成衛(wèi)青.網(wǎng)絡管理發(fā)展及其關鍵技術[J].計算機技術與發(fā)展,2011,21(4):214-218.
Chen J, Shen S H, Cheng W Q. Network management evolvement and related key technologies[J]. Computer Technology and Development,2011,21(4):214-218
[2] 李怡.分布式數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)[D].西安:西安電子科技大學,2010.
Li Y.Design and implementation of distributed data acquisition system[D].Xi’an:Xidian University,2010.
[3] 劉潔.基于SNMP協(xié)議的分布式網(wǎng)絡管理系統(tǒng)設計與實現(xiàn)[D]. 西安:西安電子科技大學,2010.
Liu J. Design and implementation of distributed network management system based on SNMP[D].Xi’an:Xidian University,2010.
[4] 王若瞳,張輝,楊家海,等.P2P網(wǎng)絡管理系統(tǒng)信息模型的設計與實現(xiàn)[J]. 通信學報,2010,31(1):85-91.
Wang R T,Zhang H,Yang J H, et al. Design and implementation of the information model of a P2P-based network management system[J]. Journal on Communication, 2010,31(1):85-91.
[5] 屈在宏,章淼,徐明偉,等.基于XML的互聯(lián)網(wǎng)網(wǎng)絡管理研究綜述[J]. 小型微型計算機系統(tǒng), 2008,29(2):245-250.
Qu Z H, Zhang M, Xu M W, et al. XML-based network management: A survey[J]. Journal of Chinese Computer Systems,2008,29(2):245-250.
[6] Keeni G M, Koide K, Hakraborty D C. SNMP in the IPv6 context[C]∥Proceeding of the symposium on applications and the internet workshop. Florida,USA,2003:245-257.
[7] Garey M R, Johnson D S. Strong NP-completeness results: Motivation, examples, and implications[J]. Journal of Association for Computing Machinery,1978,25(3):499-508
[8] Plummer M D, Lovász L. Matching theory[M]. North-Holland: Elsevier, 1986.
[9] Lin X, Lu Y, Deogun J, et al. Enhancing real-time scheduling of divisible loads by utilizing inserted idle time[C]∥Proceeding of the 14th IEEE international conference on high performance computing.Goa, India, 2007: 308-319.
[10] González-Vélez H, Cole M. Adaptive statistical scheduling of divisible workloads in heterogeneous systems[J]. Journal of Scheduling, 2010, 13(4): 427-441.
[11] Berlińska J, Drozdowski M. Heuristics for multi-round divisible loads scheduling with limited memory[J]. Parallel Computing,2010,36: 199-211.
[12] 王春娟,董麗麗,賈麗.Web 集群系統(tǒng)的負載均衡算法[J].計算機工程,2010,36(2):102-104.
Wang C J, Dong L L, Jia L.Load balance algorithm for Web cluster system[J].Computer Engineering,2010,36(2):102-104.