校园网格资源监控系统GridMonitor的实现
2017-05-09李淑玲
李淑玲
(西安欧亚学院 陕西 西安710065)
校园网格资源监控系统GridMonitor的实现
李淑玲
(西安欧亚学院 陕西 西安710065)
在资源监控系统的应用中,如何实现大量广域分布、动态、多样、自治、异构的资源间全面连通和有效组织,最大限度提高资源利用率和有效维护管理,成为实现网络系统的重要研究方面。本文通过分析网格监控服务提供的数据,设计并实现了一个内容丰富并且易于扩展的网格监控系统。该监控系统是为网格环境下的资源包括应用类、主机类、用户类等提供实时监控功能,对收集到的数据进行解析和归档。
计算网格;资源监控;GMA;作业调度
校园计算网格是校园网环境下各类软硬件计算资源汇聚和共享的计算平台,是计算网格的重要应用领域。文中研究的GridMonitor资源监控系统已在某高校部署,取得了令人满意的效果。
1 校园计算网格简介
某高校的定位是一个开放型、多科型和研究型的大学,随着前沿和交叉学科的科学与工程计算任务的日益繁重,且学科发展要求共享计算资源、重大仪器设备、信息资源,要求进行全局资源的整合汇聚,给用户提供一个单一的使用界面,这就对计算能力提出了很高的要求。因此,在高速校园网环境下,由学校组织,研究开发了校园计算网格系统。目前,该系统已能满足校园内各个学院的计算需求,未来还要实现校园网环境下的信息网格和仪器网格,将整个校园的资源进行整合汇聚,为全校各个院系和各个部门的工作提供一个全新的公共支撑环境,为某高校科研工作的创新提供一个开放的研究和应用平台。校园计算网格 (Campus Computation Grid,CCG)体系架构如图1所示。
图1 CCG体系架构
1.1 资源层
包含网上可访问的所有资源,如运行NT或UNIX的PC机或工作站、运行cluster操作系统的集群、存储设备、数据库,也可能是科学仪器。校园计算网格以高性能计算中心为中心,连接各大实验室。
1.2 网格中间件
对用户信息和数据进行管理,向远程进程管理、资源分配、存储访问、信息服务、登录和认证、安全和质量服务(QoS)等提供核心服务。
1.3 网格应用层
提供系统能接受的语言,如HP C++和MPI等。可配置一些其它支持工程应用、数据库访问的软件,还可提供WEB服务接口,使用户可以通过Web方式提交作业并获取结果。
计算网格Portal提供基于WEB和命令行两种人机界面。通过Portal,管理员用户可以执行用户管理、节点管理、作业管理、资源管理和计费管理等操作,普通用户可以执行作业提交、作业管理、费用查询和信息修改等操作。
2 GridMonitor系统的设计
该监控系统的设计目标是为网格环境下的资源包括应用类、主机类、用户类等提供实时监控功能,对收集到的数据进行解析和归档工作,通过该监控系统,用户可以对网格系统的使用情况,包括应用类作业状况、主机类负载状况、软件License状况、用户作业和在线时间等,进行查看、控制和搜索;能够在系统出现问题的时候,迅速定位系统错误根源,及时解决问题;能够发现网格环境中性能问题的来源,分析系统性能瓶颈,获得更好的性能调整系统和应用;监控获得的数据作为预测模型的输入进行性能预测服务,从而可以提供更高的用户级QoS。
2.1 网格监控系统总体设计
考虑到网格具有区域性强、自治性、专业性强的特点,系统总体上采用分层分域的树型结构,分布式管理与局域集中管理相结合的监控体系,并采用面向服务的体系结构。全局注册中心(对应GMA中的目录服务)在全局域内维护、定位、命名和描述各局部域的监控服务,各个局部域内的监控服务通过在全局注册中心中注册实现相互的发现。全局监控信息收集者通过在全局注册中心查找各个域监控服务注册信息,发现域监控服务地址,然后直接通过服务调用,将各个域监控服务对外发布的资源监测信息收集汇总,通过分析处理将历史信息存档。全局监控服务还接受全局监控服务的实时或历史资源信息的查询请求。域监控服务接受来自域内外用户的查询请求,和全局信息收集者的统计信息收集请求,也可以接收其它监控域服务的查询请求,当然也可以在全局注册中心查询感兴趣的域监控服务并通过服务调用发出资源监控信息查询请求。每个域内的监控信息收集者,主要负责依次收集局部监控域内各个资源结点中sensor提供的监测信息,并用统一的信息模型来统一有效地管理收集来的信息。因此,系统总体结构如图2所示。
图2 GridMonitor系统总体结构
2.2 GridMonitor系统的功能模块设计
由于网格系统本身是一个复杂的异构、分布式系统,加入其中的资源更具有很强动态性和不稳定性。所以,该资源监控系统要实现的首要功能是:对网格环境下异构、分布的各种资源进行统一有效的监控,及时响应资源所有者、使用者以及系统管理员等对资源固有属性和使用状态等信息的查询,同时还要提供动态预测功能支持网格作业管理及任务调度等功能的实现。此外,它还要负责对分布在网格环境中大量异构资源的信息和状态数据进行组织、收集、处理和存储,并以服务的方式向网格用户与应用提供这些资源监测信息。
1)资源监控信息的收集 数据收集模块是整个体系结构的基础,是GMA体系中的生产者,负责整个被监控体系的数据收集任务,并向上层Web应用提供数据支持,是承上启下的关键环节。数据收集模块的设计原则是准确反映被监控资源的状态信息,在此基础之上,要求资源占用低,收集的信息丰富。目前,本系统需要收集的资源信息包括主机类信息、作业类信息、应用类信息和用户类信息。主机类信息包括硬件资源的状态信息,静态的和动态的;作业类信息包括作业号,作业的状态,用户等信息;应用类信息包括所有软件的所有模块的License数目及目前的使用者;用户类信息包括用户完成作业数,出错作业数,使用的CPU时间及在线时间。
2)资源监控信息的查询 GridMonitor系统是一个面向用户的结构,允许用户访问感兴趣的资源基本信息或状态数据。GridMonitor既可以为用户提供实时的网格资源状态信息,也可以为用户提供一段时间之内监测资源的历史数据。但是,无限制的给用户提供各种资源信息,不仅会给系统造成沉重负担,而且带来不必要的安全隐患,因此,需要对用户所得资源信息进行限制,对资源和用户都进行分级别,加强安全处理工作。目前系统对用户分为以下级别:普通用户,VIP用户、系统管理员几个级别,对用户分级,不仅可以便于管理,给不同的用户提供不同的服务QoS,也提高了系统的安全性。
查询功能可以通过在JSP中嵌入脚本来完成。当用户点击感兴趣的资源信息以及输入所要查询的时间段后,系统调用后台脚本,处理后所得结果显示给用户。也可以在用户输入想要查询的资源后,系统通过调用数据库查询语句来获得,同样把所得结果处理后以图表的方式显示给用户。
设计思想如下:对于普通用户和管理员用户提供不同的portal登陆页面,这样,普通用户端就可以被限制为只可以查看和查询与自己相关的资源信息,比如自己所提交作业的相关信息、自己的在线时间等。这一步解决了安全问题。对于用户输入所要查询的资源后,系统调用脚本或者数据库查询语句,处理后把所得结果以图表的方式显示给用户。
3)资源信息的统计与归档 资源的动态信息具有更新频繁,种类繁多等特点因此产生的数据量十分巨大,由此带来了一系列的问题:资源存储空间不够,信息查找效率低下,使用维护非常不方便,解决的办法就是采用良好的统计和归档策略将信息压缩存入数据库中。当然,要注意的是存储信息量的降低不能以牺牲满足用户的需求为代价。根据以上要求,我们设计了一套自适应的均值信息统计与归档方案,来完成信息的统计与归档,经过测试证明,方案能较为有效地满足用户对历史监测信息的查询请求。
方案总体设计如下:通过编写shell脚本,利用Linux本身提供的的crontab具有定制任务功能,对于定期收集的信息,处理之后归档。例如CPU利用率的定期收集与归档设计如下:每小时定时执行采集任务,把所得数据放入.hour文件;每天把.hour中的数据分析处理,放入.day文件中,同时清空.hour文件中内容,为了第二天重新采集数据覆盖之用;每月定期把.day中的数据分析处理后,放入.month文件中,同时清空其中的内容,为下月数据采集覆盖之用。这样,就保留了受控资源一年内的信息,在每年的结束之时,对于这些信息,归档存储。这些都可以通过crontab的任务定制功能和shell脚本结合完成,完全不用人工干预,很好的解决了更新和维护需求。
3 资源实时监测的实现
以上对系统的各个组成模块和系统结构进行了阐述,下面对各个模块的具体实现进行阐述。
3.1 主机类资源信息服务的实现
针对安装了 LSF的系统,以 LSF为系统的sensor,封装LSF命令到脚本程序,执行信息采集服务,获取主机类信息,实时检测程序收集得到的信息,得到主机类资源信息服务的实现。
对于安装有LSF的结点,我们可以设置节点能承受的作业数目,对于管理结点,我们可以设置不让在此进行作业的运行,对于非管理结点,我们可以设置能运行的最大作业数。
针对安装了PBS的系统,利用PBS提供的API以及Linux工具sar,得到的主机类信息如图3所示。
图3 PBS监控的主机类信息服务
3.2 应用类资源信息服务的实现
通过实现 Elim脚本利用 Flexlm实现软件license的动态监控, 再通过 java的 Runtime. getRuntime().exec()运行外部命令类来实现软件license信息的收集。 目前系统安装的软件有ansyscfx、materials、gaussian03、ansys。ls_dyna和fastran,系统已经做到对这些软件的license进行实时监控,包括软件模块的名称、license总数、已用license数和使用者名字。
3.3 作业类资源信息服务的实现
由于底层作业管理系统的不同,分为LSF监控的作业和PBS监控的作业,利用这两种软件提供的作业管理相关API,使用信息采集程序,可以得到作业运行状态的信息。
3.4 用户类资源信息服务的实现
利用LSF对用户所运行作业进行统计,利用Linux工具如ac对系统日志进行解析,得到用户的作业信息和在线时间的统计结果,同时,支持对用户作业数和在线时间的查询功能。
图4 LSF监控的作业信息服务
查询的实现是通过后台执行查询脚本,得到用户作业信息,处理后返回给用户。
4 结 论
GridMonitor系统已在某高校大学校园网格内部署使用。此系统的实现,有效地解决了校园网格的自动化管理和可视化管理问题;可以及时有效的排除系统故障;监控服务为作业调度提供数据支持,达到校园网格负载均衡,License的充分共享;监控服务提供用户信息的详细统计,为收费系统的建立提供数据支持;监控服务的自动化数据收集与归档功能可以为下一阶段的性能预测服务提供充实的数据,可以提供更高的QoS,满足各个层次的用户需求。
[1]金海,袁平鹏,石柯译.网格计算[M].2版.北京:电子工业出版社,2004.
[2]徐志伟,冯百明,李伟.网格计算技术[M].北京:电子工业出版社,2004.
[3]田鸣华.网格环境下的资源监控系统的研究与实现[D].长沙.国防科技大学,2004.
[4]吴大刚,肖荣荣.C/S结构与B/S结构的信息系统比较分析[J].情报科学,2003(3):313-315.
[5]GrADS Projects.[EB/OL]Htpp://www.hipersoft.rice. edu/grads/index.html
[6]潘景山.基于网格环境的资源监控的研究及实现[D].济南:山东大学,2004.
[7]郁志辉,陈渝,刘鹏.网格计算[M].北京:清华出版社,2002.
[8]徐志伟,冯百明,李伟.网格计算技术[M].北京:电子工业出版社,2004.
[9]马满福,吴健,胡正国,等.网格计算资源管理中的信誉度模型[J].计算机应用,2005(1):61-64.
[10]舒万能,郑世珏,陈广东,等.校园网格的负载均衡算法研究 [J].计算机技术与发展,2006(1):126-128.
An implementation of school grid resource monitor system GridMonitor
LI Shu-ling
(Xi'an Eurasia University,Xi'an 710065,China)
It is an important topic that how to interact and manage various distributed,dynamic,diversity, self-governing, isomerous resources to improve availability of resource and effective management in the resource manage system.We design and implement a grid resource monitor system after analyzing data collected by monitor service,which is rich content and flexible.This system is used to provide real-time monitor for application,host and user.Also,it analyzesand stores data collected.
computation grid;grid resource monitor;GMA;Job scheduling
TN0
:A
:1674-6236(2017)01-0078-04
2016-01-19稿件编号:201601152
李淑玲(1976—),女,河南郑州人,硕士,工程师。研究方向:计算机应用。