一种基于资源调度器的深度学习系统及其方法技术方案

技术编号:19824267 阅读:32 留言:0更新日期:2018-12-19 15:35
本发明专利技术提供一种基于资源调度器的深度学习系统及其方法,包括:多个高性能计算节点,每个高性能计算节点包含多块图形处理器;还包括:资源调度器和深度学习框架,其中,资源调度器用于根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据所述参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,所述资源调度器回收所有分配的资源,从而完成整个深度学习过程。本发明专利技术为各类深度学习框架提供一个整体的集中管理的系统,有效地提高了分布式学习框架的运算效率。

【技术实现步骤摘要】
一种基于资源调度器的深度学习系统及其方法
本专利技术涉及人工智能深度学习
,尤其涉及一种基于资源调度器的深度学习系统及其方法。
技术介绍
物联网和移动互联网时代的到来,数据产生以各类形式来源于生产生活的方方面面,例如:感知器,日志文件,emails,社交媒体,各类图片和视频等等。据估计当今80%的数据是无结构化的,无结构化的数据正以15倍于结构化的数据增长,预计到2020年全球数据总量将达到40zettabytes(1021bytes),人类已经真正步入了一个以数据为中心的时代。传统上,HPC(高性能计算集群)与解决大规模科学计算和大数据应用紧密结合。HPC天然就拥有一整套完整的、成熟的、高度优化的针对高性能计算的家族体系技术。例如:专03有的高性能优化传递网络(InfiniBand,IBMBlueGeneinterconnects),高性能消息传递库(MPI),丰富的面向各类体系结构加速的数学计算库(BLAS,LAPACK),高效的并行文件存储系统(Lustre,Parastor)以及将各类软件组合在一起的调度器(Slurm,LSF)。已发展成熟的高性能计算适配于以深度学习为代表的强调大数据计算的算法,以高性能计算集群的相关设施为基础,针对人工智能与机器学习方面的需求,目前我们需要解决的首要问题是如何使调度器适配于分布式深度学习框架,从而对大规模的数据进行深度学习方面的学习与训练。
技术实现思路
为解决上述问题,第一方面,本专利技术提供一种基于资源调度器的深度学习系统,包括:多个高性能计算节点,每个高性能计算节点包含多块图形处理器;还包括:资源调度器和深度学习框架,其中,资源调度器用于根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过解析插件解析资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,资源调度器回收所有分配的资源,从而完成整个深度学习过程。优选地,解析插件为应用容器引擎,应用容器引擎包括Singularity、Shifter或Docker。优选地,通过预编写的解析插件解析资源调度器分配给用户资源的环境变量,获取相应的参数步骤包括:通过预编写的解析插件解析资源调度器分配给用户资源的环境变量SLURM_JOB_NODELIST和SLURMD_NODENAME,获取相应的参数cluster,job_name,task_index;深度学习框架根据参数cluster,job_name,task_index形成一个运行的进程,从而开始执行深度学习程序。优选地,高性能计算节点的数量为48个,每个高性能计算节点包含8块图形处理器。优选地,资源调度器为Slurm资源调度器。优选地,深度学习框架为TensorFlow深度学习框架。第二方面,本专利技术提供一种基于资源调度器的深度学习方法,包括以下步骤:资源调度器根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过预编写的解析插件解析资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,资源调度器回收所有分配的资源,从而完成整个深度学习过程。优选地,解析插件为应用容器引擎,应用容器引擎包括Singularity、Shifter或Docker。优选地,通过预编写的解析插件解析资源调度器分配给用户资源的环境变量,获取相应的参数步骤包括:通过预编写的解析插件解析资源调度器分配给用户资源的环境变量SLURM_JOB_NODELIST和SLURMD_NODENAME,获取相应的参数cluster,job_name,task_index;深度学习框架根据参数cluster,job_name,task_index形成一个运行的进程,从而开始执行深度学习程序。优选地,高性能计算节点的数量为48个,每个高性能计算节点包含8块图形处理器。本专利技术为各类深度学习框架提供一个整体的集中管理的系统,将调度器结合分布式存储系统可以使所有深度学习框架共存于一个管理系统中,通过预先编写的插件使得调度器支持调度分布式学习框架,使得分布式深度学习框架就如同普通程序一样被调度器调用和取消。有效地提高了分布式学习框架的运算效率。附图说明图1为本专利技术实施例一提供的一种基于资源调度器的深度学习方法流程示意图;图2为本专利技术实施例一对单节点测试性能测试的实验效果图;图3为本专利技术实施例一分布式TensorFlow效果图。具体实施方式下面结合附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术实施例提供了一种基于资源调度器的深度学习系统,该系统包括:多个高性能计算节点,每个高性能计算节点包含多块图形处理器;例如,高性能计算节点的数量为48个,每个高性能计算节点包含8块图形处理器。本专利技术实施例提供的一种基于资源调度器的深度学习系统还包括:资源调度器和深度学习框架,其中,资源调度器为Slurm资源调度器,深度学习框架为TensorFlow深度学习框架。资源调度器用于根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据所述参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,所述资源调度器回收所有分配的资源,从而完成整个深度学习过程。其中,解析插件为应用容器引擎,应用容器引擎包括Singularity、Shifter或Docker。在过去的十多年里,虚拟化技术已经从某些工程师自我爱好逐步转变成全球化的工业化的基础需求。Singularity作为容器将各类开发环境包裹在容器当中,如此,对于工程师、科学家这类人可以将自己开发或所需要的软件环境装载于Singularity之中,一次构建,多次多平台无缝对接使用,提高了工程人员和科研人员的工作效率,使得他们能够专注于更加核心更加重要的问题本质的研究,而不过多被边角琐碎事情烦恼;对于系统管理员来说亦是生产大解放,如今各类软件如雨后春笋般踊跃出来,各个用户需求可能有不尽相同,统一安装所有软件,不现实也没有必要,可能同一款软件,A用户使用1.0版本,而B用户使用1.2版本,也可能A软件编译依赖版本库0.5,而B软件编译依赖版本库0.8。Singlularity作为一个环境的封装,能够较完美地用户和系统管理员双方的需求。Singularity本身为HPC而设计开发的容器,天然支持高性能计算中的关键技术例如InfiniBand和Lustre,无缝对接于所有的高性能资源管理器,例如Slurm,Torque,SGE。特别地,Singularity能够集成为Slurm当中的一个插件,如此能够使得Slurmjobs天然运行到Singularity的容器中。常见容器Singularity、Shifter和Docker比较如下表:SingularityShifterDocker之间比较上述通过预编写的解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数步骤包括:通过预编写的解析插件解析所述资源调度器分配给用户资源的环境变量SLURM_J本文档来自技高网...

【技术保护点】
1.一种基于资源调度器的深度学习系统,包括:多个高性能计算节点,每个高性能计算节点包含多块图形处理器;其特征在于,还包括:资源调度器和深度学习框架,其中,资源调度器用于根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据所述参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,所述资源调度器回收所有分配的资源,从而完成整个深度学习过程。

【技术特征摘要】
1.一种基于资源调度器的深度学习系统,包括:多个高性能计算节点,每个高性能计算节点包含多块图形处理器;其特征在于,还包括:资源调度器和深度学习框架,其中,资源调度器用于根据用户所提需求,从多个高性能计算节点中选取所需要的资源分配给用户;通过解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数;深度学习框架根据所述参数形成一个运行的进程,从而开始执行深度学习程序;在深度学习程序完成之后,所述资源调度器回收所有分配的资源,从而完成整个深度学习过程。2.根据权利要求1所述的系统,其特征在于,所述解析插件为应用容器引擎,所述应用容器引擎包括Singularity、Shifter或Docker。3.根据权利要求1所述的系统,其特征在于,所述通过预编写的解析插件解析所述资源调度器分配给用户资源的环境变量,获取相应的参数步骤包括:通过预编写的解析插件解析所述资源调度器分配给用户资源的环境变量SLURM_JOB_NODELIST和SLURMD_NODENAME,获取相应的参数cluster,job_name,task_index;深度学习框架根据所述参数cluster,job_name,task_index形成一个运行的进程,从而开始执行深度学习程序。4.根据权利要求1所述的系统,其特征在于,所述高性能计算节点的数量为48个,每个高性能计算节点包含8块图形处理器。5.根据权利要求1所述的系统,其特征在于,所...

【专利技术属性】
技术研发人员:王珏刘芳王彦棡曹荣强王晓光
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京,11

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

1