论文部分内容阅读
随着科技的发展和企业规模的扩大,越来越多的企业使用计算机处理常规化的作业任务,而单独使用某一台高性能的机器已经不能满足日渐增多的业务,也存在扩展性差,无法保证高可用性以及性价比不高的问题,采用大量普通服务器组成的服务器集群已经是解决此问题的普遍方式。采用高速网络连接大量普通计算机构建的计算机集群具有成本低,性能高,批处理能力和并行计算能力很强的特点,因此,得到了快速发展和普遍应用。但是由于集群个体间的差异性,集群统一的资源管理,作业调度,集群监控,集群负载均衡等问题也成为使用集群处理作业需解决的首要问题,这促使了集群作业管理系统的产生。本文首先对项目背景进行深入的研究,充分挖掘本项目所构建的高可用集群作业管理系统需要满足的条件,然后对国内外典型的集群作业管理系统和调度算法进行了相关研究,分析每一种算法的优缺点。在此基础上,本论文以开源集群管理系统Torque为基础,改进其作业调度算法,构建同时支持及时作业和定时作业的高可用集群作业管理系统。本论文主要工作如下:1.针对项目需求特点,引入面向对象中“继承”的思想,利用“作业模板”和“执行态”解决同类场景细节不同问题,简化系统设计,同时也为用户提供更简洁方便的页面操作。2.利用稳定的Haproxy+Keepalived组合,构建支持高可用和负载均衡的集群作业管理系统。为提高系统的高可用性,避免单点故障,同时能应对高并发的作业请求,本系统采用成熟稳定的Haproxy+Keepalived组合,同时采用N+1冗余备份,构建支持高可用和负载均衡的集群作业管理系统。3.改进Torque系统薄弱的作业调度策略,提高系统性能。本论文重点研究开源集群管理系统Torque,分析其重要的数据结构以及作业调度模块的具体执行步骤,利用开源集群管理系统Torque构建本项目需要的集群作业管理系统,为改善Torque在作业调度方面的弱项,提出一种新的下次最小队列相对负载调度算法来替换Torque本身比较薄弱的作业调度算法,并改进其先来先服务的作业选择策略,避免大作业对调度进程的阻塞,提高集群资源利用率和系统吞吐量。4.借鉴cron定时表达式,支持定时作业。为支持定时作业,本论文系统借鉴Linux系统自带的定时任务cron表达式规则,实时监测定时作业,对于时间到达的定时作业投入到改进的Torque中处理,使得系统同时支持普通作业和定时作业。本文针对集群作业管理系统所作的研究和优化工作,有效地提高了集群管理系统的作业调度效率和集群资源利用率,同时可缩短用户的作业响应时间,具有较大的实际价值。