技术特征:
1.一种自适应的和规则制导的分布式调度方法,其特征在于,包括以下步骤:在集群中设置一调度服务器;统计集群内的计算节点,为每一计算节点分别设置一与之对应的资源代理;启动调度服务器,初始化生成一个资源表和一个作业表,此时资源表和作业表均为空;资源代理分别收集对应计算节点的配置信息和性能指标数据,形成资源注册请求并将其发送给调度服务器,其中,资源注册请求包括初始资源注册请求和定期资源注册请求;调度服务器接收资源代理发送来的资源注册请求,判断该资源注册请求是否为首次注册,如果为是,则将该资源注册请求对应的资源加入资源表中并启动一对应该资源的定时器,如果为否,则利用该资源注册请求中的信息对资源进行更新并重置对应的定时器;资源代理退出时,构建一个资源注销请求并将其发送至调度服务器;调度服务器接收到资源注销请求后,将对应的资源从资源表中删除;调度服务器定期检查每一资源的定时器,将已到期的资源从资源表中删除;调度服务器对调度规则进行增加、删除、修改和查看、对调度规则进行解释、生成调度决策并将调度决策发送至对应的资源代理以及接收资源代理发送的作业状态报告并更新作业表;资源代理接收调度决策、根据调度决策对作业进行启动、暂停、恢复及停止操作以及监控对应计算节点上各个作业的进度状态和资源占用状态并生成作业状态报告。2.根据权利要求1所述的自适应的和规则制导的分布式调度方法,其特征在于,调度规则包括访问控制规则、亲和规则、作业优先级计算规则以及节点优先级计算规则,其中:访问控制规则为一个二元组{job
‑
filter,node
‑
filter},其中,job
‑
filter为利用作业的属性构造的一个逻辑表达式,用来匹配作业;node
‑
filter为利用节点的属性构造的另一个逻辑表达式,用来匹配节点,访问控制规则的含义如下:满足job
‑
filter条件的作业不允许使用满足node
‑
filter条件的节点,亲和规则为一个二元组{job
‑
filter1,job
‑
filter2,affinity},job
‑
filter1和job
‑
filter2均为利用作业属性构造的逻辑表达式,affinity表示亲和性,取值为“必须调度到同一节点”或“必须调度到不同节点”,亲和规则的含义如下:满足job
‑
filter1条件的作业,必须和满足job
‑
filter2条件的作业调度到相同的计算节点上,或:满足job
‑
filter1条件的作业,必须和满足job
‑
filter2条件的作业调度到不同的计算节点上,作业优先级计算规则为一个六元组{job
‑
filter,cpu
‑
weight,memory
‑
weight,disk
‑
weight,bandwidth
‑
weight,queue
‑
time
‑
weight,run
‑
time
‑
weight},其中,job
‑
filter为利用作业属性构造的一个逻辑表达式,cpu
‑
weight表示作业对cpu资源需求量的权重,memory
‑
weight表示作业对内存资源需求量的权重,disk
‑
weight表示作业对磁盘容量需求量的权重,bandwidth
‑
weight表示作业对网络带宽资源需求量的权重,queue
‑
time
‑
weight表示作业等待时间的权重,run
‑
time
‑
weight表示作业预计运行时间的权重,作业优先级计算规则的含义如下:对于每个满足job
‑
filter条件的作业,按照指定的权重计算它的动态优先级,节点优先级计算规则为一个九元组{node
‑
filter,cpu
‑
weight,memory
‑
weight,disk
‑
weight,cpu
‑
load
‑
weight,memory
‑
load
‑
weight,disk
‑
load
‑
weight,fail
‑
count
‑
weight,fail
‑
rate
‑
weight},其中,node
‑
filter为利用节点属性构造的一个逻辑表达式,cpu
‑
weight表示节点配置的cpu个数的权重,memory
‑
weight表示节点配置的内存容量的权重,disk
‑
weight表示节点配置的磁盘容量的权重,cpu
‑
load
‑
weight表示节点当前cpu占用率的权重,memory
‑
load
‑
weight表示节点当前内存占用率的权重,disk
‑
load
‑
weight表示节点当前磁盘占用率的权重,fail
‑
count
‑
weight表示节点上运行失败的作业总数的权重,fail
‑
rate
‑
weight表示节点上作业运行失败比率的权重,节点优先级计算规则的含义如下:对于每个满足node
‑
filter条件的节点,按照指定的权重计算它的动态优先级。3.根据权利要求2所述的自适应的和规则制导的分布式调度方法,其特征在于,调度服务器按照以下方式执行调度规则:按照作业优先级计算规则,计算各个排队作业的动态优先级,选出动态优先级最高的作业进行资源分配,对于任一作业,根据访问控制规则,排除不允许作业使用的节点,对于任一作业,根据亲和规则,排除不适宜作业使用的节点,按照节点优先级计算规则,计算各个备选的计算节点的动态优先级,选出动态优先级最高的多个计算节点并对其分配作业。
技术总结
一种自适应的和规则制导的分布式调度方法,该方法在集群中设置了调度服务器和与计算节点一一对应的资源代理,调度服务器对调度规则进行增加、删除、修改和查看、对调度规则进行解释、生成调度决策并将调度决策发送至对应的资源代理以及接收资源代理发送的作业状态报告并更新作业表。资源代理接收调度决策、根据调度决策对作业进行启动、暂停、恢复及停止操作以及监控对应计算节点上各个作业的进度状态和资源占用状态并生成作业状态报告。本发明大大减少了系统部署时所需的配置工作量,可在不修改调度系统源码、不开发任何插件的情况下随时调整系统的调度策略,甚至可以实现多种调度策略同时共存,大大提高了系统对不同应用场景的适应性。景的适应性。景的适应性。
技术研发人员:罗鑫 王达 吴冬冬
受保护的技术使用者:北京睿芯高通量科技有限公司
技术研发日:2021.07.30
技术公布日:2021/11/2
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。