【技术实现步骤摘要】
基于计算资源的动态任务调度装置及方法
[0001]本专利技术涉及云计算
,更具体地说,涉及一种基于计算资源的动态任务调度装置及方法。
技术介绍
[0002]随着互联网的不断扩张,传统单节点服务器的计算能力已经不足以处理当前与日俱增的数据量,因此开发人员需要将大量的计算资源进行统一管理和调度,构成一个资源池用以向终端用户提供服务。K8s(Kubernetes)和Openstack作为业内应用最多的云计算管理平台,提供了不错的资源管理和调度方案。随着业务体量的发展,企业对人工智能模型训练、仿真等相关场景的任务调度需求愈专利技术显。然而作为一种通用型任务及资源调度平台,针对CPU、内存、IO等资源比较敏感的任务没有很好的表现。
[0003]例如专利CN112241368A,公开了基于k8s的自动化模型训练方法和装置,通过k8s实现了模型训练任务的调度。其工作原理如图1所示,基于k8s构建了一套上层模型训练管理平台,创建训练任务后,通过调用k8s的api接口创建pod,k8s调度器在接到创建pod请求后立即寻找可用节点 ...
【技术保护点】
【技术特征摘要】
1.基于计算资源的动态任务调度装置,其特征在于,包括:控制模块、计算模块、Etcd以及Mysql数据库服务器;所述控制模块包括多个调度器,计算模块包括多个节点,每个节点包括节点监控模块与任务处理模块;所述调度器用于根据用户提交的任务调度计算模块执行任务,所述调度器基于Etcd提供的主备高可用且数据强一致的特性完成主调度器和备调度器的选举功能,从而实现调度器的高可用;在服务正常情况下,只有主调度器负责调度业务,当主调度器出现异常时,备调度器之一将立刻捕捉到异常并选举成为主调度器,继续处理业务。2.根据权利要求1所述的基于计算资源的动态任务调度装置,其特征在于,所述监控模块负责与调度器通信,将当前节点资源状态传送给当前主调度器,主调度器将任务下发到监控模块后,监控模块负责准备任务所需要的数据并拉起任务,待任务完成后将任务执行结果回调给主调度器。3.根据权利要求2所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器还包括任务资源需求评估模块,针对不同任务,对用户提交的任务针对敏感资源进行评估,计算所需要的资源数量,此资源数量将作为后续节点选择的重要标准。4.根据权利要求3所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器还包括节点预选模块,用于根据任务资源需求评估模块评估后的结果,查找当前在线节点中剩余资源满足需求的节点;当节点池较大时,配合随机数确定查找起点和步长,当满足需求的节点数量达到一定数量后即可停止预选,并将预选结果传递给下一步。5.根据权利要求4所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器还包括负载均衡模块,用于对预选出的节点进行评分,评分依赖于任务所需要的各种资源,资源与其权重的乘积作为积极参数;节点惩罚值作为消极参数,由其失败次数使用指数加权滑动平均算法计算而来,短时间内失败次数越高则惩罚值越高,否则将随任务的执行成功惩罚值逐渐降低为1。6.根据权利要求5所述的基于计算资源的动态任务调度装置,其特征在于,所述负载均衡模块采用以下函数获取权重、惩罚值和节点评分:所述权重为滑动平均权重,计算公式如公式一:w=e
(last
‑
now)/lifetime
;其中,e为数学常数,last为上次节点被选中的时间,now为当前时间,lifetime为自定义的时间周期,在该周期内的时间查值影响较大,它在lifetime
×
ln(2)后达到半衰期;惩罚值计算公式如公式二:penty=old
×
w+new
×
(1
‑
w);其中,old为上一次计算出的惩罚值,new为本次惩罚值,如果失败为1000,成功为1,w为公式一计算出的权重;节点评分公式如下:其中,resVal为资源剩余值,resWeight为资源权重,inflight为当前该节点正在处理的任务数量,penty为公式二计算出的惩罚值。7.根据权利要求6所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器
还包括节点熔断检查模块,用于对节点是否可继续服务进行评估,节点熔断检查模块对错误次数进行记录并决定是否将任务继续调度到该节点、减少无效的网络请求、降低调度延迟中的一种或数种;熔断算法计算公式如下:其中,k为容忍度,减少k使限流算法更加激进,更多流量将被拒绝,增加k使限流算法缓和,允许更多流量;accepts为当前时间窗口正常请求数量,requests为当前时间窗口所有请求数量;当requests无限增大,而accepts不再增长时,f(a)无限趋近于1,触发熔断;反之当accepts增大时,由于k的作用,f(a)无限趋近于0,解除熔断。8.根据权利要求7所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器还包括过载保护模块,所述过载保护模块作用于计算节点端,当任务由调度器提交到计算节点后,计算节点对当前系统资源与任务所需资源进行比较,当剩余资源不足以执行该任务时,触发过载保护,立即向调度器拒绝任务并做出资源不足响应,避免因资源不足导致的OOM问题。9.根据权利要求1
‑
8任一所述的基于计算资源的动态任务调度装置,其特征在于,所述调度器还包括数据传输协议模块,所述数据传输协议模块使用TCP协议构建Request
‑
Response模型,将ProtoBuf数据进行包装用于双方传递。10.基于计算资源的动态任务调度方法,其特征在于,包括:控制模块、计算模块、Etcd以及Mysql数据库服...
【专利技术属性】
技术研发人员:廖文龙,李浩,何弢,黄粟,刘耀勇,
申请(专利权)人:上海酷移机器人有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。