一种基于最小费用最大流的大规模资源调度系统及方法技术方案

技术编号:15437045 阅读:248 留言:0更新日期:2017-05-25 19:15
本发明专利技术涉及一种基于最小费用最大流的大规模资源调度系统及方法,任务状态表,接收并保存用户提交的任务状态,包括任务的CPU使用率、内存使用率、网络I/O、磁盘I/O和优先级;集群状态表,保存集群状态信息,包括集群CPU使用率、内存使用率、网络和磁盘I/O,在集群状态发生变化时对集群状态表进行更新;调度目标表:存储用户配置的调度目标,目前包括优先级、放置约束及公平性;最小费用最大流构造器,根据任务状态表和集群状态表信息,从调度目标表选择调度目标,构造最小费用最大流图;最小费用最大流求解器,采用增量式算法对最小费用最大流构造器构造的最小费用最大流图进行求解;任务执行器,负责任务的具体执行。本发明专利技术满足了实际业务场景灵活性需求。

Large scale resource scheduling system and method based on minimum cost maximum flow

The invention relates to a large-scale resource scheduling system for the minimum cost maximum flow and method based on task status table, receiving and storing tasks submitted by users, including task CPU usage, memory usage, disk I/O and network I/O, priority; cluster state table, save the cluster status information, including cluster CPU usage, memory usage, disk and network I/O in cluster state changes to the cluster state table is updated; scheduling table: user configuration storage scheduling objectives, including the current priority placement constraints and fairness; minimum cost maximum flow constructor, according to task state table and cluster state table information, select the scheduling target table from the scheduling objectives, structure the minimum cost maximum flow chart; the minimum cost maximum flow solver, the incremental algorithm of the minimum cost maximum flow The minimum cost maximum flow graph constructed by the constructor is solved; the task executor is responsible for the specific execution of the task. The invention satisfies the flexible requirement of the actual business scene.

【技术实现步骤摘要】
一种基于最小费用最大流的大规模资源调度系统及方法
本专利技术涉及一种基于最小费用最大流的大规模资源调度系统及方法,属于大数据资源管理领域,特别是大规模环境下资源调度问题。
技术介绍
随着互联网(Internet)、物联网(IoT)等技术的快速发展,数据(Data)开始从简单处理对象向基础性服务转变,多个作业(Job)同时提交,分解成并行执行任务(Task),在至少万级规模的物理服务器上运行处理,已成主流的应用模式,称之为“并行作业(Concurrentjob)”问题。例如,Github每年需处理2000多万个作业,Facebook每天要响应近万个作业请求。大规模资源调度是指多目标约束下,任务与物理资源最优映射决策过程,它是解决并行作业问题的关键。已有研究工作或权衡任务干扰约束(cross-taskinterference)和资源利用率(highresourceutilization),如Whare-Map、Tetrisched;或权衡公平性(fairness)和数据局部性(datalocality),如Quincy、YARN;或权衡公平性(fairness)和隔离性(isolation),如Mesos、Omega;或满足优先级(priority)等单一约束条件,如Borg、Alsched、Quasar。由此可见,已有工作通常只能适用目标固定不变,但相关研究表明,相同的作业集合采用不同的目标进行调度,或导致极低的资源利用率,如Twitter平均资源利用率小于20%;或引起作业性能下降5倍。因此,根据合适的场景选择合适的调度目标意义重大。随着大数据的快速发展和应用深入,白天采用公平性调度目标,为各服务类(邮件、门户等)作业提供资源,晚上采用优先级调度目标,优先保证服务类作业资源供给,利用闲置资源提交大数据分析类作业(Hadoop、Spark等)已成为一种主流的业务模式。故而产生了资源调度具备动态目标组合,按需配置生效的新需求。
技术实现思路
本专利技术技术解决问题:克服现有技术的不足,提出了一种基于最小费用最大流的大规模资源调度系统及方法,满足了实际业务场景灵活性需求,即调度系统支持多种调度目标,且可针对不同场景需求,灵活选取最优调度目标以适应需求。本专利技术技术解决方案:一种基于最小费用最大流的大规模资源调度系统,包括:任务状态表、集群状态表、调度目标表、最小费用最大流构造器、最小费用最大流求解器、任务执行器,其中:任务状态表,接收并保存用户提交的任务状态,包括任务的CPU使用率、内存使用率、网络I/O、磁盘I/O和优先级;集群状态表,保存集群状态信息,包括集群CPU使用率、内存使用率、网络和磁盘I/O,在集群状态发生变化时对集群状态表进行更新;调度目标表:存储用户配置的调度目标,目前包括优先级、放置约束及公平性;最小费用最大流构造器,根据任务状态表和集群状态表信息,从调度目标表选择调度目标,构造最小费用最大流图;最小费用最大流求解器,采用增量式算法对最小费用最大流构造器构造的最小费用最大流图进行求解;任务执行器,采用容器技术进行任务隔离与执行,同时把任务状态和集群状态定期同步到任务状态表和集群状态表。所述最小费用最大流构造器对最小费用最大流图的构造方法如下:(1)根据最小费用最大流构造器建立最小费用最大流模型,提供基本操作接口;(2)根据任务状态表、集群状态表、调度目标表获取任务状态、集群状态和调度目标;(3)根据第一步提供的基本操作接口和第二步获取的任务状态、集群状态、和调度目标,采用不同构造方法构造最小费用最大流图;(4)将构造结果输出至最小费用最大流求解器。所述采用增量式算法对最小费用最大流图进行求解方法如下;(1)循环监测任务状态表和集群状态表的变更事件,包括添加任务、添加机器,将变更结果输出值最小费用最大流图构造器;(2)最小费用最大流图构造器根据第一步得到的变更事件更新最小费用最大流图,将更新后的最小费用最大流图输出至最小费用最大流求解器;(3)最小费用最大流求解器缓存上次求解结果,对第二步得到的更新后的最小费用最大流图进行局部求解,得到任务与资源映射关系。一种基于最小费用最大流的大规模资源调度方法,包括以下步骤:步骤S01:根据任务状态表和集群状态表获取任务状态和集群状态,输出至最小费用最大流求解器;步骤S02:根据调度目标表和用户配置信息,获取调度目标,输出至最小费用最大流构造器;步骤S03:根据步骤S01和步骤S02获取的任务状态、集群状态、调度目标,采用最小费用最大流构造器构造最小费用最大流图,将结果输出至最小费用最大流求解器;步骤S04:根据最小费用最大流求解器,采用增量式算法,对步骤S03中构造的最小费用最大流图进行求解,得到任务与资源的映射关系;步骤S05:根据步骤S04得到的任务与资源映射关系,将相应任务调度到特定机器的任务执行器上执行。本专利技术与现有技术相比的优点在于:(1)本专利技术提出基于最小费用最大流的大规模资源调度方法,支持多种调度目标,且可针对不同场景按需切换,解决了传统方法难以适用于多种调度场景问题;(2)本专利技术提出了最小费用最大流图的增量式求解算法,能够有效降低流图的求解时间,使本专利技术更具有实用价值。附图说明图1为本专利技术方法实现原理图;图2为本专利技术方法中最小费用最大流网络模型原理图;图3为本专利技术中最小费用最大流构造器的实现流程图;图4为本专利技术中最小费用最大流求解器的实现流程图。具体实施方式为使本专利技术更加容易理解,结合一个实例对本专利技术作进一步阐述,但该实例不构成对本专利技术的任何限制。如附图1,本专利技术技术解决方案:基于最小费用最大流的大规模资源调度系统,包括任务状态表、集群状态表、调度目标表、最小费用最大流构造器、最小费用最大流求解器、任务执行器。其中:任务状态表接收并保存用户提交的任务状态,包括任务的CPU使用率、内存使用率、网络I/O、磁盘I/O、优先级;集群状态表保存集群状态信息,包括集群CPU使用率、内存使用率、网络和磁盘I/O,在集群状态发生变化时对集群状态表进行更新;调度目标表:存储用户配置的调度目标,目前包括优先级、放置约束以及公平性;最小费用最大流构造器,根据任务状态表和集群状态表信息和调度目标表中信息,根据不同构造方法,构造最小费用最大流图;最小费用最大流求解器采用增量式算法对构造器构造的最小费用最大流图进行求解;任务执行器,采用容器技术,进行任务执行与隔离。如图3所示,本专利技术中最小费用最大流构造器的实现如下:首先采用最小费用最大流构造器建立最小费用最大流模型,提供基本操作接口;然后根据任务状态表、集群状态表和调度目标表获取任务状态、集群状态和调度目标,输出至最小费用最大流构造器;最小费用最大流构造器根据不同调度目标的构造方法,构造最小费用最大流图。所述最小费用最大流模型及基本操作接口如下:图2是最小费用最大流模型,左侧是任务集合T,右侧是物理资源集合M,边T1,2→M1以及T2,1→U1,表示资源M1和U1为任务T1,2资源供给的候选项;每条边的容量和费用表示任务是否可调度到相应物理资源上(容量),如果可以,其供给的效果(费用)如何。资源调度问题映射到最小费用最大流问题后,图中各元素的物理含义如表1所示。表1基于最小费用最大流调度元素具体含义(A→B表本文档来自技高网
...
一种基于最小费用最大流的大规模资源调度系统及方法

【技术保护点】
一种基于最小费用最大流的大规模资源调度系统,其特征在于包括:任务状态表、集群状态表、调度目标表、最小费用最大流构造器、最小费用最大流求解器、任务执行器,其中:任务状态表,接收并保存用户提交的任务状态,包括任务的CPU使用率、内存使用率、网络I/O、磁盘I/O和优先级;集群状态表,保存集群状态信息,包括集群CPU使用率、内存使用率、网络和磁盘I/O,在集群状态发生变化时对集群状态表进行更新;调度目标表:存储用户配置的调度目标,目前包括优先级、放置约束及公平性;最小费用最大流构造器,根据任务状态表和集群状态表信息,从调度目标表选择调度目标,构造最小费用最大流图;最小费用最大流求解器,采用增量式算法对最小费用最大流构造器构造的最小费用最大流图进行求解;任务执行器,采用容器技术进行任务隔离与执行,同时把任务状态和集群状态定期同步到任务状态表和集群状态表。

【技术特征摘要】
1.一种基于最小费用最大流的大规模资源调度系统,其特征在于包括:任务状态表、集群状态表、调度目标表、最小费用最大流构造器、最小费用最大流求解器、任务执行器,其中:任务状态表,接收并保存用户提交的任务状态,包括任务的CPU使用率、内存使用率、网络I/O、磁盘I/O和优先级;集群状态表,保存集群状态信息,包括集群CPU使用率、内存使用率、网络和磁盘I/O,在集群状态发生变化时对集群状态表进行更新;调度目标表:存储用户配置的调度目标,目前包括优先级、放置约束及公平性;最小费用最大流构造器,根据任务状态表和集群状态表信息,从调度目标表选择调度目标,构造最小费用最大流图;最小费用最大流求解器,采用增量式算法对最小费用最大流构造器构造的最小费用最大流图进行求解;任务执行器,采用容器技术进行任务隔离与执行,同时把任务状态和集群状态定期同步到任务状态表和集群状态表。2.根据权利要求1所述的基于最小费用最大流的大规模资源调度系统,其特征在于:所述最小费用最大流构造器对最小费用最大流图的构造方法如下:(1)根据最小费用最大流构造器建立最小费用最大流模型,提供基本操作接口;(2)根据任务状态表、集群状态表、调度目标表获取任务状态、集群状态和调度目标;(3)根据第一步提供的基本操作接口和第二步获取的任务状态、集群状态、和调度目标,采用不同构造方法构造最小费用最大...

【专利技术属性】
技术研发人员:吴恒张文博陈晓旭钟华宋云奎张一鸣
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1