论文部分内容阅读
机群系统已经成为当今高性能计算的主流,与传统工作站和PC机不高的资源利用率相比,机群系统需要最大化系统的资源利用率,满足用户多样化的需求,增强其可用性,以充分利用其昂贵的资源。为了实现这些目标,设计和使用机群系统时,必须考虑的一个重要问题就是作业管理和调度。作业调度系统负责实现系统的作业调度和资源分配策略,作业调度策略决定了用户作业的执行次序,资源分配策略决定资源如何使用,作业调度机制的实现直接影响系统的资源利用率、负载的平衡、作业吞吐量和用户满意度。
本文对当前的作业调度系统进行了深入调查,在总结前人工作的基础上,设计和实现了一个通用有效的调度方案:基于作业分类的层次式优先级调度,有效的解决了用户多样化的需求,同时尽可能的最大化系统的资源利用率和吞吐量。该方案实现了四类作业调度算法:普通作业调度、交互式调度、延期调度和实时调度;支持回填调度技术;可以方便的设定顺序作业的调度策略和FCFS调度策略;解决了饿死问题;支持系统(部门)级、队列(集)级、用户(组)级资源使用控制;提供六种资源分配策略,支持集中和分散两种负载平衡策略。
目前大多数作业管理系统都属于批调度系统,例如PBS、LSF等(包括本文设计的系统)都主要实现了批调度技术,且FCFS和EASY Backfilling[4]是目前应用最广泛的算法。但它们都存在问题,FCFS策略的资源利用率不高,EASY克服了FCFS缺点,有效的提高了的系统资源的利用率,但EASY算法也存在两大缺陷,一个是要求用户估计作业运行时间,增加用户负担;另一个是偏爱小作业。为了解决这些问题,本文提出把抢占式调度应用在机群调度领域。虽然机群技术已经发展了二十多年,但抢占式调度在高性能计算领域一直没有得到广泛应用,主要是因为技术水平的限制,并行进程冻结和迁移技术开销大,网络互连技术瓶颈问题。由于这些原因,抢占式调度在高性能计算领域一直被当作不可行的技术。但近几年来,高性能通信技术有了飞速发展,例如,InfiniBand网络的数据传输速率最高可达到20Gbps,并行程序检查点技术也不断提高,例如,SafetyNet[21]每秒钟可以进行10,000次检查点操作,而且越来越多的机群作业管理系统开始支持作业冻结和迁移技术。抢占式调度应用于机群调度的可行性需要重新进行评估。假设可抢占式调度可以有效的提高将系统的资源利用率,大幅度提高用户的满意度,可以预测可抢占式调度将成为机群作业管理系统新的发展方向。为此本文实现了一种可抢占式调度算法,并采用实际的应用环境进行了模拟实验,从性能和公平性两个角度与当前最流行的EASY Backfilling算法进行了对比,验证了可抢占式调度算法的有效性。