一种基于kubernetes平台的深度学习任务弹性伸缩系统及方法技术方案

技术编号:19963993 阅读:31 留言:0更新日期:2019-01-03 12:42
本发明专利技术实施例公开了一种基于kubernetes平台的深度学习任务弹性伸缩系统及方法,系统包括:数据采集模块、数据监控模块以及数据存储模块,其中所述采集模块设置于kubernetes平台的计算节点,所述数据监控模块以及数据存储模块设置于kubernetes平台的管理节点,所述数据采集模块、数据监控模块以及数据存储模块依次通信连接。本发明专利技术中在kubernetes平台的计算节点设置数据采集模块采集容器的内存利用率,然后通过在kubernetes平台的管理节点设置数据监控模块以及数据存储模块,数据监控模块将各个计算节点上采集到的容器利用率集中采集后保运在数据存储模块,管理节点通过数据存储模块中保存的内存利用率根据预设规则进行容器增加,从而使容器的训练状态处于最佳,提高深度学习训练效率。

A Flexible Scaling System and Method for Deep Learning Tasks Based on Kubernetes Platform

The embodiment of the present invention discloses a flexible telescopic system and method for deep learning task based on kubernetes platform. The system includes data acquisition module, data monitoring module and data storage module. The acquisition module is set at the computing node of kubernetes platform, and the data monitoring module and data storage module are set at the management node of kubernetes platform. The data acquisition module, data monitoring module and data storage module are connected in turn. In the present invention, the computing node of the kubernetes platform sets up the memory utilization ratio of the data acquisition module acquisition container, and then sets up the data monitoring module and the data storage module through the management node of the kubernetes platform. The data monitoring module collects the container utilization ratio collected on each computing node and then carries the data storage module after centralized collection. The management node passes the data storage module. The memory utilization rate saved in the block is increased according to the preset rules, so that the training state of the container is optimal and the efficiency of deep learning training is improved.

【技术实现步骤摘要】
一种基于kubernetes平台的深度学习任务弹性伸缩系统及方法
本专利技术涉及深度学习
,特别是涉及一种基于kubernetes平台的深度学习任务弹性伸缩系统及方法。
技术介绍
人工智能的兴起,被人们称之为“第四次工业革命”标志,现在越来越多的人工智能应用走进我们的生活,包括人脸识别、图片识别、语音识别、智能驾驶、智能理财等。人工智能的本质就是使用大量的历史数据,基于特定的数据模型,经过反复的训练,使数据模型具备自我分辨的能力。Tensorflow作为人工智能领域优秀的分布式机器学习系统,在生产环境中已经得到广泛的应用。现有技术中,通过Tensorflow系统进行深度学习的过程为:在kubernetes平台的计算节点设置训练容器,将训练数据划分为若干等分,通过控制节点向容器分配训练数据,进行并行训练。然而,现有技术中,训练容器的数量是人为指定的,容器数量是否已经达到最优无法预知,当设置的容器数量过少时候,每个容器的计算能力就受到限制,当设置的容器数量过多时会造成资源的浪费,从整体上影响了深度学习训练效率。
技术实现思路
本专利技术实施例中提供了一种基于kubernetes平台的深度学习任务弹性伸缩系统及方法,以解决现有技术中深度学习训练效率低的问题。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:本专利技术第一方面提供了一种基于kubernetes平台的深度学习任务弹性伸缩系统,包括:数据采集模块、数据监控模块以及数据存储模块,其中所述采集模块设置于kubernetes平台的计算节点,所述数据监控模块以及数据存储模块设置于kubernetes平台的管理节点,所述数据采集模块、数据监控模块以及数据存储模块依次通信连接。优选地,所述系统还包括容器设置模块,所述容器设置模块设置于kubernetes平台的计算节点并与所述数据存储模块通信连接。优选地,所述系统还包括资源调度模块,所述资源调度模块设置于kubernetes平台的计算节点并与所述容器设置模块连接,用于向容器分配训练数据。优选地,所述数据采集模块包括:cAdvisor工具;所述数据监控模块包括:heapster工具;所述数据存储模块包括:influxDB工具。本专利技术第二方面提供了一种基于kubernetes平台的深度学习任务弹性伸缩方法,其特征在于,包括:设置初始容器数量;获取容器内存利用率;判断所述容器利用率是否大于预设内存利用率;如果是则根据第一预设容量值增加容器,否则继续获取容器内存利用率;计算利用率增加量;根据所述利用率增加量增加容器。优选地,计算利用率增加量具体包括:用所述容器利用率减去所述预设内存利用率。优选地,根据所述利用率增加量增加容器具体包括:所述利用率增加量每提高预设百分点则根据第二预设容量值增加容器。优选地,所述方法还包括:将等待训练数据分配至新增容器。由以上技术方案可见,本专利技术中在kubernetes平台的计算节点设置数据采集模块采集容器的内存利用率,然后通过在kubernetes平台的管理节点设置数据监控模块以及数据存储模块,数据监控模块将各个计算节点上采集到的容器利用率集中采集后保运在数据存储模块,管理节点通过数据存储模块中保存的内存利用率根据预设规则进行容器增加,从而使容器的训练状态处于最佳,提高深度学习训练效率。附图说明了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图;图2为本专利技术实施例提供的另一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图;图3为本专利技术实施例提供的又一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图;图4为本专利技术实施例提供的一种基于kubernetes平台的深度学习任务弹性伸缩方法的流程示意图;图5为本专利技术实施例提供的另一种基于kubernetes平台的深度学习任务弹性伸缩方法的流程示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参见图1,为本专利技术实施例提供的一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图,本专利技术实施例提供的基于kubernetes平台的深度学习任务弹性伸缩系统,包括:数据采集模块、数据监控模块以及数据存储模块。其中所述采集模块设置于kubernetes平台的计算节点,所述数据监控模块以及数据存储模块设置于kubernetes平台的管理节点,所述数据采集模块、数据监控模块以及数据存储模块依次通信连接。本专利技术实施例中,所述数据采集模块包括cAdvisor工具;所述数据监控模块包括heapster工具;所述数据存储模块包括influxDB工具。Kubernetes凭条一般有一个管理节点master和有多个计算节点node,训练任务容器分布也就不同的node节点上,cAdvisor是部署在节点上用来收集容器运行状态的工具,heapster可以汇聚每个节点上cAdvisor采集到数据,将汇聚后的数据保存在influxDB上,通过influxDB就可以获取到一个模型训练用到的所有容器的运行情况。参见图2,为本专利技术实施例提供的另一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图,如图2所示,所述系统还包括容器设置模块。所述容器设置模块设置于kubernetes平台的计算节点并与所述数据存储模块通信连接。容器设置模块根据获取的容器内存利用率适当的增加容器数量,为了避免造成容器浪费,本专利技术实施例采用设置最小容器值,然后根据内存利用率逐渐增加容器数量。作为其中一种实施方式,根据模型训练量设置最小容器数量,当容器的内存利用率大于40%时,增加容器数量3个,之后当容器内存利用率每上升10个百分点,增容器数量增加一个。参见图3,为本专利技术实施例提供的又一种基于kubernetes平台的深度学习任务弹性伸缩系统的结构示意图,如图3所示,所述系统还包括资源调度模块。所述资源调度模块设置于kubernetes平台的计算节点并与所述容器设置模块连接,用于向容器分配训练数据。在模型训练之前会将训练数据根据一定的规则划分为多个等分,每个容器只能运行一份训练数据,在训练时,Tensorflow平台会给模型中的每个节点根据一定的算法分配给不同训练数据,当容器数量小于训练数量份数时,如果容器中的算法没有执行完,则其他的训练数据只能进行等待,因为本专利技术实施例增加了新的容器,则资源调度模块会将等待中的训练数据分配给新增加的容器进行训练,减少了等待时间,大大提高了训练效率。参见图4,为本专利技术实施例提供的一种基于kubernetes平台的深度学习任务弹性伸缩方法的流程示意图,如图4所示,本专利技术实施例提本文档来自技高网
...

【技术保护点】
1.一种基于kubernetes平台的深度学习任务弹性伸缩系统,其特征在于,包括:数据采集模块、数据监控模块以及数据存储模块,其中所述采集模块设置于kubernetes平台的计算节点,所述数据监控模块以及数据存储模块设置于kubernetes平台的管理节点,所述数据采集模块、数据监控模块以及数据存储模块依次通信连接。

【技术特征摘要】
1.一种基于kubernetes平台的深度学习任务弹性伸缩系统,其特征在于,包括:数据采集模块、数据监控模块以及数据存储模块,其中所述采集模块设置于kubernetes平台的计算节点,所述数据监控模块以及数据存储模块设置于kubernetes平台的管理节点,所述数据采集模块、数据监控模块以及数据存储模块依次通信连接。2.根据权利要求1所述的基于kubernetes平台的深度学习任务弹性伸缩系统,其特征在于,所述系统还包括容器设置模块,所述容器设置模块设置于kubernetes平台的计算节点并与所述数据存储模块通信连接。3.根据权利要求1或2所述的基于kubernetes平台的深度学习任务弹性伸缩系统,其特征在于,所述系统还包括资源调度模块,所述资源调度模块设置于kubernetes平台的计算节点并与所述容器设置模块连接,用于向容器分配训练数据。4.根据权利要求3所述的基于kubernetes平台的深度学习任务弹性伸缩系统,其特征在于,所述数据采集模块包括:cAd...

【专利技术属性】
技术研发人员:刘娜
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1