颜 洁, 聂瑞华,2*
(1.华南师范大学计算机学院,广州 510631; 2. 华南师范大学科技处,广州 510631)
网络管理系统中的FCAPS模型,主要包括故障管理、配置管理、计费管理、性能管理和安全管理等5个功能[1].其中,故障管理、配置管理和计费管理实现是建立在网络性能基础上[2],通过对性能的监测,可分析网络的承载能力和可能存在的问题等.本文主要探讨网络管理系统中的性能管理.
IPv4环境下的网络管理系统,传统的性能管理模块的实现是基于集中式的,服务管理层直接和网元设备进行通讯,不需要和中间组件进行交互,实现简单、容易部署、管理方便.但在对大型网络及其网元的管理,会显得不足.为了解决集中式采集系统存在的问题,提高系统性能和可扩展,文献[2]、[3]实现的分布式网络管理系统,将客户应用、业务处理等分布在不同层的服务器上,减少用户与网元的直接交互,数据信息的获取直接由底层采集服务器去实现.但采集服务层依然采用SNMP集中模式,造成采集服务器的负载压力大,并且大量中间通讯数据占据网络带宽,降低系统性能.
本文数据采集通过集群模式实现,有效利用集群的高效性;系统地采集作业封装在XML中,采用模板机制,减少手动任务配置[4-5];并且为有效解决集群的负载均衡,提出对XML中的作业采用基于采集节点反馈的负载权重进行任务分割.同时,为了能很好地适应于IPv6的网络环境,采集节点通过SNMP与网元设备进行通讯采用IPv6 MIB[6].通过改进的调度算法,在采集集群上运行,能有效地提高系统的整体性能.
本文采集模块通过集群模式实现,采集集群作为一个整体,处理用户发送的作业,提高作业的响应时间.管理节点通过合理的调度策略,将作业分配到采集集群中.同时,用户提交的任务被封装在XML中,一个任务包含多个子task,task是任务的完整数据的最小分割单元,如图1所示.为了合理地使用采集节点,使节点负载均衡,本文针对XML中任务进行重分割,提出基于采集节点反馈负载权重进行任务分割:在作业下发给采集节点前,通过获取到的当前周期下的采集集群的负载权重,在管理节点上对作业进行重分割和封装,实现负载均衡.
图1 XML中任务截取
图2显示的是作业可分割的数据采集系统(Data Acquisition System Based on Divisible Job:DDAS)的框架图,其由客户层、管理节点和采集集群等三部分实现.
图2 改进的数据采集系统框架
1.2.1 客户层 客户通过前端节点部署的web服务器上的UI,同管理点进行交互.
1.2.2 管理节点 前端服务节点主要由web界面UI、任务缓存、调度器和数据发送器等4个部分组成:(1)web界面UI:是用户操作的展示界面.用户可以对不同类型的网元设备指定不同的作业模板,按需启动作业.(2)任务缓存:主要包括job缓存队列,job分割重组器.job缓存队列用于存放用户启动的作业,等待调度器的分配;job分割重组器的任务是在接收到最优控制器的调度后,以task为基准单元,对job缓存队列中的作业进行分割后重组装成新的job’后传送给数据发送器.(3)数据发送器:将重组后job’发送给指定的采集节点.(4)调度器包括最优控制器和集群监控器.集群监控器实现对所有采集集群的监控和管理.监控器通过心跳机制保持和集群节点的通信,每隔时间周期Tn接收由采集节点发送过来的节点资源利用率及负载权重.最优控制器:在时间间隔周期始,根据job缓存队列和采集集群负载情况,利用本文的作业可分割调度策略算法,控制job缓存队列的任务重组.
1.2.3 采集集群 采集集群由多个采集节点构成,每个节点均由数据接收器、性能监控器和状态监控等三部分组成:(1)数据接收器:保存有一个缓存队列,接收客户端批量下发的任务,等待性能监控器的调度.(2)性能监控器:启动snmp协议,依据task的连接参数,连接指定的网元设备,获取相关的性能数据.(3)状态监控:监控时间间隔周期内,由于采集任务多线程的启动执行并一直等待网元设备返回执行结果,采集器将会消耗服务器内存等系统资源,而这些影响采集结点性能的主要因素为内存利用率、CPU利用率和进程利用率,并计算采集节点负载权重,上报给集群监控器.
大量研究表明,多任务的优化分配是NP难题[7].已有可分割调度算法中:文献[8]、[9]采用单路可分割调度算法,根据资源节点个数来平均分配任务量,实现简单但不能很好解决负载均衡问题;文献[10]、[11]为多路分割调度算法,其考虑了网络的传输速率和工作节点的计算速率,以及相关初始化时间(传输初始化时间和计算启动时间)来分多次将作业分配到各个资源节点上.但在本文数据采集系统中,数据采集节点上数据获取所消耗时间,主要受到采集节点与网元之间实际通讯因素的影响:如采集节点要采集的网元的数据信息较多或节点之间网络不稳定,其将处于较长时间等待数据的传送上,此时以集群节点的计算速率来获取任务量就不准确;而且由于时间周期的限制,采用多路分配任务增加问题繁琐.所以,本文可分割的调度算法中,通过动态反馈[12]的方式获取集群节点负载情况进行单路作业量划分,相比SNMP集中模式中管理节点频繁和采集节点通讯,改进后的算法将作业进行重组,不仅减少了节点间频繁的数据交互,而且提高负载均衡.不同的系统由于服务不同,影响的性能参数也不同,对于本文的采集系统,主要用于分割作业模板,并根据已分割的模板内的任务指标数分配连接网元设备的线程数,所以影响系统的主要参数是CPU、内存和进程数量.
图3所示,采集集群为N={n1,n2,n3,…,nm},其中m为采集节点个数;ti为一个任务单元task,由于任务ti对应mib指令不同,其在采集机执行时间以及消耗的资源也不同,所以假定ti=t0*ui,其中t0为最基本任务单元,ui为对应任务ti基于t0的影响因子,由整数(1,2,3,4,5)分别表示,如ui=1表示在采集机执行时间较短,ui=5表示任务在采集机上执行时间较长,其根据经验手动配置.
图3 作业分割图
调度算法如图4所示.
(1)集群监控器初始化监控参数ci、mi、pi和wi的门阀值(根据经验手动设定);
(2)各个采集结点在每隔一个时间周期向集群监控器传送过来的ci、mi、pi和wi值;
(3)集群监控器将ci、mi、pi和wi的值和门阀值做比较,筛选掉超过门阀值的采集节点,记录剩余采集结点个数m;
图4 算法流程图
(4)负载均衡器通过对job缓存队列的任务集合和collector队列中有效的采集节点的分析,通过各个采集节点可用负载权重占有率计算出每个可用节点任务的分配量;
(5)job分割重组器根据采集节点获取的任务不同,将job队列的任务进行重新分割封装为新job’;数据发送器依照job’对应的采集结点信息,分别发送到各采集节点i上通过snmp实现性能数据采集.
测试SNMP集中采集系统(Data Acquisition System(DAS))、单节点集群的作业可分割数据采集系统(1-DDAS)、两节点作业可分割数据采集系统(2-DDAS).现有3台服务器(服务器1、服务器2和服务器3).其中,在服务器1上分别部署DAS、1-DDAS、2-DDAS的客户端和任务调度器,在服务器2上部署3个系统的任务采集模块,在服务器3上部署2-DDAS的采集模块.在1-DDAS和2-DDAS系统中,部分参数配置如下:
采集器运行参数反馈的时间周期:Tn=15 s;
采集器负载权重:k1=0.3,k2=0.3,k3=0.4;
采集器的ci,mi,pi和wi门阀值:95%;
测试作业:一个job随机包含一个或多个task,作业数以10,20,30,…,100(个)分别进行提交.
图5A、B分别显示了一定作业量下3个系统所需的执行时间和网络流量.图5A中,完成相同任务,DAS执行时间比1-DDAS时间少,主要是单节点集群系统在任务分割组装和调度中会消耗一定量时间.而2-DDAS随着任务量的增加,集群的性能就体现出来,其响应时间相对DAS明显减少.图5B中,2-DDAS和1-DDAS在完成相同作业个数的情况下,由于其作业被重新分配组装发送给对应采集节点,减少通讯消耗的网络带宽,网络流量相对DAS有所减少.
图5 作业-执行时间/流量图
本文提出作业可分割数据采集系统:采用集群模式,通过利用组成集群的服务器低配置高性能的特性,改进了系统的执行效率;为了较好地利用集群模式,提高系统的灵活性,对客户端的作业封装进XML模板中,对封装的作业采用改进可分割调度算法,有效减少网管数据对网络带宽的占用和作业的响应时间,提高了系统的整体性能.此系统兼容IPv4/IPv6的网络环境,能够为未来环境的网络管理提供良好的技术支持.
参考文献:
[1] 陈坚,申山宏,成卫青.网络管理发展及其关键技术[J].计算机技术与发展,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] 李怡.分布式数据采集系统的设计与实现[D].西安:西安电子科技大学,2010.
Li Y.Design and implementation of distributed data acquisition system[D].Xi’an:Xidian University,2010.
[3] 刘洁.基于SNMP协议的分布式网络管理系统设计与实现[D]. 西安:西安电子科技大学,2010.
Liu J. Design and implementation of distributed network management system based on SNMP[D].Xi’an:Xidian University,2010.
[4] 王若瞳,张辉,杨家海,等.P2P网络管理系统信息模型的设计与实现[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的互联网网络管理研究综述[J]. 小型微型计算机系统, 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 集群系统的负载均衡算法[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.