用于深度学习框架的资源调度方法和装置制造方法及图纸

技术编号:18018752 阅读:32 留言:0更新日期:2018-05-23 05:05
本申请公开了一种用于深度学习框架的资源调度方法和装置。方法包括:间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求,以调度Kubernetes平台所处的物理机启动深度学习训练任务。该方法能够完全自动化处理深度学习训练任务的资源分配与释放。

【技术实现步骤摘要】
用于深度学习框架的资源调度方法和装置
本申请涉及计算机
,具体涉及计算机网络
,尤其涉及用于深度学习框架的资源调度方法和装置。
技术介绍
在深度学习领域,算法模型的训练任务一般基于深度学习框架实现,目前流行的深度学习框架有张量流人工智能学习系统(Tensorflow),并行分布式深度学习开源平台(PaddlePaddle),用于快速特征嵌入的卷积结构(Caffe)等等。众多的深度学习框架各有特点,开发人员在面对具体场景时选择实现模型的框架也因此不同。但不管基于哪一种框架来训练模型,运行训练任务的过程都离不开资源管理和任务调度,也即是统一管理服务器集群的CPU、内存、GPU等计算资源,根据训练任务的资源需求分配资源容器;同时,随着训练任务的运行和终止,对占用的计算资源进行实时的分配和回收。目前,可以采用Kubernetes平台实现对多深度学习框架的支持。在Kubernetes平台,开发者运行一个模型训练任务,需要开发者介入Kubernetes平台的资源管理工作,从平台申请到预期的计算资源容器,再申请不同的网络策略来配合训练任务的运行。
技术实现思路
本申请实施例提出一种用于深度学习框架的资源调度方法和装置。第一方面,本申请实施例提供了一种用于深度学习框架的资源调度方法,包括:间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求,以调度Kubernetes平台所处的物理机启动深度学习训练任务。在一些实施例中,深度学习作业对象包括:节点组父属性;设于节点组父属性下的镜像子属性;以及设于节点组父属性下的资源配置子属性。在一些实施例中,响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求包括:响应于从各个深度学习作业对象中查询到状态符合新创建状态的深度学习作业对象,提取状态符合新创建状态的深度学习作业对象的资源配置子属性;基于提取的资源配置子属性,向Kubernetes平台的应用程序接口服务器服务发送资源请求,以申请容器资源和网络策略。在一些实施例中,响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求包括:响应于从各个深度学习作业对象中查询到状态符合终止状态的深度学习作业对象,回收状态符合终止状态的深度学习作业对象的资源。在一些实施例中,调度Kubernetes平台所处的物理机启动深度学习训练任务包括:经由Kubernetes平台的应用程序接口服务器服务接收资源请求,创建资源对象;经由Kubernetes平台的调度器服务异步监听所创建的资源对象,将所创建的资源对象分配至从节点;经由从节点运行资源对象对应的容器以完成深度学习训练任务。第二方面,本申请实施例提供了一种用于深度学习框架的资源调度装置,包括:查询单元,用于间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;调度单元,用于响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求,以调度Kubernetes平台所处的物理机启动深度学习训练任务。在一些实施例中,查询单元中的深度学习作业对象包括:节点组父属性;设于节点组父属性下的镜像子属性;以及设于节点组父属性下的资源配置子属性。在一些实施例中,调度单元包括:提取子单元,用于响应于从各个深度学习作业对象中查询到状态符合新创建状态的深度学习作业对象,提取状态符合新创建状态的深度学习作业对象的资源配置子属性;发送子单元,用于基于提取的资源配置子属性,向Kubernetes平台的应用程序接口服务器服务发送资源请求,以申请容器资源和网络策略。在一些实施例中,调度单元包括:回收子单元,用于响应于从各个深度学习作业对象中查询到状态符合终止状态的深度学习作业对象,回收状态符合终止状态的深度学习作业对象的资源。在一些实施例中,调度单元中调度Kubernetes平台所处的物理机启动深度学习训练任务包括:经由Kubernetes平台的应用程序接口服务器服务接收资源请求,创建资源对象;经由Kubernetes平台的调度器服务异步监听所创建的资源对象,将所创建的资源对象分配至从节点;经由从节点运行资源对象对应的容器以完成深度学习训练任务。第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任一的一种用于深度学习框架的资源调度方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一的一种用于深度学习框架的资源调度方法。本申请实施例提供的用于深度学习框架的资源调度方法和装置,首先间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;之后响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向Kubernetes平台提交资源请求,以调度Kubernetes平台所处的物理机启动深度学习训练任务。在这一过程中,可以在一个统一的资源池上支持多种深度学习框架训练任务,能够完全自动化处理深度学习训练任务的资源分配与释放,方便开发者专注于训练任务的程序逻辑,而不用人为管理资源问题,从而提高了模型训练的工作效率,并且对于支持新的深度学习框架,能够降低接入门槛,开发者只需要调整配置而不需要新增开发任务,具有较高的灵活度。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了可以应用本申请的用于深度学习框架的资源调度方法或用于深度学习框架的资源调度装置的实施例的示例性系统架构;图2是根据本申请实施例的用于深度学习框架的资源调度方法的一个实施例的示意性流程图;图3是根据本申请实施例的用于深度学习框架的资源调度方法的又一个实施例的示意性流程图;图4是根据本申请实施例的用于深度学习框架的资源调度方法的实施例的示例性应用场景;图5是根据本申请实施例的用于深度学习框架的资源调度装置的一个实施例的示例性结构图;图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,图1示出了可以应用本申请的用于深度学习框架的资源调度方法或用于深度学习框架的资源调度装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105、106。网络104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介本文档来自技高网...
用于深度学习框架的资源调度方法和装置

【技术保护点】
一种用于深度学习框架的资源调度方法,包括:间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向所述Kubernetes平台提交资源请求,以调度所述Kubernetes平台所处的物理机启动所述深度学习训练任务。

【技术特征摘要】
1.一种用于深度学习框架的资源调度方法,包括:间隔预定时间,从Kubernetes平台查询所有的深度学习作业对象的状态;响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向所述Kubernetes平台提交资源请求,以调度所述Kubernetes平台所处的物理机启动所述深度学习训练任务。2.根据权利要求1所述的资源调度方法,其中,所述深度学习作业对象包括:节点组父属性;设于所述节点组父属性下的镜像子属性;以及设于所述节点组父属性下的资源配置子属性。3.根据权利要求2所述的资源调度方法,其中,所述响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向所述Kubernetes平台提交资源请求包括:响应于从各个深度学习作业对象中查询到状态符合新创建状态的深度学习作业对象,提取所述状态符合新创建状态的深度学习作业对象的资源配置子属性;基于提取的资源配置子属性,向所述Kubernetes平台的应用程序接口服务器服务发送资源请求,以申请容器资源和网络策略。4.根据权利要求1所述的资源调度方法,其中,所述响应于从各个深度学习作业对象中查询到状态符合提交资源请求状态的深度学习作业对象,向所述Kubernetes平台提交资源请求包括:响应于从各个深度学习作业对象中查询到状态符合终止状态的深度学习作业对象,回收所述状态符合终止状态的深度学习作业对象的资源。5.根据权利要求1所述的资源调度方法,其中,所述调度所述Kubernetes平台所处的物理机启动所述深度学习训练任务包括:经由所述Kubernetes平台的应用程序接口服务器服务接收所述资源请求,创建资源对象;经由所述Kubernetes平台的调度器服务异步监听所创建的资源对象,将所述所创建的资源对象分配至从节点;经由所述从节点运行所述资源对象对应的容器以完成所述深度学习训练任务。6.一种用于深度学习框架的资源调度装置,包括:查询单元,用于间隔预定时间,从Kubernetes平台查询所有的...

【专利技术属性】
技术研发人员:刘昆周恺王倩肖远昊刘岚徐东泽许天涵郭江亮唐进张发恩尹世明
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1