计算集群中多用户的任务调度方法及设备技术

技术编号:16455795 阅读:49 留言:0更新日期:2017-10-25 19:54
本申请的目的是提供一种计算集群中多用户的任务调度方法及设备,通过确定所述计算集群中各服务器的当前的剩余总资源量配额,确定各用户当前的剩余任务数量配额,能够对当前集群负载主动感知,通过从新接收的任务中筛选出数量小于或等于各用户当前的剩余任务数量配额的任务,按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的节点上,并对所有节点进行节点优先级排序,无需预先为任务指定固定的资源池,调度策略无需随着调度器的配置而固定下来,调度策略能够动态的生成,实现计算集群的计算资源灵活、动态分配,实现更加细粒度的资源分配和任务调度。

【技术实现步骤摘要】
计算集群中多用户的任务调度方法及设备
本申请涉及计算机领域,尤其涉及一种计算集群中多用户的任务调度方法及设备。
技术介绍
大数据技术依托于海量的数据,而这样新型的数据处理任务是单台计算机不能胜任的,需要采用分布式的计算集群(计算引擎)。分布式计算引擎是将大型的处理任务,在若干中间处理阶段,分割成类型相同的小任务,然后分发到不同的分布式节点进行计算。如何将接收到的任务分发出去,便是引擎调度模块(调度器)负责的。分布式计算平台上,往往很多用户如多租户使用同一个计算集群,并且使用集群运行不同类型的运算任务(混合负载)。在这样的场景中,如何合理、高效地分配资源,是计算任务顺利完成的关键,而其核心技术在于计算集群(计算引擎)的调度功能。而现有的调度器调度方案无法可靠保证多用户和混合负载场景下的计算引擎对任务的执行效率,同时影响了用户的使用体验。
技术实现思路
本申请的一个目的是提供一种计算集群中多用户的任务调度方法及设备,能够解决现有的调度器调度方案无法可靠保证多用户和混合负载场景下的计算引擎对任务的执行效率的问题。根据本申请的一个方面,提供了一种计算集群中多用户的任务调度方法,该方法包括:根据计本文档来自技高网...
计算集群中多用户的任务调度方法及设备

【技术保护点】
一种计算集群中多用户的任务调度方法,其中,该方法包括:根据计算集群中所有服务器的当前占用总资源量,确定所述计算集群中各服务器的当前的剩余总资源量配额;根据所述计算集群中各服务器上各用户当前运行的任务数量,确定各用户当前的剩余任务数量配额;从新接收的任务中筛选出数量小于或等于各用户当前的剩余任务数量配额的任务,其中,所述筛选出的所有任务的需求总资源量小于或等于所述当前的剩余总资源量配额;获取所述筛选出的任务的任务类型,按任务类型对所述筛选出的任务进行任务优先级排序;按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的节点上,所述资源池中的节点对应于所述计算集群中的服务器;根据每个节...

【技术特征摘要】
1.一种计算集群中多用户的任务调度方法,其中,该方法包括:根据计算集群中所有服务器的当前占用总资源量,确定所述计算集群中各服务器的当前的剩余总资源量配额;根据所述计算集群中各服务器上各用户当前运行的任务数量,确定各用户当前的剩余任务数量配额;从新接收的任务中筛选出数量小于或等于各用户当前的剩余任务数量配额的任务,其中,所述筛选出的所有任务的需求总资源量小于或等于所述当前的剩余总资源量配额;获取所述筛选出的任务的任务类型,按任务类型对所述筛选出的任务进行任务优先级排序;按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的节点上,所述资源池中的节点对应于所述计算集群中的服务器;根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序;按所述节点优先级排序调度对应的服务器执行所述节点上分配的任务,其中,同一节点上的任务按所述任务优先级调度;更新计算集群中对应服务器的当前占用总资源量和各用户当前运行的任务数。2.根据权利要求1所述的方法,其中,每个节点上的资源指标包括:CPU资源量、内存资源量、权重、保留资源量和最大资源量。3.根据权利要求2所述的方法,其中,根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序,包括:若某个节点上的分配的任务的需求资源量小于该节点上的保留资源量,则将该节点的节点优先级设置得较高;若某个节点上的分配的任务的需求资源量超过该节点上的保留资源量且小于该节点的最大资源量,则按该节点的权重设置该节点的节点优先级高低。4.根据权利要求1所述的方法,其中,所述资源池中的节点组成树形结构,其中,节点之间满足以下约束:子节点只使用父节点的最大资源量;同级兄弟节点使用的资源量总和不超过父节点最大资源量;同级兄弟节点相互借用超过同级兄弟节点的最大资源量的父节点的最大资源量的剩余资源量。5.根据权利要求4所述的方法,其中,当所述资源池中的节点组成树形结构时,按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的节点上,包括:按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的叶子节点上。6.根据权利要求5所述的方法,其中,按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的叶子节点上,包括:根据同一用户下的每个叶子节点的当前占用资源量额和/或当前任务数量,将同一用户的任务均衡分配到同一用户下各个叶子节点上。7.根据权利要求5所述的方法,其中,当所述资源池中的节点组成树形结构时,根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序,包括:对树形结构中的叶子节点的父节点即树形结构的倒数第二层节点进行优先级排序,其中,根据所有叶子节点的上层节点上分配的任务的需求资源量和资源指标对倒数第二层节点进行优先级排序,树形结构中除叶子节点外的每一上层节点上分配的任务的需求资源量为其下层节点上的分配的任务的需求资源量之和;根据叶子节点上分配的任务的需求资源量和资源指标分别对每个倒数第二层节点下的叶子节点进行优先级排序;根据所述倒数第二层节点和叶子节点的优先级排序,得到所有叶子节点的优先级排序。8.根据权利要求5所述的方法,其中,根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序,包括:根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级一次排序;在所述节点优先级一次排序的基础上,按照用户的等级对所有节点进行节点优先级二次排序,在同一节点内的任务,保持所述任务优先级的排序结果。9.根据权利要求5所述的方法,其中,根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序,包括:对树形结构中的叶子节点的父节点即树形结构的倒数第二层节点进行优先级排序,其中,根据所有叶子节点的上层节点上分配的任务的需求资源量和资源指标对倒数第二层节点进行优先级排序,其中,树形结构中除叶子节点外的每一上层节点上分配的任务的需求资源量为其下层节点上的分配的任务的需求资源量之和;根据叶子节点上分配的任务的需求资源量和资源指标分别对每个倒数第二层节点下的叶子节点进行优先级排序;根据所述倒数第二层节点和叶子节点的优先级排序,得到所有叶子节点的优先级一次排序;在所有叶子节点的优先级一次排序的基础上,按照叶子节点所属的用户的等级进行所有叶子节点的优先级二次排序,在同一叶子节点内的任务,保持所述任务优先级的排序结果。10.根据权利要求1所述的方法,其中,按所属的用户将所述任务优先级排序后的任务分配到资源池中对应的用户的节点上的步骤中,不同的用户之间共享被分配到的节点上的一部分或全部资源。11.根据权利要求1所述的方法,其中,获取所述筛选出的任务的任务类型中,所述任务类型包括:用户身份和任务类型信息,其中,用户身份信息包括用户的角色和/或分组、服务保证等级、用户使用的服务器地址。12.根据权利要求1至11任一项所述的方法,其中,按任务类型对所述筛选出的任务进行任务优先级排序,包括:按任务类型、计算集群中的服务器的当前运行状态和历史运行状态、服务器上运行的任务的当前运行状态和历史运行状态,对所述筛选出的任务进行任务优先级排序。13.一种计算集群中多用户的任务调度设备,其中,该设备包括:集群负载感知模块,用于根据计算集群中所有服务器的当前占用总资源量,确定所述计算集群中各服务器的当前的剩余总资源量配额;及根据所述计算集群中各服务器上各用户当前运行的任务数量,确定各用户当前的剩余任务数量配额;策略应用模块,用于从新接收的任务中筛选出数量小于或等于各用户当前的剩余任务数量配额的任务,其中,所述筛选出的所有任务的需求总资源量小于或等于所述当前的剩余总资源量配额,按所属的用户将由所述任务类型感知模块任务优先级排序后的任务分配到资源池中对应的用户的节点上,所述资源池中的节点对应于所述计算集群中的服务器;根据每个节点上的分配的任务的需求资源量和每个节点上的资源指标对所有节点进行节点优先级排序;按所述节点优先级排序调度对应的服务器执行所述节点上分配的任务,其中,同一节点上的任务按所述任务优先级调度;通知所述集群负载感知模块更...

【专利技术属性】
技术研发人员:陈夏明吕程刘汪根
申请(专利权)人:星环信息科技上海有限公司
类型:发明
国别省市:上海,31

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

1