顏 潔, 聶瑞華,2*
(1.華南師范大學(xué)計(jì)算機(jī)學(xué)院,廣州 510631; 2. 華南師范大學(xué)科技處,廣州 510631)
網(wǎng)絡(luò)管理系統(tǒng)中的FCAPS模型,主要包括故障管理、配置管理、計(jì)費(fèi)管理、性能管理和安全管理等5個(gè)功能[1].其中,故障管理、配置管理和計(jì)費(fèi)管理實(shí)現(xiàn)是建立在網(wǎng)絡(luò)性能基礎(chǔ)上[2],通過對(duì)性能的監(jiān)測(cè),可分析網(wǎng)絡(luò)的承載能力和可能存在的問題等.本文主要探討網(wǎng)絡(luò)管理系統(tǒng)中的性能管理.
IPv4環(huán)境下的網(wǎng)絡(luò)管理系統(tǒng),傳統(tǒng)的性能管理模塊的實(shí)現(xiàn)是基于集中式的,服務(wù)管理層直接和網(wǎng)元設(shè)備進(jìn)行通訊,不需要和中間組件進(jìn)行交互,實(shí)現(xiàn)簡(jiǎn)單、容易部署、管理方便.但在對(duì)大型網(wǎng)絡(luò)及其網(wǎng)元的管理,會(huì)顯得不足.為了解決集中式采集系統(tǒng)存在的問題,提高系統(tǒng)性能和可擴(kuò)展,文獻(xiàn)[2]、[3]實(shí)現(xiàn)的分布式網(wǎng)絡(luò)管理系統(tǒng),將客戶應(yīng)用、業(yè)務(wù)處理等分布在不同層的服務(wù)器上,減少用戶與網(wǎng)元的直接交互,數(shù)據(jù)信息的獲取直接由底層采集服務(wù)器去實(shí)現(xiàn).但采集服務(wù)層依然采用SNMP集中模式,造成采集服務(wù)器的負(fù)載壓力大,并且大量中間通訊數(shù)據(jù)占據(jù)網(wǎng)絡(luò)帶寬,降低系統(tǒng)性能.
本文數(shù)據(jù)采集通過集群模式實(shí)現(xiàn),有效利用集群的高效性;系統(tǒng)地采集作業(yè)封裝在XML中,采用模板機(jī)制,減少手動(dòng)任務(wù)配置[4-5];并且為有效解決集群的負(fù)載均衡,提出對(duì)XML中的作業(yè)采用基于采集節(jié)點(diǎn)反饋的負(fù)載權(quán)重進(jìn)行任務(wù)分割.同時(shí),為了能很好地適應(yīng)于IPv6的網(wǎng)絡(luò)環(huán)境,采集節(jié)點(diǎn)通過SNMP與網(wǎng)元設(shè)備進(jìn)行通訊采用IPv6 MIB[6].通過改進(jìn)的調(diào)度算法,在采集集群上運(yùn)行,能有效地提高系統(tǒng)的整體性能.
本文采集模塊通過集群模式實(shí)現(xiàn),采集集群作為一個(gè)整體,處理用戶發(fā)送的作業(yè),提高作業(yè)的響應(yīng)時(shí)間.管理節(jié)點(diǎn)通過合理的調(diào)度策略,將作業(yè)分配到采集集群中.同時(shí),用戶提交的任務(wù)被封裝在XML中,一個(gè)任務(wù)包含多個(gè)子task,task是任務(wù)的完整數(shù)據(jù)的最小分割單元,如圖1所示.為了合理地使用采集節(jié)點(diǎn),使節(jié)點(diǎn)負(fù)載均衡,本文針對(duì)XML中任務(wù)進(jìn)行重分割,提出基于采集節(jié)點(diǎn)反饋負(fù)載權(quán)重進(jìn)行任務(wù)分割:在作業(yè)下發(fā)給采集節(jié)點(diǎn)前,通過獲取到的當(dāng)前周期下的采集集群的負(fù)載權(quán)重,在管理節(jié)點(diǎn)上對(duì)作業(yè)進(jìn)行重分割和封裝,實(shí)現(xiàn)負(fù)載均衡.
圖1 XML中任務(wù)截取
圖2顯示的是作業(yè)可分割的數(shù)據(jù)采集系統(tǒng)(Data Acquisition System Based on Divisible Job:DDAS)的框架圖,其由客戶層、管理節(jié)點(diǎn)和采集集群等三部分實(shí)現(xiàn).
圖2 改進(jìn)的數(shù)據(jù)采集系統(tǒng)框架
1.2.1 客戶層 客戶通過前端節(jié)點(diǎn)部署的web服務(wù)器上的UI,同管理點(diǎn)進(jìn)行交互.
1.2.2 管理節(jié)點(diǎn) 前端服務(wù)節(jié)點(diǎn)主要由web界面UI、任務(wù)緩存、調(diào)度器和數(shù)據(jù)發(fā)送器等4個(gè)部分組成:(1)web界面UI:是用戶操作的展示界面.用戶可以對(duì)不同類型的網(wǎng)元設(shè)備指定不同的作業(yè)模板,按需啟動(dòng)作業(yè).(2)任務(wù)緩存:主要包括job緩存隊(duì)列,job分割重組器.job緩存隊(duì)列用于存放用戶啟動(dòng)的作業(yè),等待調(diào)度器的分配;job分割重組器的任務(wù)是在接收到最優(yōu)控制器的調(diào)度后,以task為基準(zhǔn)單元,對(duì)job緩存隊(duì)列中的作業(yè)進(jìn)行分割后重組裝成新的job’后傳送給數(shù)據(jù)發(fā)送器.(3)數(shù)據(jù)發(fā)送器:將重組后job’發(fā)送給指定的采集節(jié)點(diǎn).(4)調(diào)度器包括最優(yōu)控制器和集群監(jiān)控器.集群監(jiān)控器實(shí)現(xiàn)對(duì)所有采集集群的監(jiān)控和管理.監(jiān)控器通過心跳機(jī)制保持和集群節(jié)點(diǎn)的通信,每隔時(shí)間周期Tn接收由采集節(jié)點(diǎn)發(fā)送過來的節(jié)點(diǎn)資源利用率及負(fù)載權(quán)重.最優(yōu)控制器:在時(shí)間間隔周期始,根據(jù)job緩存隊(duì)列和采集集群負(fù)載情況,利用本文的作業(yè)可分割調(diào)度策略算法,控制job緩存隊(duì)列的任務(wù)重組.
1.2.3 采集集群 采集集群由多個(gè)采集節(jié)點(diǎn)構(gòu)成,每個(gè)節(jié)點(diǎn)均由數(shù)據(jù)接收器、性能監(jiān)控器和狀態(tài)監(jiān)控等三部分組成:(1)數(shù)據(jù)接收器:保存有一個(gè)緩存隊(duì)列,接收客戶端批量下發(fā)的任務(wù),等待性能監(jiān)控器的調(diào)度.(2)性能監(jiān)控器:?jiǎn)?dòng)snmp協(xié)議,依據(jù)task的連接參數(shù),連接指定的網(wǎng)元設(shè)備,獲取相關(guān)的性能數(shù)據(jù).(3)狀態(tài)監(jiān)控:監(jiān)控時(shí)間間隔周期內(nèi),由于采集任務(wù)多線程的啟動(dòng)執(zhí)行并一直等待網(wǎng)元設(shè)備返回執(zhí)行結(jié)果,采集器將會(huì)消耗服務(wù)器內(nèi)存等系統(tǒng)資源,而這些影響采集結(jié)點(diǎn)性能的主要因素為內(nèi)存利用率、CPU利用率和進(jìn)程利用率,并計(jì)算采集節(jié)點(diǎn)負(fù)載權(quán)重,上報(bào)給集群監(jiān)控器.
大量研究表明,多任務(wù)的優(yōu)化分配是NP難題[7].已有可分割調(diào)度算法中:文獻(xiàn)[8]、[9]采用單路可分割調(diào)度算法,根據(jù)資源節(jié)點(diǎn)個(gè)數(shù)來平均分配任務(wù)量,實(shí)現(xiàn)簡(jiǎn)單但不能很好解決負(fù)載均衡問題;文獻(xiàn)[10]、[11]為多路分割調(diào)度算法,其考慮了網(wǎng)絡(luò)的傳輸速率和工作節(jié)點(diǎn)的計(jì)算速率,以及相關(guān)初始化時(shí)間(傳輸初始化時(shí)間和計(jì)算啟動(dòng)時(shí)間)來分多次將作業(yè)分配到各個(gè)資源節(jié)點(diǎn)上.但在本文數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)采集節(jié)點(diǎn)上數(shù)據(jù)獲取所消耗時(shí)間,主要受到采集節(jié)點(diǎn)與網(wǎng)元之間實(shí)際通訊因素的影響:如采集節(jié)點(diǎn)要采集的網(wǎng)元的數(shù)據(jù)信息較多或節(jié)點(diǎn)之間網(wǎng)絡(luò)不穩(wěn)定,其將處于較長時(shí)間等待數(shù)據(jù)的傳送上,此時(shí)以集群節(jié)點(diǎn)的計(jì)算速率來獲取任務(wù)量就不準(zhǔn)確;而且由于時(shí)間周期的限制,采用多路分配任務(wù)增加問題繁瑣.所以,本文可分割的調(diào)度算法中,通過動(dòng)態(tài)反饋[12]的方式獲取集群節(jié)點(diǎn)負(fù)載情況進(jìn)行單路作業(yè)量劃分,相比SNMP集中模式中管理節(jié)點(diǎn)頻繁和采集節(jié)點(diǎn)通訊,改進(jìn)后的算法將作業(yè)進(jìn)行重組,不僅減少了節(jié)點(diǎn)間頻繁的數(shù)據(jù)交互,而且提高負(fù)載均衡.不同的系統(tǒng)由于服務(wù)不同,影響的性能參數(shù)也不同,對(duì)于本文的采集系統(tǒng),主要用于分割作業(yè)模板,并根據(jù)已分割的模板內(nèi)的任務(wù)指標(biāo)數(shù)分配連接網(wǎng)元設(shè)備的線程數(shù),所以影響系統(tǒng)的主要參數(shù)是CPU、內(nèi)存和進(jìn)程數(shù)量.
圖3所示,采集集群為N={n1,n2,n3,…,nm},其中m為采集節(jié)點(diǎn)個(gè)數(shù);ti為一個(gè)任務(wù)單元task,由于任務(wù)ti對(duì)應(yīng)mib指令不同,其在采集機(jī)執(zhí)行時(shí)間以及消耗的資源也不同,所以假定ti=t0*ui,其中t0為最基本任務(wù)單元,ui為對(duì)應(yīng)任務(wù)ti基于t0的影響因子,由整數(shù)(1,2,3,4,5)分別表示,如ui=1表示在采集機(jī)執(zhí)行時(shí)間較短,ui=5表示任務(wù)在采集機(jī)上執(zhí)行時(shí)間較長,其根據(jù)經(jīng)驗(yàn)手動(dòng)配置.
圖3 作業(yè)分割圖
調(diào)度算法如圖4所示.
(1)集群監(jiān)控器初始化監(jiān)控參數(shù)ci、mi、pi和wi的門閥值(根據(jù)經(jīng)驗(yàn)手動(dòng)設(shè)定);
(2)各個(gè)采集結(jié)點(diǎn)在每隔一個(gè)時(shí)間周期向集群監(jiān)控器傳送過來的ci、mi、pi和wi值;
(3)集群監(jiān)控器將ci、mi、pi和wi的值和門閥值做比較,篩選掉超過門閥值的采集節(jié)點(diǎn),記錄剩余采集結(jié)點(diǎn)個(gè)數(shù)m;
圖4 算法流程圖
(4)負(fù)載均衡器通過對(duì)job緩存隊(duì)列的任務(wù)集合和collector隊(duì)列中有效的采集節(jié)點(diǎn)的分析,通過各個(gè)采集節(jié)點(diǎn)可用負(fù)載權(quán)重占有率計(jì)算出每個(gè)可用節(jié)點(diǎn)任務(wù)的分配量;
(5)job分割重組器根據(jù)采集節(jié)點(diǎn)獲取的任務(wù)不同,將job隊(duì)列的任務(wù)進(jìn)行重新分割封裝為新job’;數(shù)據(jù)發(fā)送器依照job’對(duì)應(yīng)的采集結(jié)點(diǎn)信息,分別發(fā)送到各采集節(jié)點(diǎn)i上通過snmp實(shí)現(xiàn)性能數(shù)據(jù)采集.
測(cè)試SNMP集中采集系統(tǒng)(Data Acquisition System(DAS))、單節(jié)點(diǎn)集群的作業(yè)可分割數(shù)據(jù)采集系統(tǒng)(1-DDAS)、兩節(jié)點(diǎn)作業(yè)可分割數(shù)據(jù)采集系統(tǒng)(2-DDAS).現(xiàn)有3臺(tái)服務(wù)器(服務(wù)器1、服務(wù)器2和服務(wù)器3).其中,在服務(wù)器1上分別部署DAS、1-DDAS、2-DDAS的客戶端和任務(wù)調(diào)度器,在服務(wù)器2上部署3個(gè)系統(tǒng)的任務(wù)采集模塊,在服務(wù)器3上部署2-DDAS的采集模塊.在1-DDAS和2-DDAS系統(tǒng)中,部分參數(shù)配置如下:
采集器運(yùn)行參數(shù)反饋的時(shí)間周期:Tn=15 s;
采集器負(fù)載權(quán)重:k1=0.3,k2=0.3,k3=0.4;
采集器的ci,mi,pi和wi門閥值:95%;
測(cè)試作業(yè):一個(gè)job隨機(jī)包含一個(gè)或多個(gè)task,作業(yè)數(shù)以10,20,30,…,100(個(gè))分別進(jìn)行提交.
圖5A、B分別顯示了一定作業(yè)量下3個(gè)系統(tǒng)所需的執(zhí)行時(shí)間和網(wǎng)絡(luò)流量.圖5A中,完成相同任務(wù),DAS執(zhí)行時(shí)間比1-DDAS時(shí)間少,主要是單節(jié)點(diǎn)集群系統(tǒng)在任務(wù)分割組裝和調(diào)度中會(huì)消耗一定量時(shí)間.而2-DDAS隨著任務(wù)量的增加,集群的性能就體現(xiàn)出來,其響應(yīng)時(shí)間相對(duì)DAS明顯減少.圖5B中,2-DDAS和1-DDAS在完成相同作業(yè)個(gè)數(shù)的情況下,由于其作業(yè)被重新分配組裝發(fā)送給對(duì)應(yīng)采集節(jié)點(diǎn),減少通訊消耗的網(wǎng)絡(luò)帶寬,網(wǎng)絡(luò)流量相對(duì)DAS有所減少.
圖5 作業(yè)-執(zhí)行時(shí)間/流量圖
本文提出作業(yè)可分割數(shù)據(jù)采集系統(tǒng):采用集群模式,通過利用組成集群的服務(wù)器低配置高性能的特性,改進(jìn)了系統(tǒng)的執(zhí)行效率;為了較好地利用集群模式,提高系統(tǒng)的靈活性,對(duì)客戶端的作業(yè)封裝進(jìn)XML模板中,對(duì)封裝的作業(yè)采用改進(jìn)可分割調(diào)度算法,有效減少網(wǎng)管數(shù)據(jù)對(duì)網(wǎng)絡(luò)帶寬的占用和作業(yè)的響應(yīng)時(shí)間,提高了系統(tǒng)的整體性能.此系統(tǒng)兼容IPv4/IPv6的網(wǎng)絡(luò)環(huán)境,能夠?yàn)槲磥憝h(huán)境的網(wǎng)絡(luò)管理提供良好的技術(shù)支持.
參考文獻(xiàn):
[1] 陳堅(jiān),申山宏,成衛(wèi)青.網(wǎng)絡(luò)管理發(fā)展及其關(guān)鍵技術(shù)[J].計(jì)算機(jī)技術(shù)與發(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)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2010.
Li Y.Design and implementation of distributed data acquisition system[D].Xi’an:Xidian University,2010.
[3] 劉潔.基于SNMP協(xié)議的分布式網(wǎng)絡(luò)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2010.
Liu J. Design and implementation of distributed network management system based on SNMP[D].Xi’an:Xidian University,2010.
[4] 王若瞳,張輝,楊家海,等.P2P網(wǎng)絡(luò)管理系統(tǒng)信息模型的設(shè)計(jì)與實(shí)現(xiàn)[J]. 通信學(xué)報(bào),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)絡(luò)管理研究綜述[J]. 小型微型計(jì)算機(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)的負(fù)載均衡算法[J].計(jì)算機(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.