CN110928689A - 面向分布式强化学习训练的自适应资源管理方法及装置 - Google Patents
面向分布式强化学习训练的自适应资源管理方法及装置 Download PDFInfo
- Publication number
- CN110928689A CN110928689A CN201911236076.3A CN201911236076A CN110928689A CN 110928689 A CN110928689 A CN 110928689A CN 201911236076 A CN201911236076 A CN 201911236076A CN 110928689 A CN110928689 A CN 110928689A
- Authority
- CN
- China
- Prior art keywords
- task
- training
- resource
- virtual machine
- preset
- 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.)
- Granted
Links
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/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
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种面向分布式强化学习训练的自适应资源管理方法及装置,该方法包括:有新增训练任务提交时,根据任务信息为新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将新增虚拟机加入分布式集群,并根据预设任务排布流程排布新增训练任务;若否根据预设任务排布流程排布新增训练任务。本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法及装置,通过在接收到新增训练任务后,根据分布式集群资源的剩余情况进行资源派生后进行任务排布或直接进行任务排布,实现了训练任务自动化部署,显著降低了分布式强化学习的资源使用成本和人力成本。
Description
技术领域
本发明涉及云计算与分布式强化学习技术领域,具体涉及一种面向分布式强化学习训练的自适应资源管理方法及装置。
背景技术
强化学习是一类机器学习算法的统称,与监督学习、非监督学习一同构成机器学习的三大分支。强化学习的训练过程是一个序列决策问题,研究智能体如何基于环境的反馈而行动,以取得最大化的预期利益。多智能体系统由一群有自主性的,可互相交互的实体组成,它们共享一个相同的环境,通过感知器感知环境并通过执行器采取行动。通过强化学习的技术手段在多智能体系统中训练智能体,可有效提升其整体协同与对抗的决策水平。
分布式强化学习是扩大多智能体训练规模的必由之路。大数据(海量训练记录数据)、大模型(深层神经网络)的出现为强化学习的飞速发展奠定了坚实的物质基础。而随着多智能体对抗的训练规模不断增大,强化学习所需消耗的计算资源也急速增长。由于受制于功耗与工艺进步的限制,单机性能的提升日趋缓慢。系统计算性能的提高主要依赖于横向扩展。通过增加机器,运用分布式计算的方式来满足多智能体强化学习训练飞速增长的性能需求。
然而,目前主流的分布式强化学习算法采用静态的方式管理部署资源,不仅给用户带来了沉重的规划负担,也容易导致训练过程中出现严重的资源错配。
从用户负担的角度来说,传统的静态资源管理方式欠缺足够的灵活性。用户需要根据自己的经验预估分布式训练所需的资源量,做出所需机器数目、机器配置等一系列资源管理决策。分布式强化学习训练的实际资源消耗受到一系列因素影响,如具体的训练任务、训练目标、训练规模、算法类型与算法参数等。因此学习训练过程的具体资源需求无法通过一个形式化的建模方式求解,也难以在系统实际运行前合理预估。
从应用效果的角度来看,静态的资源管理方式无法保证资源供给与资源需求的匹配。目前常见的静态资源管理策略是采用过供给 (Over-provisioning)方案,即用户根据历史经验向上预估资源需求,从而尽可能避免在运行过程中出现资源短缺的情况。但过供给的静态资源管理方法无法保证满足分布式强化学习训练的需求。一方面,过供给方案会造成较大程度的资源浪费,增大系统的运行成本。另一方面,分布式强化学习的训练任务提交是一个动态的过程,其资源需求往往随着训练规模的提高飞速增长。一旦系统陷入少供给状态 (Under-provisioning),其训练过程的稳定性与性能均无法得到有效保证。
发明内容
为解决现有技术中的问题,本发明实施例提供一种面向分布式强化学习训练的自适应资源管理方法及装置。
第一方面,本发明实施例提供一种面向分布式强化学习训练的自适应资源管理方法,包括:新增任务处理流程,所述新增任务处理流程包括:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
进一步地,所述根据所述任务信息为所述新增训练任务赋予资源需求初始值,包括:判断资源需求数据库是否存在所述新增训练任务的历史资源需求记录;若是,则根据所述历史资源需求记录的平均值为所述新增训练任务赋予所述资源需求初始值;若否,则按照预设的资源需求初始值赋予规则为所述新增训练任务赋予所述资源需求初始值。
进一步地,所述方法还包括结束任务处理流程,所述结束任务处理流程包括:当有训练任务结束时,访问所述资源需求数据库,获取所述训练任务的资源需求数据;根据所述资源需求数据更新所述分布式集群资源的供给剩余信息;判断所述分布式集群是否处于预设的过供给状态;若是,则根据所述预设任务排布流程重新排布剩余的训练任务;排布完成后,判断所述分布式集群是否存在任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源。
进一步地,所述方法还包括周期性处理流程,所述周期性处理流程包括:按照预设的时间周期,执行如下动作:运用性能探针获取训练任务进程的资源需求量,并根据所述资源需求量更新所述资源需求数据库;判断系统是否处于预设的过供给状态,若系统处于预设的过供给状态,则根据所述预设任务排布流程重新排布所述训练任务;排布完成后,判断所述分布式集群是否有任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源;若系统未处于预设的过供给状态,则进一步判断系统是否处于预设的少供给状态;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据所述预设任务排布流程重新排布所述训练任务。
进一步地,所述预设的过供给状态包括所述分布式集群中各虚拟机的平均资源利用率不足预设比例;所述预设的少供给状态包括所述分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和。
进一步地,所述预设任务排布流程包括:探测已派生虚拟机的资源利用率;若存在所述资源利用率不大于所述预设比例的虚拟机,且存在尚未排布的训练任务,则重复执行以下流程:在所述资源利用率不大于所述预设比例的虚拟机中筛选出任意一台虚拟机,按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率;若所有已派生的虚拟机的所述资源利用率均小于所述预设比例,则若存在尚未排布的训练任务,则重复执行以下流程:计算剩余训练任务的资源需求总量,根据所述资源需求总量请求增加一个新的虚拟机,在新的所述虚拟机的所述资源利用率不大于所述预设比例时,重复执行以下动作:按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。
进一步地,所述预设的优先级计算公式的表达式为:
其中,p(τ,m)表示将任务τ排布在虚拟机m上的优先级函数, p(τ,m)越大,表示任务τ针对虚拟机m排布的优先级越高;符号τ表示训练任务的序号;m表示已派生的虚拟机的序号;ar,m、ac、am为权重系数,用来调节各项对计算结果p(τ,m)的影响;表示虚拟机m的CPU剩余资源量;表示虚拟机m的内存剩余资源量;Cτ表示任务τ的CPU资源需求,Mτ表示任务τ的内存需求,Cτk表示任务τk的CPU 资源需求,表示任务τk的内存资源需求,n表示待排布的任务的个数。
第二方面,本发明实施例提供一种面向分布式强化学习训练的自适应资源管理装置,包括新增任务处理模块,所述新增任务处理模块用于:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法及装置,通过在接收到新增训练任务后,根据分布式集群资源的剩余情况进行资源派生后进行任务排布或直接进行任务排布,实现了分布式训练任务的自动化部署,显著降低了分布式强化学习的资源使用成本和人力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法流程图;
图2是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中新增任务处理流程示意图;
图3是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中结束任务处理流程示意图;
图4是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中周期性处理流程示意图;
图5是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中任务排布流程示意图;
图6是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中资源派生/归还流程示意图;
图7是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中自动部署流程示意图;
图8是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中资源需求探测流程示意图;
图9是本发明一实施例提供的实现面向分布式强化学习训练的自适应资源管理方法的自适应资源管理框架部署架构图;
图10是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理装置的结构示意图;
图11是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法流程图。如图1所示,所述方法包括新增任务处理流程 100,所述新增任务处理流程100包括:
步骤101、当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值。
本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法可以满足多智能体分布式强化学习训练的自适应资源管理需求。其中,分布式强化学习所需的依赖可以基于Ray平台实现。将Ray平台部署运行在基于云计算的分布式集群上。用户可通过单个登录节点 (一台云服务器)进行访问。登录节点同时作为Ray平台的管理节点,负责处理用户提交的训练请求,生成训练任务。自适应资源管理框架 (实现本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法的软件框架)也同时部署在登录节点上,负责管理云端资源的派生、归还以及训练任务在虚拟机上的排布。从运行的角度上来看,自适应资源管理框架作为分布式强化学习训练系统的一个组件持续运行,其优化决策的目标是尽可能用最少的资源满足学习训练的需求。
分布式集群可以看作是分布式部署的虚拟机构成的集群,各个虚拟机可以部署在分布式云服务器上,一个云服务器可以部署多个虚拟机。本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法可以在作为登录节点的云服务器实现,登录节点可以不部署虚拟机。可以将实现面向分布式强化学习训练的自适应资源管理方法的设备称为面向分布式强化学习训练的自适应资源管理装置。
当面向分布式强化学习训练的自适应资源管理装置获取到有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值。所述任务信息可以包括任务的类型及参数,具体内容可根据需要设定。面向分布式强化学习训练的自适应资源管理装置根据所述任务信息为所述新增训练任务赋予资源需求初始值。
面向分布式强化学习训练的自适应资源管理装置根据所述任务信息为所述新增训练任务赋予资源需求初始值时,比如可以预先存储有不同任务信息对应的资源需求初始值的列表,通过查询上述列表获取为所述新增训练任务赋予的资源需求初始值。
步骤102、统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
面向分布式强化学习训练的自适应资源管理装置统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源。比如,若当前分布式集群资源供给剩余不满足所述资源需求初始值的需求,则需要派生新的资源,并确定新增虚拟机的数量及配置,新增虚拟机的数量及配置需要满足所述资源需求初始值的需求。虚拟机的配置如CPU资源量、内存资源量等。将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务到虚拟机上。
若不需要派生新的资源,比如,若当前分布式集群资源供给剩余满足所述资源需求初始值的需求,则不需派生新的资源,则直接根据所述预设任务排布流程排布所述新增训练任务。
为训练任务分配虚拟机后,则训练任务可以在所分配的虚拟机上进行分布式训练。并且,虚拟机上配置有进行分布式训练任务所需的所有依赖,用户既不需要规划虚拟机的配置,也无需安装分布式训练相关应用。
本发明实施例通过在接收到新增训练任务后,根据分布式集群资源的剩余情况进行资源派生后进行任务排布或直接进行任务排布,实现了分布式训练任务的自动化部署,显著降低了分布式强化学习的资源使用成本和人力成本。
进一步地,基于上述实施例,所述根据所述任务信息为所述新增训练任务赋予资源需求初始值,包括:判断资源需求数据库是否存在所述新增训练任务的历史资源需求记录;若是,则根据所述历史资源需求记录的平均值为所述新增训练任务赋予所述资源需求初始值;若否,则按照预设的资源需求初始值赋予规则为所述新增训练任务赋予所述资源需求初始值。
所述资源需求数据库存储有分布式训练任务的资源需求信息。在根据所述任务信息为所述新增训练任务赋予资源需求初始值时,若资源需求数据库存在所述新增训练任务的历史资源需求记录,即存在同等任务的资源需求记录信息,则根据所述历史资源需求记录的平均值为所述新增训练任务赋予资源需求初始值。若资源需求数据库不存在所述新增训练任务的历史资源需求记录,则按照预设的资源需求初始值赋予规则为所述新增训练任务赋予资源需求初始值,比如按CPU100 点,内存1024点为新增任务赋予资源需求初始值。
本发明实施例中,在CPU与内存这两个维度上对资源需求与供给建模,得到资源需求与供给模型。其中CPU资源以百分制刻画,每一个CPU核心记做100点。内存资源则按容量计,以兆字节为单位衡量。因此一个双核、4G内存的虚拟机CPU资源记为200点,内存资源计为4096点;一个四核、8G内存的虚拟机CPU资源记为400点,内存资源记为8192点,依此类推。
在上述实施例的基础上,本发明实施例通过在资源需求数据库存在新增训练任务的历史资源需求记录时,根据历史资源需求记录的平均值为新增训练任务赋予资源需求初始值;在资源需求数据库不存在新增训练任务的历史资源需求记录时,按照预设的资源需求初始值赋予规则为新增训练任务赋予资源需求初始值,提高了为新增训练任务赋予资源需求初始值的灵活性。
图2是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中新增任务处理流程示意图。有新的分布式强化学习任务提交时,自适应资源管理框架决定是否需要派生新的虚拟机、新虚拟机的数量与类型,以及如何将新的分布式强化学习任务分配到底层计算资源上。如图2所示,所述新增任务处理流程包括:
获取新增训练任务的类型、参数,查询数据库,判断是否存在新增任务的资源需求记录,若否,则按CPU100点、内存1024点为新增任务赋资源需求初始值;若是,则依据历史资源需求的平均值为新增任务赋值,统计当前集群资源供给剩余,判断是否需要派生新的资源,若需要派生新的资源,则明确需新增虚拟机的数量与配置,上线新虚拟机加入集群,通过预设任务排布流程排布新增任务,然后结束。若不需要派生新的资源,则结束。
进一步地,基于上述实施例,所述方法还包括结束任务处理流程,所述结束任务处理流程包括:当有训练任务结束时,访问所述资源需求数据库,获取所述训练任务的资源需求数据;根据所述资源需求数据更新所述分布式集群资源的供给剩余信息;判断所述分布式集群是否处于预设的过供给状态;若是,则根据所述预设任务排布流程重新排布剩余的训练任务;排布完成后,判断所述分布式集群是否存在任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源。
当有训练任务结束时,面向分布式强化学习训练的自适应资源管理装置访问所述资源需求数据库,获取已结束的所述训练任务的资源需求数据;根据已结束的所述训练任务的所述资源需求数据更新所述分布式集群资源的供给剩余信息,即分布式集群资源的供给剩余信息中加入已结束的所述训练任务的资源需求量;判断所述分布式集群是否处于预设的过供给状态;若是,则根据所述预设任务排布流程重新排布剩余的训练任务;排布完成后,判断所述分布式集群是否存在任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源。
图3是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中结束任务处理流程示意图。有分布式强化学习任务结束时:自适应资源管理框架决定是否需要重新调度剩余分布式强化学习任务的排布,从而移除部分虚拟机的工作量,向云端资源池归还这部分资源。如图3所示,所述结束任务处理流程包括:
访问任务资源需求数据库,获取已完成训练任务的资源需求数据,更新当前集群资源供给剩余,判断当前集群是否处于“过供给”状态,若未处于“过供给”状态,则结束。若处于“过供给”状态,则根据预设任务排布流程重新排布剩余分布式任务,判断当前集群是否有任务排布为空的虚拟机,若有,则向云端资源池归还这部分资源;若没有,则结束。
本发明实施例将分布式的软硬件资源虚拟化为一个动态可扩展的云计算资源池,用户可以自主请求(租借)更多资源,随时调整使用量,也可以将不需要的资源释放回整个资源池。因此用户不需要因为短暂尖峰的需求而购买配置大量的计算节点,从而有效避免了过供给问题,也可在资源紧缺时自动申请部署新的云端资源,有效解决少供给问题带来的负面影响。同时,本发明实施例还将云端资源管理过程自动化,把人工干预从资源派生、环境部署、任务调度等管理回路中去除,显著降低了分布式强化学习的资源使用成本与人力成本。
在上述实施例的基础上,本发明实施例通过在任务结束后,更新分布式集群资源的供给剩余信息,重新排布剩余的训练任务,并在分布式集群存在任务排布为空的虚拟机时,删除相应的虚拟机从而释放资源,有效地节约了资源。
进一步地,基于上述实施例,所述方法还包括周期性处理流程,所述周期性处理流程包括按照预设的时间周期,执行如下动作:运用性能探针获取训练任务进程的资源需求量,并根据所述资源需求量更新所述资源需求数据库;判断系统是否处于预设的过供给状态,若系统处于预设的过供给状态,则根据所述预设任务排布流程重新排布所述训练任务;排布完成后,判断所述分布式集群是否有任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源;若系统未处于预设的过供给状态,则进一步判断系统是否处于预设的少供给状态;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据所述预设任务排布流程重新排布所述训练任务。
图4是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中周期性处理流程示意图。在分布式强化学习任务正常运行过程中,其资源需求可能随着训练阶段、训练效果的不同而上下浮动。自适应资源管理框架将运用“监测、分析、计划、执行”这一循环迭代不断修正当前资源管理方案,使其与最新的应用需求相匹配。如图4所示,所述周期性处理流程包括:
运用性能探针获取训练任务进程的资源需求量,更新任务资源需求数据库(资源需求数据库),判断系统是否处于“过供给”状态(预设过供给状态),若是,则根据预设任务排布流程重新排布分布式训练任务,判断当前集群是否有任务排布为空的虚拟机,若有,则向云端资源池归还这部分资源,然后等待下一周期开始。若不存在任务排布为空的虚拟机,则等待下一周期开始。
若系统未处于“过供给”状态,则进一步判断系统是否处于“少供给”状态(预设少供给状态),若否,则等待下一周期开始;若是,则明确需新增虚拟机的数量与配置,上线新虚拟机加入集群,根据预设任务排布流程重新排布分布式训练任务,然后等待下一周期开始。
在资源需求方面,对于每一个分布式强化学习任务,可采用性能探针的方式,结合操作系统的任务管理数据判断该进程所需的计算资源。如一个任务经探测后发现其CPU占用率为32%,内存占用为400M,则计其CPU资源需求为32点,内存资源需求为400点。
在上述实施例的基础上,本发明实施例通过周期性地获取训练任务进程的资源需求量,在过供给时释放资源,在少供给时新增资源,保证了资源供给和资源需求的自适应动态匹配,不仅节约了资源,也保障了分布式训练的性能。
进一步地,基于上述实施例,所述预设的过供给状态包括所述分布式集群中各虚拟机的平均资源利用率不足预设比例;所述预设的少供给状态包括所述分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和。
本发明实施例中,定义系统处于“过供给”状态的条件可以为各虚拟机平均资源利用率不足80%,定义系统处于“少供给”状态的条件可以为任一个虚拟机出现资源供给总量小于其排布的分布式强化学习任务资源需求总和。
在上述实施例的基础上,本发明实施例通过定义预设的过供给状态包括分布式集群中各虚拟机的平均资源利用率不足预设比例保证了各虚拟机的充分利用,定义预设的少供给状态包括分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和保证了虚拟机上排布的训练任务的资源需求。
进一步地,基于上述实施例,所述预设任务排布流程包括:探测已派生虚拟机的资源利用率;若存在所述资源利用率不大于所述预设比例的虚拟机,且存在尚未排布的训练任务,则重复执行以下流程:在所述资源利用率不大于所述预设比例的虚拟机中筛选出任意一台虚拟机,按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率;若所有已派生的虚拟机的所述资源利用率均小于所述预设比例,则若存在尚未排布的训练任务,则重复执行以下流程:计算剩余训练任务的资源需求总量,根据所述资源需求总量请求增加一个新的虚拟机,在新的所述虚拟机的所述资源利用率不大于所述预设比例时,重复执行以下动作:按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。
图5是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中任务排布流程示意图。本发明实施例中任务排布可建模为一个二维向量背包问题(Two-Dimensional Knapsack Problem),其中每一个新虚拟机被视为一个空的背包,每一个分布式强化学习任务视为一个需要被装入背包的物体。背包的容量及物体的尺寸用上述资源需求与供给模型来衡量。如图5所示,所述任务排布流程包括:
可以将训练任务的资源需求归一化,从而可以简化计算复杂度;探测已派生虚拟机的资源利用率,若存在所述资源利用率不大于80%的虚拟机,且存在尚未排布的训练任务,则重复执行以下流程:在所述资源利用率不大于所述预设比例的虚拟机中筛选出任意一台虚拟机,按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。若存在所述资源利用率不大于所述预设比例的虚拟机,但已不存在尚未排布的训练任务,则结束。
若不存在资源利用率不大于80%的虚拟机,则判断是否还存在尚未排布的训练任务,若存在尚未排布的训练任务,则重复执行以下流程:计算剩余训练任务的资源需求总量,根据所述资源需求总量请求增加一个新的虚拟机,在新的所述虚拟机的所述资源利用率不大于80%时,重复执行以下动作:按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。若不存在尚未排布的训练任务,则结束。
其中,在根据所述资源需求总量请求增加一个新的虚拟机时,按照下述逻辑选取虚拟机的配置:从小往大遍历所有可能配置,选择能够满足剩余任务资源需求总量的最小型虚拟机,上限为云资源池所允许的最大型虚拟机。
可以理解的,上述预设比例只是示例,还可以选取其他比例。
在上述实施例的基础上,本发明实施例通过根据虚拟机的剩余资源及分布式训练任务的优先级别排布训练任务,实现了资源的合理分配。
进一步地,基于上述实施例,所述预设的优先级计算公式的表达式为:
其中,p(τ,m)表示将任务τ排布在虚拟机m上的优先级函数, p(τ,m)越大,表示任务τ针对虚拟机m排布的优先级越高;符号τ表示训练任务的序号;m表示已派生的虚拟机的序号;ar,m、ac、am为权重系数,用来调节各项对计算结果p(τ,m)的影响;表示虚拟机m的CPU剩余资源量;表示虚拟机m的内存剩余资源量;Cτ表示任务τ的CPU资源需求,Mτ表示任务τ的内存需求,Cτk表示任务τk的CPU 资源需求,表示任务τk的内存资源需求,n表示待排布的任务的个数。
其中ar,m由用户在提交分布式机器学习任务时指定,从而确保重要任务能在任务调度时优先获得资源分配。p(τ,m)在一定程度上,可以代表资源的需求量,对于资源需求量大的任务,可以进行优先排布。
在上述实施例的基础上,本发明实施例通过设定合理的优先级计算规则,保证了重要的、或资源需求大的任务优先排布。
本发明实施例提供的任务排布流程的算法可如下所示:
进一步地,基于上述实施例,所述方法还包括资源派生/归还流程。当下达了派生/归还资源指令后,将通过执行资源派生及资源归还流程在云端执行该指令。资源派生/归还依赖于Openstack CLI(CommandLine Interface)实现。
图6是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中资源派生/归还流程示意图。如图6所示,所述资源派生/资源归还流程包括:
解析资源管理任务指令,若判断获知接收到资源派生指令(增加新的虚拟机指令),则从指令中解析资源参数,即虚拟机名称、配置等,根据轮换算法(Round-Robin)决定虚拟机在物理机上的启动位置,从 IP资源池中选取IP分配给新虚拟机,运行Openstackserver create(创建OpenStack虚拟机)指令,运行Openstack server list(列举OpenStack虚拟机)命令检查资源派生是否成功,然后结束。
若判断获知接收到资源归还指令(删除虚拟机指令),则从指令中获取需删除的虚拟机名称列表,运行Openstack server list命令,确保需删除的虚拟机已存在,运行Openstack server delete(删除OpenStack 虚拟机)命令,将虚拟机IP归还至IP资源池,运行Openstack server list 命令检查资源归还是否成功,然后结束。
进一步地,基于上述实施例,所述方法还包括自动部署流程。自动部署流程仅需在配置自适应资源管理框架时运行一次,用来生成虚拟机部署镜像。后续该镜像可在资源派生时反复使用。根据该部署镜像生成的虚拟机将具备分布式强化学习所需的所有依赖,同时虚拟机自动加入分布式训练集群,接受集群头节点的统一调度管理。自动部署依赖于Openstack Image Service实现。
图7是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中自动部署流程示意图。如图7所示,所述自动部署流程包括:
上传操作系统ISO镜像至Openstack Image Service,从上传ISO镜像中启动一个虚拟机,通过Virtual Networking Computing(VNC)安装操作系统,配置Python环境,安装Ray平台,安装cloud-init、获取ssy key,配置向Ray头节点自动注册的脚本,为当前虚拟机做一个快照,使用 Openstack glance image-update命令生成部署镜像,然后结束。
进一步地,基于上述实施例,在运用性能探针获取训练任务进程的资源需求量时,可以通过资源需求探测流程实现。在Linux操作系统上,探测分布式强化学习训练任务的资源需求可通过glibtop提供的 API来探测。
图8是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理方法中资源需求探测流程示意图。如图8所示,所述资源需求探测流程包括:
调用glibtop_init()完成glibtop初始化,定义glibtop_cpu、 glibtop_mem()、glibtop_proclist变量,获取当前虚拟机上所有训练任务进程的PID,导入glibtop_proclist,遍历glibtop_proclist调用 glibtop_get_cpu()/glibtop_get_mem()获取cpu与内存,遍历 glibtop_proclist调用glibtop_get_cpu()/glibtop_get_mem()获取cpu/内存占用,将资源需求数据结合任务进程PID写入MangoDB,更新任务资源需求数据库。
图9是本发明一实施例提供的实现面向分布式强化学习训练的自适应资源管理方法的自适应资源管理框架部署架构图。如图9所示,本发明实施例提供的面向分布式强化学习训练的自适应资源管理方法的应用依赖于Ray平台(https://rise.cs.berkeley.edu/projects/ray/)实现。该平台部署运行在基于云计算的分布式集群上,用户可通过单个登录节点进行访问。登录节点同时作为Ray平台的管理节点,负责处理用户提交的训练请求,生成训练任务。自适应资源管理框架也同时部署在登录节点上,负责管理云端资源的派生、归还以及训练任务在虚拟机上的排布。此外,自适应资源管理框架也提供了一个基于Web的显示界面。可供用户通过浏览器查看当前训练任务的开展情况、集群分布式资源的利用情况以及系统运行记录等信息。
本发明实施例提出的面向分布式强化学习训练的自适应资源管理方法实现的功能包括:
1.自动判断分布式强化学习训练任务所需的虚拟机类型、数量。
2.自动派生与归还云端资源(虚拟机)。
3.自动在虚拟机上部署分布式强化学习应用。
4.自动调整、调度分布式强化学习任务在派生虚拟机上的映射关系。
本发明实施例针对分布式强化学习的动态资源管理需求提出了一种自适应资源管理方法,与现有静态资源管理技术相比具有如下优点:
1、无需用户提前预估分布式强化学习训练所需的资源类型与数量,避免了资源过供给与少供给。
2、无需用户介入分布式强化学习的应用部署过程,降低了人力成本,增强了资源管理适应需求变化的敏捷性。
3、自动调整分布式强化学习任务在资源上的分布,有效提高资源利用率,降低系统运行成本。
图10是本发明一实施例提供的面向分布式强化学习训练的自适应资源管理装置的结构示意图。如图10所示,所述自适应资源管理装置包括新增任务处理模块10,所述新增任务处理模块10用于:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并通过调用任务排布模块排布所述新增训练任务;若否,则直接通过调用所述任务排布模块排布所述新增训练任务。
本发明实施例通过在接收到新增训练任务后,根据分布式集群资源的剩余情况进行资源派生后进行任务排布或直接进行任务排布,实现了分布式训练任务的自动化部署,显著降低了分布式强化学习的资源使用成本和人力成本。
进一步地,基于上述实施例,新增任务处理模块10在用于根据所述任务信息为所述新增训练任务赋予资源需求初始值时,具体用于:判断资源需求数据库是否存在所述新增训练任务的历史资源需求记录;若是,则根据所述历史资源需求记录的平均值为所述新增训练任务赋予所述资源需求初始值;若否,则按照预设的资源需求初始值赋予规则为所述新增训练任务赋予所述资源需求初始值。
在上述实施例的基础上,本发明实施例通过在资源需求数据库存在新增训练任务的历史资源需求记录时,根据历史资源需求记录的平均值为新增训练任务赋予资源需求初始值;在资源需求数据库不存在新增训练任务的历史资源需求记录时,按照预设的资源需求初始值赋予规则为新增训练任务赋予资源需求初始值,提高了为新增训练任务赋予资源需求初始值的灵活性。
进一步地,基于上述实施例,所述装置还包括结束任务处理模块,所述结束任务处理模块用于:当有训练任务结束时,访问所述资源需求数据库,获取所述训练任务的资源需求数据;根据所述资源需求数据更新所述分布式集群资源的供给剩余信息;判断所述分布式集群是否处于预设的过供给状态;若是,则通过调用任务排布模块重新排布剩余的训练任务;排布完成后,判断所述分布式集群是否存在任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源。
在上述实施例的基础上,本发明实施例通过在任务结束后,更新分布式集群资源的供给剩余信息,重新排布剩余的训练任务,并在分布式集群存在任务排布为空的虚拟机时,删除相应的虚拟机从而释放资源,有效地节约了资源。
进一步地,基于上述实施例,所述装置还包括周期性处理模块,所述周期性处理模块用于:按照预设的时间周期,执行如下动作:运用性能探针获取训练任务进程的资源需求量,并根据所述资源需求量更新所述资源需求数据库;判断系统是否处于预设的过供给状态,若系统处于预设的过供给状态,则通过调用任务排布模块重新排布所述训练任务;排布完成后,判断所述分布式集群是否有任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源;若系统未处于预设的过供给状态,则进一步判断系统是否处于预设的少供给状态;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并通过调用任务排布模块重新排布所述训练任务。
在上述实施例的基础上,本发明实施例通过周期性地获取训练任务进程的资源需求量,在过供给时释放资源,在少供给时新增资源,保证了资源供给和资源需求的自适应动态匹配,不仅节约了资源,也保障了分布式训练的性能。
进一步地,基于上述实施例,所述预设的过供给状态包括所述分布式集群中各虚拟机的平均资源利用率不足预设比例;所述预设的少供给状态包括所述分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和。
在上述实施例的基础上,本发明实施例通过定义预设的过供给状态包括所述分布式集群中各虚拟机的平均资源利用率不足预设比例保证了各虚拟机的充分利用,定义预设的少供给状态包括所述分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和保证了虚拟机上排布的训练任务的资源需求。
进一步地,基于上述实施例,所述任务排布模块用于:探测已派生虚拟机的资源利用率;若存在所述资源利用率不大于所述预设比例的虚拟机,且存在尚未排布的训练任务,则重复执行以下流程:在所述资源利用率不大于所述预设比例的虚拟机中筛选出任意一台虚拟机,按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率;若所有已派生的虚拟机的所述资源利用率均小于所述预设比例,则若存在尚未排布的训练任务,则重复执行以下流程:计算剩余训练任务的资源需求总量,根据所述资源需求总量请求增加一个新的虚拟机,在新的所述虚拟机的所述资源利用率不大于所述预设比例时,重复执行以下动作:按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。
在上述实施例的基础上,本发明实施例通过根据虚拟机的剩余资源及分布式训练任务的优先级别排布训练任务,实现了资源的合理分配。
进一步地,基于上述实施例,所述预设的优先级计算公式的表达式为:
其中,p(τ,m)表示将任务τ排布在虚拟机m上的优先级函数, p(τ,m)越大,表示任务τ针对虚拟机m排布的优先级越高;符号τ表示训练任务的序号;m表示已派生的虚拟机的序号;ar,m、ac、am为权重系数,用来调节各项对计算结果p(τ,m)的影响;表示虚拟机m的CPU剩余资源量;表示虚拟机m的内存剩余资源量;Cτ表示任务τ的CPU资源需求,Mτ表示任务τ的内存需求,Cτk表示任务τk的CPU 资源需求,表示任务τk的内存资源需求,n表示待排布的任务的个数。
在上述实施例的基础上,本发明实施例通过设定合理的优先级计算规则,保证了重要的、或资源需求大的任务优先排布。
本发明实施例提供的装置是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。
图11是本发明一实施例提供的电子设备的实体结构示意图。如图 11所示,该电子设备可以包括:处理器(processor)1110、通信接口 (Communications Interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140 完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行如下方法:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种面向分布式强化学习训练的自适应资源管理方法,其特征在于,包括新增任务处理流程,所述新增任务处理流程包括:
当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;
统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
2.根据权利要求1所述的面向分布式强化学习训练的自适应资源管理方法,其特征在于,所述根据所述任务信息为所述新增训练任务赋予资源需求初始值,包括:
判断资源需求数据库是否存在所述新增训练任务的历史资源需求记录;若是,则根据所述历史资源需求记录的平均值为所述新增训练任务赋予所述资源需求初始值;若否,则按照预设的资源需求初始值赋予规则为所述新增训练任务赋予所述资源需求初始值。
3.根据权利要求1所述的面向分布式强化学习训练的自适应资源管理方法,其特征在于,所述方法还包括结束任务处理流程,所述结束任务处理流程包括:
当有训练任务结束时,访问所述资源需求数据库,获取所述训练任务的资源需求数据;
根据所述资源需求数据更新所述分布式集群资源的供给剩余信息;
判断所述分布式集群是否处于预设的过供给状态;若是,则根据所述预设任务排布流程重新排布剩余的训练任务;
排布完成后,判断所述分布式集群是否存在任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源。
4.根据权利要求3所述的面向分布式强化学习训练的自适应资源管理方法,其特征在于,所述方法还包括周期性处理流程,所述周期性处理流程包括:按照预设的时间周期,执行如下动作:
运用性能探针获取训练任务进程的资源需求量,并根据所述资源需求量更新所述资源需求数据库;
判断系统是否处于预设的过供给状态,若系统处于预设的过供给状态,则根据所述预设任务排布流程重新排布所述训练任务;排布完成后,判断所述分布式集群是否有任务排布为空的虚拟机,若存在,则删除相应的虚拟机从而释放资源;
若系统未处于预设的过供给状态,则进一步判断系统是否处于预设的少供给状态;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据所述预设任务排布流程重新排布所述训练任务。
5.根据权利要求4所述的面向分布式强化学习训练的自适应资源管理方法,其特征在于,所述预设的过供给状态包括所述分布式集群中各虚拟机的平均资源利用率不足预设比例;所述预设的少供给状态包括所述分布式集群中任一虚拟机出现资源供给总量小于自身排布的训练任务的资源需求总和。
6.根据权利要求5所述的面向分布式强化学习训练的自适应资源管理方法,其特征在于,所述预设任务排布流程包括:
探测已派生虚拟机的资源利用率;
若存在所述资源利用率不大于所述预设比例的虚拟机,且存在尚未排布的训练任务,则重复执行以下流程:在所述资源利用率不大于所述预设比例的虚拟机中筛选出任意一台虚拟机,按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率;
若所有已派生的虚拟机的所述资源利用率均小于所述预设比例,则若存在尚未排布的训练任务,则重复执行以下流程:计算剩余训练任务的资源需求总量,根据所述资源需求总量请求增加一个新的虚拟机,在新的所述虚拟机的所述资源利用率不大于所述预设比例时,重复执行以下动作:按照资源需求量筛选出所述虚拟机满足相应资源需求的所有训练任务的集合,根据预设的优先级计算公式计算出所述训练任务的集合中各个训练任务的排布优先级,将所述排布优先级最高的训练任务放置在所述虚拟机上,删除已排布的所述训练任务,更新所述虚拟机的所述资源利用率。
8.一种面向分布式强化学习训练的自适应资源管理装置,其特征在于,包括新增任务处理模块,所述新增任务处理模块用于:当有新增训练任务提交时,获取所述新增训练任务的任务信息,并根据所述任务信息为所述新增训练任务赋予资源需求初始值;统计当前分布式集群资源供给剩余,根据所述资源需求初始值和所述分布式集群资源供给剩余判断是否需要派生新的资源;若是,则确定新增虚拟机的数量及配置,将所述新增虚拟机加入所述分布式集群,并根据预设任务排布流程排布所述新增训练任务;若否,则直接根据所述预设任务排布流程排布所述新增训练任务。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述面向分布式强化学习训练的自适应资源管理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述面向分布式强化学习训练的自适应资源管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236076.3A CN110928689B (zh) | 2019-12-05 | 2019-12-05 | 面向分布式强化学习训练的自适应资源管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236076.3A CN110928689B (zh) | 2019-12-05 | 2019-12-05 | 面向分布式强化学习训练的自适应资源管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928689A true CN110928689A (zh) | 2020-03-27 |
CN110928689B CN110928689B (zh) | 2020-08-25 |
Family
ID=69857171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911236076.3A Active CN110928689B (zh) | 2019-12-05 | 2019-12-05 | 面向分布式强化学习训练的自适应资源管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928689B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694656A (zh) * | 2020-04-22 | 2020-09-22 | 北京大学 | 基于多智能体深度强化学习的集群资源调度方法及系统 |
CN111738404A (zh) * | 2020-05-08 | 2020-10-02 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111753997A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 分布式训练方法、系统、设备及存储介质 |
CN112084017A (zh) * | 2020-07-30 | 2020-12-15 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN112799782A (zh) * | 2021-01-20 | 2021-05-14 | 北京迈格威科技有限公司 | 模型生成系统、方法、电子设备及存储介质 |
CN112925653A (zh) * | 2021-05-11 | 2021-06-08 | 深圳市安软科技股份有限公司 | 虚拟化群集扩容方法、相关设备及计算机可读存储介质 |
CN113296870A (zh) * | 2020-04-07 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 预测Kubernetes集群配置的方法以及装置 |
CN113469372A (zh) * | 2021-07-02 | 2021-10-01 | 北京市商汤科技开发有限公司 | 强化学习训练方法、装置、电子设备以及存储介质 |
CN114237869A (zh) * | 2021-11-17 | 2022-03-25 | 中国人民解放军军事科学院国防科技创新研究院 | 基于强化学习的Ray双层调度方法、装置和电子设备 |
CN114661482A (zh) * | 2022-05-25 | 2022-06-24 | 成都索贝数码科技股份有限公司 | 一种gpu算力管理方法、介质、设备及系统 |
DE202022104275U1 (de) | 2022-07-28 | 2022-08-25 | Ahmed Alemran | System für intelligentes Ressourcenmanagement für verteilte Maschinenlernaufgaben |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810048A (zh) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | 一种面向资源利用最优的线程数量自动调整方法及装置 |
CN106201661A (zh) * | 2016-07-20 | 2016-12-07 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN109034396A (zh) * | 2018-07-11 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于处理分布式集群中的深度学习作业的方法和装置 |
CN109117244A (zh) * | 2018-06-13 | 2019-01-01 | 成都颠峰科创信息技术有限公司 | 一种虚拟机资源申请排队机制的实现方法 |
CN109213588A (zh) * | 2018-09-17 | 2019-01-15 | 重庆大学 | 一种云数据中心批量到达任务分配装置、系统及方法 |
CN110096349A (zh) * | 2019-04-10 | 2019-08-06 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
-
2019
- 2019-12-05 CN CN201911236076.3A patent/CN110928689B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810048A (zh) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | 一种面向资源利用最优的线程数量自动调整方法及装置 |
CN106201661A (zh) * | 2016-07-20 | 2016-12-07 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN106201661B (zh) * | 2016-07-20 | 2018-09-14 | 北京百度网讯科技有限公司 | 用于弹性伸缩虚拟机集群的方法和装置 |
CN109117244A (zh) * | 2018-06-13 | 2019-01-01 | 成都颠峰科创信息技术有限公司 | 一种虚拟机资源申请排队机制的实现方法 |
CN109034396A (zh) * | 2018-07-11 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于处理分布式集群中的深度学习作业的方法和装置 |
CN109213588A (zh) * | 2018-09-17 | 2019-01-15 | 重庆大学 | 一种云数据中心批量到达任务分配装置、系统及方法 |
CN110096349A (zh) * | 2019-04-10 | 2019-08-06 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
Non-Patent Citations (2)
Title |
---|
乐冠: ""面向服务系统的自适应资源管理技术研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
魏艺: ""SaaS应用的任务调度与资源配置算法研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296870A (zh) * | 2020-04-07 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 预测Kubernetes集群配置的方法以及装置 |
CN113296870B (zh) * | 2020-04-07 | 2024-03-08 | 阿里巴巴集团控股有限公司 | 预测Kubernetes集群配置的方法以及装置 |
CN111694656A (zh) * | 2020-04-22 | 2020-09-22 | 北京大学 | 基于多智能体深度强化学习的集群资源调度方法及系统 |
CN111738404B (zh) * | 2020-05-08 | 2024-01-12 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111738404A (zh) * | 2020-05-08 | 2020-10-02 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111753997A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 分布式训练方法、系统、设备及存储介质 |
CN112084017A (zh) * | 2020-07-30 | 2020-12-15 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN112084017B (zh) * | 2020-07-30 | 2024-04-19 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN112799782A (zh) * | 2021-01-20 | 2021-05-14 | 北京迈格威科技有限公司 | 模型生成系统、方法、电子设备及存储介质 |
CN112799782B (zh) * | 2021-01-20 | 2024-04-12 | 北京迈格威科技有限公司 | 模型生成系统、方法、电子设备及存储介质 |
CN112925653A (zh) * | 2021-05-11 | 2021-06-08 | 深圳市安软科技股份有限公司 | 虚拟化群集扩容方法、相关设备及计算机可读存储介质 |
CN113469372A (zh) * | 2021-07-02 | 2021-10-01 | 北京市商汤科技开发有限公司 | 强化学习训练方法、装置、电子设备以及存储介质 |
CN114237869B (zh) * | 2021-11-17 | 2022-09-16 | 中国人民解放军军事科学院国防科技创新研究院 | 基于强化学习的Ray双层调度方法、装置和电子设备 |
CN114237869A (zh) * | 2021-11-17 | 2022-03-25 | 中国人民解放军军事科学院国防科技创新研究院 | 基于强化学习的Ray双层调度方法、装置和电子设备 |
CN114661482A (zh) * | 2022-05-25 | 2022-06-24 | 成都索贝数码科技股份有限公司 | 一种gpu算力管理方法、介质、设备及系统 |
DE202022104275U1 (de) | 2022-07-28 | 2022-08-25 | Ahmed Alemran | System für intelligentes Ressourcenmanagement für verteilte Maschinenlernaufgaben |
Also Published As
Publication number | Publication date |
---|---|
CN110928689B (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928689B (zh) | 面向分布式强化学习训练的自适应资源管理方法及装置 | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN109947567B (zh) | 一种多智能体强化学习调度方法、系统及电子设备 | |
US20220300812A1 (en) | Workflow optimization | |
US10761897B2 (en) | Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources | |
US8464255B2 (en) | Managing performance interference effects on cloud computing servers | |
US8909567B2 (en) | Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement | |
US20190325304A1 (en) | Deep Reinforcement Learning for Workflow Optimization | |
EP3084604A1 (en) | Resource prediction for cloud computing | |
CN111813523A (zh) | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 | |
CN113641445B (zh) | 基于深度确定性策略的云资源自适应配置方法及系统 | |
CN111209077A (zh) | 深度学习框架设计方法 | |
Wei et al. | Proactive virtualized resource management for service workflows in the cloud | |
CN103699443A (zh) | 任务分发方法及扫描器 | |
Rossi et al. | Elastic deployment of software containers in geo-distributed computing environments | |
CN113485833B (zh) | 资源预测方法和装置 | |
Jin et al. | Model-free resource management of cloud-based applications using reinforcement learning | |
CN107273527A (zh) | 一种Hadoop集群和分布式系统 | |
CN109102200A (zh) | 一种定时任务处理方法及装置 | |
CN109784687B (zh) | 智慧云制造任务调度方法、可读存储介质和终端 | |
CN117331668A (zh) | 一种作业调度方法、装置、设备及存储介质 | |
CN109767094B (zh) | 智慧云制造任务调度装置 | |
CN116880968A (zh) | 一种作业调度方法及调度系统 | |
US20210064506A1 (en) | Early-Convergence Detection for Online Resource Allocation Policies for Iterative Workloads | |
Jin et al. | Resource management of cloud-enabled systems using model-free reinforcement learning |
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 |