● 摘要
高性能集群系统已经成为各种高性能计算、web应用的主要承载体,作业管理系统是高性能集群管理的重要组成部分。其中,作业管理的核心是作业调度算法。IBM自主计算的思想为高性能集群的作业管理提供了一条行之有效的途径。传统的作业调度算法忽略了作业本身的特性,大多根据作业对资源的需求和当前的资源状况进行匹配和调度。本文侧重于研究作业运行过程中对资源需求的变化,通过分析不同作业在执行过程中的行为特征,提出了作业分类的思想。本文的研究内容包括作业信息的采集、作业的分类以及基于作业分类的调度算法的设计与实现。为了监测作业运行过程的性能信息,设计并实现了集群节点信息监测功能。本文将作业运行所在的节点性能信息做为作业的外部行为特征,周期性的采集节点信息直到作业运行结束。作业分类完成作业类别的识别。作业分类包括对数据集的离散化、特征选择、主成分分析以及KNN分类等过程。K值的选取是KNN分类算法中的关键点之一,本文采用逐步尝试的方法确定文中采用的K值。作业调度主要由作业监测模块、资源监测模块以及作业调度器这几部分组成。本文分析了作业信息和资源信息的更新机制,采用周期更新和事件触发更新相结合的方式。作业调度器的设计基于OpenPBS,实现了基于作业分类的调度算法。这种调度算法根据不同类别的作业在相同节点同时运行的思想进行作业调度。通过集群环境下的基于分类作业调度实验,分析了系统的吞吐量、资源利用率以及资源利用率的变化情况。实验验证这种基于作业分类的作业调度能够提高系统的吞吐量和资源的利用率。
相关内容
相关标签