CN110795219B - 适用于多种计算框架的资源调度方法及系统 - Google Patents
适用于多种计算框架的资源调度方法及系统 Download PDFInfo
- Publication number
- CN110795219B CN110795219B CN201911019386.XA CN201911019386A CN110795219B CN 110795219 B CN110795219 B CN 110795219B CN 201911019386 A CN201911019386 A CN 201911019386A CN 110795219 B CN110795219 B CN 110795219B
- Authority
- CN
- China
- Prior art keywords
- computing
- task
- scheduling
- mirror image
- calculation task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims abstract description 99
- 238000004806 packaging method and process Methods 0.000 claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims abstract description 8
- 230000008447 perception Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 32
- 230000001419 dependent effect Effects 0.000 claims description 31
- 230000036541 health Effects 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 230000000149 penetrating effect Effects 0.000 claims description 4
- 238000002156 mixing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种适用于多种计算框架的资源调度方法及系统,包括:计算任务管理步骤:进行插件化任务的注册、打包;作业模型编排及引擎步骤:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;统一资源调度步骤:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;所述统一资源调度控制信息控制统一资源调度行为。本发明针对目前主流的MPI并行计算库,可以提供针对不同操作系统,不同MPI厂商,不同版本的多种模板组合。
Description
技术领域
本发明涉及分布式计算领域,具体地,涉及一种适用于多种计算框架的资源调度方法及系统。
背景技术
在高性能计算集群中,越来越多的用户的计算环境变的越来越复杂,不同的操作系统,不同的版本号,不同的MPI类型与版本,使得计算环境越来越难以维护。同时越来越多的用户更倾向于将传统的高性能集群转变成一个综合计算的集群,不仅仅是MPI计算框架,还有如对其他计算框架的支持,例如大数据分析计算框架Hadoop,Spark,Storm等,以及对机器学习和深度学习的支持如TensorFlow,Caffe,PaddlePaddle等。
专利文献109933433A公开了一种GPU资源调度系统及其调度方法,包括一GPU总集合,所述GPU总集合包括多个GPU节点;一GPU调用单元,所述GPU调用单元通信地连接所述GPU总集合,并调用所述GPU节点以形成一GPU子集合;以及一资源管理单元,所述资源管理单元通信地连接所述GPU总集合和所述GPU调用单元,并调用所述GPU节点以形成一GPU调度子集合,其中所述GPU调用单元监控所述GPU节点的调用信息,所述资源度量单元测量未调用状态的所述GPU并根据用户的资源请求以形成所述GPU调度子集合。该专利在支持多种计算框架上仍有待完善的空间。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种适用于多种计算框架的资源调度方法及系统。
根据本发明提供的一种适用于多种计算框架的资源调度方法,包括:计算任务管理步骤:进行插件化任务的注册、打包;作业模型编排及引擎步骤:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;统一资源调度步骤:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;所述统一资源调度控制信息控制统一资源调度行为。
优选地,计算任务管理步骤包括:上传步骤:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;软件版本管理步骤:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息。
优选地,计算任务管理步骤还包括:计算框架版本管理步骤:建立计算任务版本与依赖的计算框架版本之间的映射关系;容器化打包步骤:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息。
优选地,所述作业模型编排及引擎步骤包括:镜像节点及接口展现步骤:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;镜像流程业务编排步骤:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;镜像流程模型引擎步骤:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
优选地,还包括:异构平台统一感知步骤:统一感知不同硬件平台、不同操作步骤的计算资源(包括:CPU、MEM、Disk、Net等资源),并匹配镜像的不同资源需求;异构计算资源统一感知步骤:统一感知显卡计算资源(包括:Nvidia、AMD等显卡计算资源;),并提供感知接口定制接口单元,支持国产GPU的感知的扩展;计算资源的穿透访问步骤:计算任务穿透容器对物理资源进行访问,将基于容器的设备(包括:CPU设备、MEM设备、DISK设备、NET设备、GPU设备)虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行等功能;
多策略调度步骤:基于容器镜像调度的资源(包括:CPU、MEM等资源)的负载与优先调度,支持基于容器镜像的GPU特定资源调度;
容器镜像混合调度步骤:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;保证各个计算任务的执行的正确性;支持大数据计算框架MapReduce,支持主流流式计算框架Spark、Storm等;
异常容错调度步骤:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
根据本发明提供的一种适用于多种计算框架的资源调度系统,包括:计算任务管理模块:进行插件化任务的注册、打包;作业模型编排及引擎模块:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;统一资源调度模块:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;所述统一资源调度控制信息控制统一资源调度行为。
优选地,计算任务管理模块包括:上传模块:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;软件版本管理模块:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息。
优选地,计算任务管理模块还包括:计算框架版本管理模块:建立计算任务版本与依赖的计算框架版本之间的映射关系;容器化打包模块:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息。
优选地,所述作业模型编排及引擎模块包括:镜像节点及接口展现模块:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;镜像流程业务编排模块:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;镜像流程模型引擎模块:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
优选地,还包括:异构平台统一感知模块:统一感知不同硬件平台、不同操作模块的计算资源(包括:CPU、MEM、Disk、Net等资源),并匹配镜像的不同资源需求;异构计算资源统一感知模块:统一感知显卡计算资源(包括:Nvidia、AMD等显卡计算资源;),并提供感知接口定制接口单元,支持国产GPU的感知的扩展;计算资源的穿透访问模块:计算任务穿透容器对物理资源进行访问,将基于容器的设备(包括:CPU设备、MEM设备、DISK设备、NET设备、GPU设备)虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行等功能;
多策略调度模块:基于容器镜像调度的资源(包括:CPU、MEM等资源)的负载与优先调度,支持基于容器镜像的GPU特定资源调度;
容器镜像混合调度模块:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;保证各个计算任务的执行的正确性;支持大数据计算框架MapReduce,支持主流流式计算框架Spark、Storm等;
异常容错调度模块:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
与现有技术相比,本发明具有如下的有益效果:
1、本发明针对目前主流的MPI并行计算库,可以提供针对不同操作系统,不同MPI厂商,不同版本的多种模板组合。通过这种组合,可以提供更加灵活的并行计算环境环境,并且避免了在非容器化环境时各不同MPI库和版本兼容性问题;
2、本发明能够使得计算任务容器化,从而使计算任务运行在一个完全隔离的环境中,运行更安全。同时,也可以根据计算任务对资源的需求来严格限制其对资源的使用,从而保证系统资源的合理分配;
3、本发明能够使得传统的高性能作业的很多高级功能更容易实现,例如作业的挂起,迁移等,作业所使用的资源可以更好的进行隔离,释放,作业也更容恢复;
4、本发明能够使得复杂多变的计算环境可以得到更好的管理和运维,并且有效保证了隔离性。对于很多研究人员来说,自研的计算环境和模型可以直接运行起来,而无需复杂的部署过程,同时可以实时进行更改和更新;
5、本发明对于多种异构的计算框架,增加了资源管理与调度以及作业运行机制的通用性,高性能计算系统从传统单一的高性能计算框架的支持(例如MPI等)过度到对主流计算框架的支持,例如MPI,Hadoop,Spark,Storm,Tensorflow等。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的方法流程示意图。
图2为本发明的系统框架示意图。
图3为本发明实施例中的传统计算任务运行到容器作业运行的转变示意图。
图4为本发明实施例中的基于容器的支持多种计算框架的资源调度系统示意图。
图5为本发明实施例中的基于容器的计算任务的调度过程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种适用于多种计算框架的资源调度方法,包括:计算任务管理步骤:进行插件化任务的注册、打包;作业模型编排及引擎步骤:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;统一资源调度步骤:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;所述统一资源调度控制信息控制统一资源调度行为。
优选地,计算任务管理步骤包括:上传步骤:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;软件版本管理步骤:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息。
优选地,计算任务管理步骤还包括:计算框架版本管理步骤:建立计算任务版本与依赖的计算框架版本之间的映射关系;容器化打包步骤:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息。
优选地,所述作业模型编排及引擎步骤包括:镜像节点及接口展现步骤:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;镜像流程业务编排步骤:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;镜像流程模型引擎步骤:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
优选地,还包括:异构平台统一感知步骤:统一感知不同硬件平台、不同操作步骤的计算资源(包括:CPU、MEM、Disk、Net等资源),并匹配镜像的不同资源需求;异构计算资源统一感知步骤:统一感知显卡计算资源(包括:Nvidia、AMD等显卡计算资源;),并提供感知接口定制接口单元,支持国产GPU的感知的扩展;计算资源的穿透访问步骤:计算任务穿透容器对物理资源进行访问,将基于容器的设备(包括:CPU设备、MEM设备、DISK设备、NET设备、GPU设备)虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行等功能;
多策略调度步骤:基于容器镜像调度的资源(包括:CPU、MEM等资源)的负载与优先调度,支持基于容器镜像的GPU特定资源调度;
容器镜像混合调度步骤:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;保证各个计算任务的执行的正确性;支持大数据计算框架MapReduce,支持主流流式计算框架Spark、Storm等;
异常容错调度步骤:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
根据本发明提供的一种适用于多种计算框架的资源调度系统,包括:计算任务管理模块:进行插件化任务的注册、打包;作业模型编排及引擎模块:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;统一资源调度模块:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;所述统一资源调度控制信息控制统一资源调度行为。
优选地,计算任务管理模块包括:上传模块:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;软件版本管理模块:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息。
优选地,计算任务管理模块还包括:计算框架版本管理模块:建立计算任务版本与依赖的计算框架版本之间的映射关系;容器化打包模块:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息。
优选地,所述作业模型编排及引擎模块包括:镜像节点及接口展现模块:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;镜像流程业务编排模块:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;镜像流程模型引擎模块:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
优选地,还包括:异构平台统一感知模块:统一感知不同硬件平台、不同操作模块的计算资源(包括:CPU、MEM、Disk、Net等资源),并匹配镜像的不同资源需求;异构计算资源统一感知模块:统一感知显卡计算资源(包括:Nvidia、AMD等显卡计算资源;),并提供感知接口定制接口单元,支持国产GPU的感知的扩展;计算资源的穿透访问模块:计算任务穿透容器对物理资源进行访问,将基于容器的设备(包括:CPU设备、MEM设备、DISK设备、NET设备、GPU设备)虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行等功能;
多策略调度模块:基于容器镜像调度的资源(包括:CPU、MEM等资源)的负载与优先调度,支持基于容器镜像的GPU特定资源调度;
容器镜像混合调度模块:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;保证各个计算任务的执行的正确性;支持大数据计算框架MapReduce,支持主流流式计算框架Spark、Storm等;
异常容错调度模块:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
具体地,在一个实施例中,在传统高性能计算资源调度系统的基础之上,一种适用于多种计算框架的资源调度系统通过引入容器技术,实现计算任务容器化,简化计算环境的复杂度,增加整个集群架构的通用性以及扩展性。本系统软件模块主要包括异构框架的计算任务管理模块、基于容器化计算任务镜像的作业模型编排及引擎模块、基于容器镜像的统一资源调度模块和基于容器的计算任务二次开发插件模块,具体模块功能定义如下:
1、异构框架的计算任务管理模块
异构框架的计算任务管理模块主要是对基于异构计算框架的计算任务的注册和版本管理,以及容器化打包等功能。
a、提供可视化的计算任务的注册管理功能,支持用户通过Web页面将计算任务及相关依赖文件的上传至服务器中,并支持计算任务的增删改查等功能;
b、提供计算任务的软件版本管理功能,系统对用户上传的计算任务进行版本标注及管理功能,允许用户在发起计算作业的时候,选择不同版本的计算任务,便于用户在对相同计算任务的参数优化的计算结果的对比;
c、提供计算任务依赖的计算框架的版本管理功能,由于不同版本的计算框架的执行效果较大,甚至不同版本的计算框架的接口存在差别,有可能导致计算任务的运行失败,所以建立计算任务版本与依赖的计算框架版本之间的映射关系,保障计算任务不同版本或者平台升级改造时,原有的计算任务仍然可以正常运行;
d、提供计算任务的容器化打包功能,支持将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的的计算任务镜像,支撑计算任务在不同计算节点上的快速部署、运行;支持多个关联任务的统一容器化打包。
2、基于容器化计算任务镜像的作业模型编排及引擎模块
a、提供可视化的镜像节点及接口展现功能,支持以镜像为节点,计算任务为核心的展现方式,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称、类别、个数等属性;
b、提供镜像流程的业务编排功能,支持以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序、分支、合并等结构;
c、提供镜像流程模型的引擎功能,支持对镜像流程模型进行解析,识别模型中的各个镜像依赖关系、参数属性等,并能通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
3、基于容器镜像的统一资源调度模块
a、提供异构平台的统一感知功能,支持不同硬件平台、不同操作系统的计算资源的统一感知,包括CPU、MEM、Disk、Net等资源,并能够匹配镜像的不同资源需求;
b、提供异构计算资源的统一感知功能,支持对Nvidia、AMD等显卡计算资源的感知,并提供感知接口定制接口模块,支持国产GPU的感知的扩展;
c、提供基于容器的计算资源的穿透访问,支持计算任务能够穿透容器实现对物理资源的访问,支持基于容器的CPU、MEM、DISK、NET、GPU等设备的虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行等功能。
d、提供基于容器镜像的多策略调度功能,支持基于容器镜像调度的CPU、MEM等资源的负载与优先调度,支持基于容器镜像的GPU等特定资源的调度;
e、提供基于异构计算框架的容器镜像的混合调度,支持在同一集群环境中,实现多种异构计算框架的同时运行,且各个计算框架之间不冲突,保证各个计算任务的执行的正确性;支持大数据计算框架MapReduce,支持主流流式计算框架Spark、Storm等;
f、提供基于容器的异常容错调度,支持对容器镜像健康状态的实时感知,在发现容器异常的情况下,能够根据调度策略,在其他健康节点中进行容错调度。
4、基于容器的计算任务二次开发插件模块:支持在计算框架的基础上,开发针对不同框架的计算任务插件,实现作业的动态扩展与弹性伸缩等功能。
本发明在分布式计算环境中,基于同一计算框架不同版本如不同版本的MPI:MPI-1.2与MPI-2、的计算任务的混合调度;本发明在分布式计算环境中,快速响应MPI、MapReduce、Spark、Tensorflow等不同计算框架的资源调度需求;本发明在分布式计算环境中,同时响应MPI、MapReduce、Spark、Tensorflow等异构计算框架的计算任务的混合调度。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (4)
1.一种适用于多种计算框架的资源调度方法,其特征在于,包括:
计算任务管理步骤:进行插件化任务的注册、打包;
作业模型编排及引擎步骤:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;
统一资源调度步骤:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;
所述统一资源调度控制信息控制统一资源调度行为;
计算任务管理步骤包括:
上传步骤:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;
软件版本管理步骤:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息;
计算任务管理步骤还包括:
计算框架版本管理步骤:建立计算任务版本与依赖的计算框架版本之间的映射关系;
容器化打包步骤:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息;
所述作业模型编排及引擎步骤包括:
镜像节点及接口展现步骤:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;
镜像流程业务编排步骤:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;
镜像流程模型引擎步骤:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
2.根据权利要求1所述的适用于多种计算框架的资源调度方法,其特征在于,还包括:
异构平台统一感知步骤:统一感知不同硬件平台、不同操作步骤的计算资源,并匹配镜像的不同资源需求;
异构计算资源统一感知步骤:统一感知显卡计算资源,并提供感知接口定制接口单元;
计算资源的穿透访问步骤:计算任务穿透容器对物理资源进行访问,将基于容器的设备虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行功能;
多策略调度步骤:基于容器镜像调度的资源的负载与优先调度;
容器镜像混合调度步骤:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;
异常容错调度步骤:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
3.一种适用于多种计算框架的资源调度系统,其特征在于,包括:
计算任务管理模块:进行插件化任务的注册、打包;
作业模型编排及引擎模块:基于打包后的插件,面向不同的业务进行流程编排,并提供基于镜像的流程的解析引擎功能;
统一资源调度模块:对各个计算节点的计算资源进行感知,并与不同的计算任务进行资源建模,然后根据相应的策略,并结合编排好的流程,调度相应的计算节点,获取统一资源调度控制信息;
所述统一资源调度控制信息控制统一资源调度行为;
计算任务管理模块包括:
上传模块:根据计算任务信息、计算任务依赖文件信息,将计算任务及计算任务依赖文件上传至服务器中,获取计算任务结果信息、计算任务依赖文件结果信息;
软件版本管理模块:根据计算任务上传结果信息、计算任务依赖文件上传结果信息,对用户上传的计算任务进行版本标注及管理,获取计算任务标注管理结果信息;
计算任务管理模块还包括:
计算框架版本管理模块:建立计算任务版本与依赖的计算框架版本之间的映射关系;
容器化打包模块:将基于不同计算框架的不同版本的计算任务分别进行容器化打包,生成计算任务版本唯一、计算框架版本唯一的计算任务镜像,获取计算任务镜像结果信息;
所述作业模型编排及引擎模块包括:
镜像节点及接口展现模块:根据计算任务镜像结果信息,以镜像为节点,计算任务为核心进行展示,可视化提取计算任务的输入、输出参数作为镜像的I/O参数,并标明I/O参数的名称属性、类别属性、个数属性;
镜像流程业务编排模块:以镜像为节点,依据实际生产环境的业务流程,通过连线来标明各个任务镜像之间的前后依赖关系,并标明各个镜像的执行先后次序,支持顺序结构、分支结构、合并结构;
镜像流程模型引擎模块:对镜像流程模型进行解析,识别模型中的各个镜像依赖关系属性、参数属性,并通过调用资源调度接口,依次将镜像调度到不同的计算节点中运行。
4.根据权利要求3所述的适用于多种计算框架的资源调度系统,其特征在于,还包括:
异构平台统一感知模块:统一感知不同硬件平台、不同操作模块的计算资源,并匹配镜像的不同资源需求;
异构计算资源统一感知模块:统一感知显卡计算资源,并提供感知接口定制接口单元;
计算资源的穿透访问模块:计算任务穿透容器对物理资源进行访问,将基于容器的设备虚拟化;支持传统的MPI作业,通过容器和MPI作业管理插件实现对大规模并行作业的调度,启动、运行、统计、监控、挂起、迁移、断点运行功能;
多策略调度模块:基于容器镜像调度的资源的负载与优先调度;
容器镜像混合调度模块:在同一集群环境中,多种异构计算框架同时运行,保持各个计算框架之间不冲突;
异常容错调度模块:实时感知容器镜像健康状态,在发现容器异常的情况下,根据调度策略,在其他健康节点中进行容错调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019386.XA CN110795219B (zh) | 2019-10-24 | 2019-10-24 | 适用于多种计算框架的资源调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019386.XA CN110795219B (zh) | 2019-10-24 | 2019-10-24 | 适用于多种计算框架的资源调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795219A CN110795219A (zh) | 2020-02-14 |
CN110795219B true CN110795219B (zh) | 2022-03-18 |
Family
ID=69441327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911019386.XA Active CN110795219B (zh) | 2019-10-24 | 2019-10-24 | 适用于多种计算框架的资源调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795219B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161690B (zh) * | 2020-03-06 | 2021-03-23 | Tcl华星光电技术有限公司 | 一种显示面板的驱动方法、驱动系统及存储介质 |
CN111459576B (zh) * | 2020-03-31 | 2021-03-12 | 北京九章云极科技有限公司 | 一种数据分析处理系统和模型运行方法 |
CN111552471A (zh) * | 2020-04-07 | 2020-08-18 | 电科云(北京)科技有限公司 | 混合云环境下的任务编排方法及系统 |
CN111580801A (zh) * | 2020-04-27 | 2020-08-25 | 青海大学 | 一种跨编程语言的分布式计算框架 |
CN111752554B (zh) * | 2020-05-18 | 2021-03-12 | 南京认知物联网研究院有限公司 | 基于模型编排的多模型协作系统及方法 |
CN111752555B (zh) * | 2020-05-18 | 2021-08-20 | 南京认知物联网研究院有限公司 | 业务场景驱动的视觉洞察支撑系统、客户端和方法 |
CN111984371A (zh) * | 2020-08-18 | 2020-11-24 | 济南浪潮高新科技投资发展有限公司 | 一种流程编排服务调度和发布方法 |
CN112116270B (zh) * | 2020-09-27 | 2023-07-04 | 成都中科合迅科技有限公司 | 基于异构计算资源的科学计算服务编排系统 |
CN112035516B (zh) * | 2020-09-30 | 2023-08-18 | 北京百度网讯科技有限公司 | 用于算子服务的处理方法、装置、智能工作站和电子设备 |
CN112529088B (zh) * | 2020-12-17 | 2024-06-21 | 中国航空工业集团公司成都飞机设计研究所 | 一种嵌入式异构显示融合系统 |
CN112286671B (zh) * | 2020-12-29 | 2021-03-12 | 湖南星河云程信息科技有限公司 | 一种容器化批处理作业调度方法、装置和计算机设备 |
CN112948257B (zh) * | 2021-03-23 | 2024-05-14 | 三六零数字安全科技集团有限公司 | 内核模糊测试用例生成方法、装置、设备及存储介质 |
CN113254241B (zh) * | 2021-06-25 | 2021-09-21 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种应用于cfd高性能计算的数据跨进程传输方法 |
CN113535326B (zh) * | 2021-07-09 | 2024-04-12 | 粤港澳大湾区精准医学研究院(广州) | 一种基于高通量测序数据的计算流程调度系统 |
CN113722065B (zh) * | 2021-08-20 | 2023-08-18 | 中国电子科技集团公司第十四研究所 | 一种基于子图匹配的面向嵌入式异构硬件的资源调度方法 |
CN113535157A (zh) * | 2021-09-16 | 2021-10-22 | 中国电子科技集团公司第十五研究所 | 运行时可插拔的异构大数据资源封装集成系统及方法 |
CN114896054A (zh) * | 2022-04-12 | 2022-08-12 | 中国电子科技集团公司第十研究所 | 一种跨异构计算引擎的大数据任务调度方法、设备及介质 |
CN115442242A (zh) * | 2022-08-29 | 2022-12-06 | 苏州空天信息研究院 | 一种基于重要性排序的工作流编排系统及其方法 |
CN116069481B (zh) * | 2023-04-06 | 2023-07-18 | 山东省计算中心(国家超级计算济南中心) | 一种共享gpu资源的容器调度系统及调度方法 |
CN117093352B (zh) * | 2023-10-13 | 2024-01-09 | 之江实验室 | 基于模板的计算集群作业调度系统及方法、装置 |
CN117056061B (zh) * | 2023-10-13 | 2024-01-09 | 浙江远算科技有限公司 | 一种基于容器分发机制的跨超算中心任务调度方法和系统 |
CN117648175B (zh) * | 2024-01-30 | 2024-04-12 | 之江实验室 | 一种基于动态算法选择的业务执行方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038559A (zh) * | 2006-09-11 | 2007-09-19 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
CN104506620A (zh) * | 2014-12-23 | 2015-04-08 | 西安电子科技大学 | 一种可扩展的自动化计算服务平台及其构建方法 |
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
CN106776005A (zh) * | 2016-11-23 | 2017-05-31 | 华中科技大学 | 一种面向容器化应用的资源管理系统及方法 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN109933433A (zh) * | 2019-03-19 | 2019-06-25 | 合肥中科类脑智能技术有限公司 | 一种gpu资源调度系统及其调度方法 |
-
2019
- 2019-10-24 CN CN201911019386.XA patent/CN110795219B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038559A (zh) * | 2006-09-11 | 2007-09-19 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
CN104506620A (zh) * | 2014-12-23 | 2015-04-08 | 西安电子科技大学 | 一种可扩展的自动化计算服务平台及其构建方法 |
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
CN106776005A (zh) * | 2016-11-23 | 2017-05-31 | 华中科技大学 | 一种面向容器化应用的资源管理系统及方法 |
CN107168782A (zh) * | 2017-04-24 | 2017-09-15 | 复旦大学 | 一种基于Spark与GPU的并行计算系统 |
CN109933433A (zh) * | 2019-03-19 | 2019-06-25 | 合肥中科类脑智能技术有限公司 | 一种gpu资源调度系统及其调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110795219A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795219B (zh) | 适用于多种计算框架的资源调度方法及系统 | |
CN109885316B (zh) | 基于kubernetes的hdfs-hbase部署方法及装置 | |
US20180113799A1 (en) | Model generation for model-based application testing | |
CN112214280A (zh) | 一种电力系统仿真的云化方法及系统 | |
CN104954453A (zh) | 基于云计算的数据挖掘rest服务平台 | |
CN112395736B (zh) | 一种分布交互仿真系统的并行仿真作业调度方法 | |
CN112085217A (zh) | 部署人工智能服务的方法、装置、设备及计算机介质 | |
Marzolla | Simulation-based performance modeling of UML software architectures. | |
CN112256406B (zh) | 作业流程平台化调度方法 | |
CN114691050B (zh) | 基于kubernetes的云原生存储方法、装置、设备及介质 | |
CN112631903A (zh) | 任务测试方法、装置、电子设备及存储介质 | |
Schlatte et al. | Modeling and analyzing resource-sensitive actors: a tutorial introduction | |
CN108985459A (zh) | 训练模型的方法和装置 | |
US9311156B2 (en) | System and method for distributing data processes among resources | |
Hofer et al. | Industrial control via application containers: Maintaining determinism in IAAS | |
Du et al. | A FACE-based simulation and verification approach for avionics systems | |
JP2015531899A (ja) | ソーシャルネットワークインターフェイスを使用した汎用シミュレーションシステム | |
CN109828901A (zh) | 搭建压测环境的方法及装置、Linux服务器、及可读存储介质 | |
CN114398282A (zh) | 测试脚本的生成方法、装置、设备及存储介质 | |
CN114020414A (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
Harper et al. | Deploying healthcare simulation models using containerization and continuous integration | |
Bhuta et al. | Attribute-based cots product interoperability assessment | |
Gerndt | Workflows to Driving High-Performance Interactive Supercomputing for Urgent Decision Making | |
CN114070764B (zh) | 网络功能虚拟化nfv测试方法、装置和系统 | |
Erbel | Scientific workflow execution using a dynamic runtime model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |