CN112749000B - 基于k8s自动拓展强化学习任务调度方法、装置及*** - Google Patents
基于k8s自动拓展强化学习任务调度方法、装置及*** Download PDFInfo
- Publication number
- CN112749000B CN112749000B CN202110132059.6A CN202110132059A CN112749000B CN 112749000 B CN112749000 B CN 112749000B CN 202110132059 A CN202110132059 A CN 202110132059A CN 112749000 B CN112749000 B CN 112749000B
- Authority
- CN
- China
- Prior art keywords
- reinforcement learning
- learning task
- resources
- working
- node
- 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
- 230000002787 reinforcement Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了基于k8s自动拓展强化学***台直接结合,直接复用平台资源调度***。
Description
技术领域
本发明书一个或多个实施例涉及计算机技术领域,尤其涉及一种基于k8s自动拓展强化学习任务调度方法、装置及***。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
数据中心虚拟化建设,其中一个重要的目的是提高物理资源的利用率。在将传统业务迁移至虚拟化环境中后,将多个应用***整合在同一台服务器中,虽然提高了单台服务器的物理资源利用率。但仍然有很多应用***虚拟机资源分配过剩,资源浪费严重的现象存在。导致此现象的原因有几点:第一应用***虚拟机申请人对应用***运行状况了解不深入,申请的资源一般情况下超过应用***业务峰值时所需要的资源。第二由于应用的类型特殊,无法估计正确的业务峰值、平均值所需资源。第三不同的业务***在不同的时段对不同的资源(CPU、内存、网络)消耗是不同的。
目前主要是通过采集虚拟机***性能参数判断业务压力进行动态调度,并避免虚拟机空闲时资源过剩和高负载时节点资源分布不均衡,来解决数据中心业务***虚拟机存在的资源分配过剩及资源不足。
但该方法存在如下问题:
(1)虚拟机相对于容器,动态资源分配能力弱,任务横向拓展慢。
(2)没有针对强化学习特定场景的优化,例如高可用。
有鉴于此,亟需一种新的处理技术,用于解决大规模强化学习训练时,任务不易动态拓展问题,以及为大规模强化学习提供高可用的解决方案。
发明内容
本说明书一个或多个实施例描述了基于k8s自动拓展强化学习任务调度装置方法、装置及***,解决了大规模强化学习训练时,任务不易动态拓展问题,以及为大规模强化学习提供高可用的问题。
本说明书一个或多个实施例提供的技术方案如下:
第一方面,本发明提供了基于k8s自动拓展强化学习任务调度方法,包括以下步骤:
k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务;其中,用户在提交强化学习任务时,指定资源总数和任务脚本;
k8s通过Autoscaler组件监控所述强化学习任务的状态,并判断资源充足情况;
当资源不足时,k8s通过API server删除工作节点并申请更多资源的个工作节点;
当资源过多时,k8s删除工作节点并申请更少资源的工作节点;
k8s将新的节点信息同步到Autoscaler组件。
在一个示例中,所述创建高可用强化学习任务为创建强化学习任务架构,所述架构主要包括工作节点和主节点;其中,
工作节点包括工作进程、调度器及对象存储;
主节点包括工作进程、调度器、对象存储、驱动及全局控制器;
所述工作进程,用于提交和执行强化学习任务;
所述调度器,用于资源管理;
所述对象存储,用于存储的管理。
所述驱动,用于执行整个强化学习任务的主程序;
所述全局控制器,用于基于键值对的数据库管理整个***元数据信息。
在一个示例中,工作节点中的调度器为多个,所述多个调度器之间形成分布式调度器。
在一个示例中,工作节点中的对象存储为多个,所述多个对象存储之间形成分布式存储。
在一个示例中,所述元数据信息存储在分布式文件***中。
第二方面,本发明提供了基于k8s自动拓展强化学习任务调度装置,该装置包括:
创建模块,用于k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务;
监控模块,用于k8s通过Autoscaler组件监控所述强化学习任务的状态;
判断模块,用于基于监控模块得到的状态,来判断资源充足情况;
处理模块,用于当资源不足时,k8s会通过API server删除工作节点,并申请更多资源的个工作节点,或当资源过多时,k8s会删除工作节点并申请更少资源的工作节点;
同步模块,用于k8s将新的节点信息同步到Autoscaler组件。
第三方面,基于k8s自动拓展强化学习任务调度***,所述***包括至少一个处理器和存储器;
存储器,用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,执行如第一方面所述的方法。
第四方面,本发明提供了一种芯片,所述芯片与***中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如第一方面所述的方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包括一个或多个程序指令,所述一个或多个程序指令可被如第三方面所述的***执行,以实现如第一方面所述的方法。
本发明实施例提供的技术方案,通过k8s的Autoscaler组件,在大规模强化学习训练时,可以根据资源使用情况动态的扩缩容,同时强化学习高可用方案解决了大规模强化学习任务失败后不易恢复的问题。
附图说明
图1为本发明实施例提供的基于k8s自动拓展强化学习任务调度方法流程示意图;
图2为为强化高可用架构图结构示意图;
图3为本发明实施例提供的基于k8s自动拓展强化学习任务调度装置结构示意图;
图4为本发明实施例提供的基于k8s自动拓展强化学习任务调度***结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
基于k8s自动拓展任务:
图1示出一个实施例的基于k8s自动拓展强化学习任务调度方法流程示意图,如图1所示,所述方法包括以下步骤:
步骤10,k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务;其中,用户在提交强化学习任务时,指定资源总数和任务脚本。
创建高可用强化学习任务,即需要构建强化学习高可用的架构图,图2为本发明提供的强化学习高可用的架构图,如图2所示,该架构图主要包括Worker Node和Head Node两部分。下面详细介绍:
Worker Node:工作节点包含工作进程、调度器及对象存储;各自的功能如下:
工作进程,对于强化学习任务进行提交和执行;
调度器之间形成分布式调度器,进行资源的管理;
对象存储之间形成分布式对象存储,进行存储的管理。
Head Node:主节点包括工作进程、调度器、对象存储、驱动及全局控制器。因此主节点除了具备工作节点的所有功能外,还负责一个基于键值对的数据库管理整个***元数据信息。其中,元数据信息存储在分布式文件***中,保证数据不丢,主节点具备自恢复和不可恢复迁移能力,保证整个任务集群管理的高可用性。而主节点的驱动执行整个强化学习任务的主程序。
这里高可用框架带来的优势是:
(1)分布式调度器和分布式对象存储,保证了工作节点无状态,横向动态拓展无依赖;
(2)主节点元数据信息持久化,不易失性和可恢复性保证了整个任务的高可用。
步骤20,k8s通过Autoscaler组件监控所述强化学习任务的状态,并判断资源充足情况。
步骤30,当资源不足时,k8s会通过API server删除工作节点,并申请更多资源的个工作节点。
步骤40,当资源过多时,k8s会删除工作节点并申请更少资源的工作节点。
步骤50,k8s将新的节点信息同步到Autoscaler组件。
基于k8s自动拓展任务带来的优势:
(1)基于无需人工干预,可以进行任务动态的扩缩容;
(2)容易和平台直接结合,直接复用平台资源调度***。
与上述实施例方法对应的,本发明还提供了基于k8s自动拓展强化学习任务调度装置,图3为本发明提供的该装置图,如图3所述,该装置包括:创建模块31、监控模块32、判断模块33、处理模块34和同步模块35。具体的,
创建模块31,用于k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务。
在一个示例中,强化学习高可用构架,主要有工作节点和主节点构成,其中,工作节点包括工作进程、调度器及对象存储;主节点主要包括工作进程、调度器、对象存储、驱动及全局控制器。因此,主节点具备工作节点的所有功能。
工作进程,用于强化学习任务进行提交和执行。
工作节点中的多个调度器之间形成分布式调度器,进行资源的管理。
工作节点中的多个对象存储之前形成分布式对象存储,进行存储的管理。
主节点除了具备工作节点的所有功能外,其包括的驱动器,用于执行强化学习任务的主程序;而全局控制器,用于负责基于键值对的数据库管理整个***元数据信息。而在另一个示例中,元数据信息存储在分布式文件***中,这样的布局,可保证数据不丢失,使得主节点具备自恢复和不可恢复迁移能力,保证整个任务集群管理的高可用性。
监控模块32,用于k8s通过Autoscaler组件监控所述强化学习任务的状态;
判断模块33,用于基于监控模块得到的状态,来判断资源充足情况。
处理模块34,用于当资源不足时,k8s会通过API server删除工作节点并申请更多资源的个工作节点,或当资源过多时,k8s会删除工作节点并申请更少资源的工作节点。
同步模块35,用于k8s将新的节点信息同步到Autoscaler组件。本发明实施例提供的装置中各部件所执行的功能均已在上述方法中做了详细介绍,因此这里不做过多赘述。
与上述实施例相对应的,本发明实施例、还提供了基于k8s自动拓展强化学习任务调度***,具体如图4所示,该***包括至少一个处理器41和存储器42;
存储器41,用于存储一个或多个程序指令;
处理器42,用于运行一个或多个程序指令,执行如上述实施例所介绍的基于k8s自动拓展强化学习任务调度方法中的任一方法步骤。
与上述实施例相对应的,本发明实施例还提供了一种芯片,该芯片与上述***中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如上述实施例所介绍的基于k8s自动拓展强化学习任务调度方法。
与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包括一个或多个程序,其中,一个或多个程序指令用于被基于k8s自动拓展强化学习任务调度***执行如上介绍的基于k8s自动拓展强化学习任务调度方法。
本申请提供的方案解决了现有技术中存在的问题:
(1)通过k8s的Autoscaler组件,在大规模强化学习训练时,可以根据资源使用情况动态的扩缩容;
(2)强化学习高可用方案解决了大规模强化学习任务失败后不易恢复的问题。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于k8s自动拓展强化学习任务调度方法,其特征在于,包括:
k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务;其中,用户在提交强化学习任务时,指定资源总数和任务脚本;
k8s通过Autoscaler组件监控所述强化学习任务的状态,并判断资源充足情况;
当资源不足时,k8s通过API server删除工作节点并申请更多资源的个工作节点;
当资源过多时,k8s删除工作节点并申请更少资源的工作节点;
k8s将新的节点信息同步到Autoscaler组件;
所述创建高可用强化学习任务为创建强化学习任务架构,所述架构主要包括工作节点和主节点;其中,
工作节点包括工作进程、调度器及对象存储;
主节点包括工作进程、调度器、对象存储、驱动及全局控制器;
所述工作进程,用于提交和执行强化学习任务;
所述调度器,用于资源管理;
所述对象存储,用于存储的管理;
所述驱动,用于执行整个强化学习任务的主程序;
所述全局控制器,用于基于键值对的数据库管理整个***元数据信息;
工作节点中的调度器为多个,所述多个调度器之间形成分布式调度器;
工作节点中的对象存储为多个,所述多个对象存储之间形成分布式存储;
所述元数据信息存储在分布式文件***中。
2.基于k8s自动拓展强化学习任务调度装置,其特征在于,包括:
创建模块,用于k8s的API server接受用户提交的强化学习任务的请求,并创建高可用强化学习任务;
监控模块,用于k8s通过Autoscaler组件监控所述强化学习任务的状态;
判断模块,用于基于监控模块得到的状态,来判断资源充足情况;
处理模块,用于当资源不足时,k8s通过API server删除工作节点,并申请更多资源的个工作节点,或当资源过多时,k8s删除工作节点并申请更少资源的工作节点;
同步模块,用于k8s将新的节点信息同步到Autoscaler组件;
所述创建高可用强化学习任务为创建强化学习任务架构,所述架构主要包括工作节点和主节点;其中,
工作节点包括工作进程、调度器及对象存储;
主节点包括工作进程、调度器、对象存储、驱动及全局控制器;
所述工作进程,用于提交和执行强化学习任务;
所述调度器,用于资源管理;
所述对象存储,用于存储的管理;
所述驱动,用于执行整个强化学习任务的主程序;
所述全局控制器,用于基于键值对的数据库管理整个***元数据信息;
工作节点中的调度器为多个,所述多个调度器之间形成分布式调度器;
工作节点中的对象存储为多个,所述多个对象存储之间形成分布式存储;
所述元数据信息存储在分布式文件***中。
3.基于k8s自动拓展强化学习任务调度***,其特征在于,所述***包括至少一个处理器和存储器;
存储器,用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,执行如权利要求1所述的方法。
4.一种芯片,其特征在于,所述芯片与***中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如权利要求1所述的方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括一个或多个程序指令,所述一个或多个程序指令可被如权利要求3所述的***执行,以实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132059.6A CN112749000B (zh) | 2021-01-31 | 2021-01-31 | 基于k8s自动拓展强化学习任务调度方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132059.6A CN112749000B (zh) | 2021-01-31 | 2021-01-31 | 基于k8s自动拓展强化学习任务调度方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749000A CN112749000A (zh) | 2021-05-04 |
CN112749000B true CN112749000B (zh) | 2024-06-11 |
Family
ID=75653396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110132059.6A Active CN112749000B (zh) | 2021-01-31 | 2021-01-31 | 基于k8s自动拓展强化学习任务调度方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749000B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888669A (zh) * | 2017-10-31 | 2018-04-06 | 武汉理工大学 | 一种基于深度学习神经网络的大规模资源调度***及方法 |
WO2020000944A1 (zh) * | 2018-06-25 | 2020-01-02 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、***及设备 |
CN111464355A (zh) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | Kubernetes容器集群的伸缩容控制方法、装置和网络设备 |
-
2021
- 2021-01-31 CN CN202110132059.6A patent/CN112749000B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888669A (zh) * | 2017-10-31 | 2018-04-06 | 武汉理工大学 | 一种基于深度学习神经网络的大规模资源调度***及方法 |
WO2020000944A1 (zh) * | 2018-06-25 | 2020-01-02 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、***及设备 |
CN111464355A (zh) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | Kubernetes容器集群的伸缩容控制方法、装置和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112749000A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11650971B2 (en) | System and method for large-scale data processing using an application-independent framework | |
CN108664496B (zh) | 数据迁移方法及装置 | |
EP2614436B1 (en) | Controlled automatic healing of data-center services | |
JP6219512B2 (ja) | 仮想ハドゥープマネジャ | |
US8082344B2 (en) | Transaction manager virtualization | |
CN106843745A (zh) | 容量扩展方法及装置 | |
KR101656360B1 (ko) | 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 | |
TWI786564B (zh) | 任務調度方法和裝置、儲存媒體及計算機設備 | |
CN111880934A (zh) | 一种资源管理方法、装置、设备及可读存储介质 | |
CN103885811B (zh) | 虚拟机***全***在线迁移的方法、***与装置 | |
CN110958311A (zh) | 一种基于yarn的共享集群弹性伸缩***及方法 | |
CN116302574B (zh) | 一种基于MapReduce的并发处理方法 | |
CN112905297A (zh) | 容器集群资源调度方法和装置 | |
CN112905334A (zh) | 资源管理方法、装置、电子设备和存储介质 | |
CN105740085A (zh) | 容错处理方法及装置 | |
CN110442454B (zh) | 一种资源调度方法、装置及计算机设备 | |
CN114297002A (zh) | 一种基于对象存储的海量数据备份方法及*** | |
CN112749000B (zh) | 基于k8s自动拓展强化学习任务调度方法、装置及*** | |
KR102124897B1 (ko) | 분산 메시지 시스템 및 분산 메시지 시스템에서의 동적 파티셔닝 방법 | |
KR102002246B1 (ko) | 빅데이터 처리를 위한 자원 분배 방법 및 장치 | |
CN106250251B (zh) | 考虑共因和虚拟机故障迁移的云计算***可靠性建模方法 | |
CN111431951A (zh) | 一种数据处理方法、节点设备、***及存储介质 | |
CN111400098B (zh) | 一种副本管理方法、装置、电子设备及存储介质 | |
CN112350837B (zh) | 一种基于云平台的电力应用集群管理方法及装置 | |
CN113407197B (zh) | 服务部署方法、装置、电子设备以及存储介质 |
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 |