一种基于Kubernetes的多租户机器学习任务资源调度方法技术

技术编号:33122908 阅读:21 留言:0更新日期:2022-04-17 00:28
本发明专利技术公开了一种基于Kubernetes的多租户机器学习任务资源调度方法,对不同用户可使用的算力资源进行配额管理,同时监测Kubernetes平台中各Node节点资源状态信息,考虑节点所在宿主机的资源利用率的问题,避免出现调度结果不准确的问题,同时通过监测实时调度和预调度request需求信息,根据调度任务需求信息对各Node节点进行优先级排序,获取最优节点的主机标签,根据标签对各类机器学习模型训练与预测任务的资源需求进行合理分配。本发明专利技术有效的预防和减少Kubernetes平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率。节点资源的利用率。节点资源的利用率。

【技术实现步骤摘要】
一种基于Kubernetes的多租户机器学习任务资源调度方法


[0001]本专利技术涉及一种基于Kubernetes的多租户机器学习任务资源调度方法,属于电力调控


技术介绍

[0002]目前电网调控领域人工智能技术应用取得了初步的成果,但在算力资源管控方面遇到了算力分散,制约应用的突破问题,各类应用“烟囱式”部署人工智能开发运行环境,造成了底层硬件资源的重复建设、算力分散且较难扩展。
[0003]云计算平台IaaS层主要利用了虚拟化技术实现多租户资源隔离与动态分配,但传统的虚拟化技术自身对硬件资源占用率较高,不适合机器学习模型训练和预测任务的算力资源高利用率场景;并且在应用程序配置、运行、管理等环节的复杂性较高,不利于集群化统筹管理。
[0004]kubernetes具有对服务进行自动化的编排、部署和资源调度等能力深受开发者的欢迎,本专利技术基于kubernetes对资源进行自定义编排调度,支撑新一代调度技术支持系统中人工智能应用开发及服务支撑平台的产品研制工作,用于电网故障辨识与分析、电网运行的预测与分析和电网智能调度辅助决策等机器学习训练和预测任务的资源调度,其应用成果验证了本专利技术的技术路线与可靠性。

技术实现思路

[0005]目的:为了克服现有技术中存在的不足,本专利技术提供一种基于Kubernetes的多租户机器学习任务资源调度方法,采用Kubernetes与容器技术对IaaS层CPU、GPU与内存资源进行统一调控,构建多租户机器学习模型训练与预测的应用程序标准化运行环境,提高电网调控系统的可控性、弹性扩展能力与资源隔离能力。
[0006]技术方案:为解决上述技术问题,本专利技术采用的技术方案为:
[0007]一种基于Kubernetes的多租户机器学习任务资源调度方法,包括如下步骤:
[0008]计算集群中Node节点已使用资源与已创建容器使用资源的差值,得到Node节点操作系统自身所有进程占用的资源信息。
[0009]调用Kubernetes API获取Node节点上所有机器学习模型训练与预测任务容器申请的资源信息。
[0010]将Node节点固有资源容量减去Node节点操作系统自身所有进程占用的资源信息和Node节点上所有机器学习模型训练与预测任务容器申请的资源信息,计算出Node节点实时可用资源信息。
[0011]根据Node节点实时可用资源信息和Node节点固有资源容量,计算Node节点CPU、GPU和内存的可用率。
[0012]系统集群资源管控服务预设资源阈值百分比,Node节点CPU、GPU和内存的可用率不低于预设资源阈值百分比的Node节点为机器学习模型训练与预测任务分配算力资源。
[0013]机器学习任务调度服务将不同用户的机器学习模型训练与预测任务申请的CPU、GPU和内存资源数量发送至系统集群资源管控服务。
[0014]系统集群资源管控服务通过计算多租户资源配额表、用户资源使用情况表的资源差值得到用户可申请剩余资源,并校验机器学习模型训练与预测任务申请的CPU、GPU和内存数量是否超过用户可申请剩余资源。
[0015]选择未超过用户可申请剩余资源的Node节点,系统集群资源管控服务将Node节点实时可用资源信息与申请的CPU、GPU和内存数量计算差值,除以Node节点固有资源容量,得到分配出资源后CPU、GPU和内存所剩资源的百分比。
[0016]选择分配出资源后CPU、GPU和内存所剩资源的百分比大于预设的资源阈值百分比的Node节点,将每个Node节点的分配出资源后CPU、GPU和内存所剩资源的百分比进行评分计算,并按评分从大到小进行排序。
[0017]系统集群资源管控服务从序列中排序在前的Node节点为最优节点,并将最优节点的节点名返回给机器学习任务调度服务,并在用户资源使用情况表中进行持久化存储。
[0018]机器学习任务调度服务动态生成Kubernetes yaml文件,调用Kubernetes API在最优节点中创建容器运行机器学习模型训练与预测任务。
[0019]作为优选方案,集群中每个Kubernetes Node节点上部署CPU、GPU与内存使用情况采集程序。
[0020]作为优选方案,集群中Node节点固有资源容量将用户ID作为Kubernetes中的命名空间对虚拟资源池进行逻辑划分与隔离。
[0021]作为优选方案,多租户资源配额表如下所示:
[0022][0023][0024]作为优选方案,用户资源使用情况表如下所示:
[0025][0026]作为优选方案,通过Kubernetes的基于角色的访问控制对不同用户可操作的命名空间赋予访问权限。
[0027]作为优选方案,Kubernetes集群包括以下组件:API Server、Controller Manager、Scheduler、Kubelet、Kube

proxy、Etcd、Container runtime。
[0028]作为优选方案,每个Node节点的分配出资源后CPU、GPU和内存所剩资源的百分比进行评分计算的方法如下:
[0029]Score
i
=request_cpu
×
percent_cpu
i
+request_gpu
×
percent_gpu
i
+request_mem
×
percent_mem
i
其中,Score
i
为第i个Node节点的评分,percent_cpu
i
、percent_gpu
i
、percent_mem
i
分别为第i个Node节点的分配出资源后CPU、GPU和内存所剩资源的百分比,request_cpu、request_gpu、request_mem分别为第i个Node节
[0030]点的申请的CPU、GPU和内存数量。
[0031]有益效果:本专利技术提供的一种基于Kubernetes的多租户机器学习任务资源调度方法,对不同用户可使用的算力资源进行配额管理,同时监测Kubernetes平台中各Node节点资源状态信息,考虑节点所在宿主机的资源利用率的问题,避免出现调度结果不准确的问题,同时通过监测实时调度和预调度request需求信息,根据调度任务需求信息对各Node节点进行优先级排序,获取最优节点的主机标签,根据标签对各类机器学习模型训练与预测任务的资源需求进行合理分配,有效的预防和减少Kubernetes平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率。
附图说明
[0032]图1是本专利技术实例中集群资源多租户管理示意图。
[0033]图2是本专利技术实例中Kubernetes集群资源管理架构示意图。
[0034]图3是本专利技术实施例中机器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的多租户机器学习任务资源调度方法,其特征在于:包括如下步骤:计算集群中Node节点已使用资源与已创建容器使用资源的差值,得到Node节点操作系统自身所有进程占用的资源信息;调用Kubernetes API获取Node节点上所有机器学习模型训练与预测任务容器申请的资源信息;将Node节点固有资源容量减去Node节点操作系统自身所有进程占用的资源信息和Node节点上所有机器学习模型训练与预测任务容器申请的资源信息,计算出Node节点实时可用资源信息;根据Node节点实时可用资源信息和Node节点固有资源容量,计算Node节点CPU、GPU和内存的可用率;系统集群资源管控服务预设资源阈值百分比,Node节点CPU、GPU和内存的可用率不低于预设资源阈值百分比的Node节点为机器学习模型训练与预测任务分配算力资源;机器学习任务调度服务将不同用户的机器学习模型训练与预测任务申请的CPU、GPU和内存资源数量发送至系统集群资源管控服务;系统集群资源管控服务通过计算多租户资源配额表、用户资源使用情况表的资源差值得到用户可申请剩余资源,并校验机器学习模型训练与预测任务申请的CPU、GPU和内存数量是否超过用户可申请剩余资源;选择未超过用户可申请剩余资源的Node节点,系统集群资源管控服务将Node节点实时可用资源信息与申请的CPU、GPU和内存数量计算差值,除以Node节点固有资源容量,得到分配出资源后CPU、GPU和内存所剩资源的百分比;选择分配出资源后CPU、GPU和内存所剩资源的百分比大于预设资源阈值百分比的Node节点,将每个Node节点的分配出资源后CPU、GPU和内存所剩资源的百分比进行评分计算,并按评分从大到小进行排序;系统集群资源管控服务从序列中排序在前的Node节点为最优节点,并将最优节点的节点名返回给机器学习任务调度服务,并在用户资源使用情况表中进行持久化存储;机器学习任务调度服务动态生成Kubernetes yaml文件,调用Kubernetes API在最优节点中创建容器运行机器学习模型训练与预测任务。2.根据权利要求1所述的一种基于Kubernetes的多租户机器学习任务资源调度方法,其特征在于:集群中每个Kubernetes Node节点上部署CPU、GPU与内存使用情况采集程序。3.根据权利要求1所述的一种基于Kubernetes的多租户机器学习任务资源调度方法,其特征在于:集群中Node节点固有资源容量...

【专利技术属性】
技术研发人员:杨立波王宇冬马斌李一鹏栗维勋袁龙李昊季学纯孙云枫李佳阳沈嘉灵徐丽燕胡锐锋劳莹莹陈子韵
申请(专利权)人:国网电力科学研究院有限公司国网河北省电力有限公司国家电网有限公司
类型:发明
国别省市:

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

1