论文部分内容阅读
计算机集群作为分布式系统的一个重要分类,被广泛应用于高性能和高吞吐量计算系统,自上世纪九十年代以来,集群计算一直是计算机科学的研究热点。在集群环境下,负载均衡技术在提高系统并行计算能力和资源利用率方面起着关键性的作用,优秀的负载均衡算法可以有效的管理并调度系统资源,避免资源利用不均衡而导致系统整体性能下降的情况。印刷作业包含大量计算密集型操作,采用经典的三层体系结构[1]的分布式包装布局自动化系统PLA1.0(Packaging Layout Automation)存在作业丢失、内存溢出、响应时间长和系统吞吐量差等性能缺陷。针对这些问题,本论文提出采用基于动态负载均衡[2]的计算机集群架构重构PLA1.0,从作业级并行的角度,提高系统的吞吐量,并使系统具有更好的可用性、伸缩性和扩展性。同时采用线程池[3]、并行计算[4]、缓存、异步、虚拟化等系统优化策略,解决系统存在的性能问题。论文首先介绍选题背景以及计算机集群[5]和负载均衡与作业调度系统的基本概念,并重点论述负载均衡与作业调度系统的相关技术,在此基础上,设计并实现PLA2.0。具体而言,有以下几个方面:1.详细论述PLA1.0的系统结构和作业处理流程,并分析其性能缺陷,提出PLA2.0的功能和性能需求以及设计方案。2.详细论述负载均衡与作业调度系统的基本需求、设计思路、通信模型、计算服务器管理、作业调度、作业状态管理等内容,设计并实现具有交互功能的作业调度子系统PLA Dispatcher;并采用故障转移、心跳检测、超时处理、冗余备份与恢复、守护进程、版本校验等技术加强系统可靠性;同时针对集群架构所带来的系统部署复杂度增加的问题,实现自动更新功能,使得系统更易于快速部署和维护。3.深入研究负载均衡和作业调度算法[1,5,6,7,8],根据项目数据和作业的特征,实现一种适合于当前系统的动态负载均衡与作业调度算法。本论文详细论述算法思想、流程图以及伪代码。4.深入分析作业丢失的原因,采用更合理的系统分层和功能分割,重新设计并实现检验模块、通信模块和数据库管理模块,解决作业丢失问题。5.集群架构有效的解决了作业的并行,提高了系统吞吐量,但是不能有效的解决单作业处理时间长和内存溢出的问题。为此,本文采用线程池、并行计算、缓存、异步、虚拟化等系统优化策略及优雅的内存管理技术,解决PLA1.0存在的内存溢出和单作业处理时间长的问题。6.简要介绍计算服务器集群的设计思路和作业处理流程,概括性的介绍客户端、通信服务器和工作流模块。最后,本文描述了负载均衡与作业调度系统的功能测试并详细论述了系统性能测试,从内存使用量、响应时间[6]和系统吞吐量三个方面对PLA1.0和PLA2.0的测试结果进行分析和比较。性能测试结果表明,PLA2.0的平均吞吐量是PLA1.0的2.45倍并且没有任何作业丢失,系统最大加速比达到6.03;在内存管理方面,PLA2.0没有内存溢出和泄漏问题,对于PLA1.0不能处理的作业,相比较而言,PLA2.0只用了15%的内存量,且保持稳定和可靠运行。总体而言,本文所论述的基于动态负载均衡的计算机集群系统PLA2.0作业分配稳定,资源利用率、内存管理、作业处理速度等各方面都达到甚至超出了设计要求,实现了系统高性能、高可用、易扩展、可伸缩的目的。目前系统已经投入使用并且稳定运行,该解决方案也已经推广到其它产品线。