CN114757352A - 智能体训练方法、跨域异构环境任务调度方法及相关装置 - Google Patents

智能体训练方法、跨域异构环境任务调度方法及相关装置 Download PDF

Info

Publication number
CN114757352A
CN114757352A CN202210663848.7A CN202210663848A CN114757352A CN 114757352 A CN114757352 A CN 114757352A CN 202210663848 A CN202210663848 A CN 202210663848A CN 114757352 A CN114757352 A CN 114757352A
Authority
CN
China
Prior art keywords
task
cross
agent
reinforcement learning
heterogeneous environment
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
Application number
CN202210663848.7A
Other languages
English (en)
Other versions
CN114757352B (zh
Inventor
孙昌勇
杨谈
王延巍
杜炯
郑永伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Lianan Beijing Technology Co ltd
Original Assignee
Zhongke Lianan Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Lianan Beijing Technology Co ltd filed Critical Zhongke Lianan Beijing Technology Co ltd
Priority to CN202210663848.7A priority Critical patent/CN114757352B/zh
Publication of CN114757352A publication Critical patent/CN114757352A/zh
Application granted granted Critical
Publication of CN114757352B publication Critical patent/CN114757352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种智能体训练方法、跨域异构环境任务调度方法及相关装置,智能体训练方法包括:获取用于模拟真实的跨域异构环境中任务负载的预训练数据;根据预训练数据对深度强化学习智能体进行训练,以使深度强化学习智能体用于对针对跨域异构环境进行任务调度,其中,深度强化学习智能体预先基于D3QN模型和跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。本申请能够构建一种兼顾任务调度实时性和高效性的智能体,能够有效提高应用该智能体进行跨域异构环境中任务调度的时效性,能够增加整个任务调度系统的吞吐量并最大化利用跨域环境中提供的计算资源,以保证任务调度的结果兼顾任务处理的高效性和计算节点之间的负载均衡性。

Description

智能体训练方法、跨域异构环境任务调度方法及相关装置
技术领域
本申请涉及异构网络环境下的任务调度技术领域,尤其涉及智能体训练方法、跨域异构环境任务调度方法及相关装置。
背景技术
随着国际科研合作的日益密切,在国际跨自治域的异构网络环境下的任务调度问题逐渐成为研究的热点。跨域异构环境中的任务存在非常明显的动态性,一是任务调度算法要能够同时处理低负载和高负载两种任务负载场景;二是待调度的任务类型也存在多样性,既有计算密集型的科研计算任务,也有IO密集型的数据传输任务。同时在国际跨域异构的网络环境中,存在大量的计算资源和存储资源,这些资源如果不能被充分利用,则会造成巨大的资源浪费。所以研究如何充分利用这些资源从而进行高效的任务调度是十分有必要的。
常见的任务调度算法大致分为五类:第一类是传统任务调度算法,如先来先服务算法、短作业优先算法和轮询算法等;第二类是元启发式任务调度算法,如基于蚁群的任务调度算法、基于遗传算法的任务调度算法等;第三类是基于传统机器学习的任务调度算法,如基于逻辑回归的任务调度算法;第四类是基于传统强化学习的任务调度算法,如基于Q-learning的任务调度算法,第五类是基于深度强化学习的任务调度算法,如基于DQN的任务调度算法。
然而在处理跨域异构环境中的任务调度问题时,现有的任务调度算法均存在任务处理时间和等待时间长、调度系统的吞吐量低、节点间负载均衡度差或无法适应跨域异构环境中动态任务负载和异构计算资源的特性等问题。
发明内容
鉴于此,本申请实施例提供了智能体训练方法、跨域异构环境任务调度方法及相关装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种智能体训练方法,包括:
获取用于模拟真实的跨域异构环境中任务负载的预训练数据;
根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
在本申请的一些实施例中,在所述根据预训练数据对预设的深度强化学习智能体进行训练之前,还包括:
将所述跨域异构环境中的任务调度问题建模为马尔可夫决策过程,并设计对应的状态空间、动作空间及奖励函数,以形成该马尔可夫决策过程的四元组,其中,所述四元组用于记录当前状态、动作、奖励和下一个状态;
其中,所述奖励函数基于在所述跨域异构环境中进行任务调度的性能评价指标构建而得。
在本申请的一些实施例中,在所述根据预训练数据对预设的深度强化学习智能体进行训练之前,还包括:
基于双Q学习算法和竞争网络结构对深度Q网络DQN进行优化,以得到D3QN模型;
其中,所述D3QN模型包括四组全连接层,其中的第一组全连接层与第二组全连接层连接,并均用于处理输入的状态;所述第二组全连接层还分别连接第三组全连接层和第四组全连接层,所述第三组全连接层用于计算价值函数部分,所述第四组全连接层用于计算优势函数部分,所述第三组全连接层和所述第四组全连接层的计算结果之和产生对应的Q值。
在本申请的一些实施例中,所述深度强化学习智能体,包括:动作决策单元、分别与该动作决策单元连接的回报计算单元、参数更新单元和辅助负载均衡单元;
所述动作决策单元用于根据所述预训练数据进行模型训练;
所述回报计算单元用于根据所述动作决策单元输出的动作计算对应的奖励值,并将该奖励值存储至预设的经验回放池;
所述参数更新单元用于根据所述经验回放池进行所述D3QN模型的参数更新;
所述辅助负载均衡单元用于根据辅助负载均衡方法对所述动作决策单元输出的动作进行辅助负载均衡,其中,所述辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法。
本申请的另一个方面提供了一种跨域异构环境任务调度方法,包括:
接收针对跨域异构环境的任务调取请求;
根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;
其中,所述深度强化学习智能体预先应用所述的智能体训练方法训练得到。
在本申请的一些实施例中,所述根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配,包括:
获取所述深度强化学习智能体中的动作决策单元输出的动作;
基于所述深度强化学习智能体中的辅助负载均衡单元对所述动作决策单元输出的动作进行辅助负载均衡,得到优化后的决策结果,其中,所述辅助负载均衡单元采用的辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法;
根据所述优化后的决策结果在所述跨域异构环境中对所述目标任务进行资源分配。
本申请的另一个方面提供了一种深度强化学习智能体训练装置,包括:
数据获取模块,用于获取用于模拟真实的跨域异构环境中任务负载的预训练数据;
模型训练模块,用于根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
本申请的另一个方面提供了一种针对跨域异构环境的任务调度装置,包括:
请求接收模块,用于接收针对跨域异构环境的任务调取请求;
状态生成模块,用于根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
模型决策模块,用于将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;
其中,所述深度强化学习智能体预先应用所述的智能体训练方法训练得到。
本申请的另一个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的智能体训练方法,或者,实现所述的跨域异构环境任务调度方法。
本申请的另一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的智能体训练方法,或者,实现所述的跨域异构环境任务调度方法。
本申请提供的智能体训练方法,获取用于模拟真实的跨域异构环境中任务负载的预训练数据;根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得,本申请提供的智能体训练方法能够构建一种兼顾任务调度实时性和高效性的智能体,能够有效提高应用该智能体进行跨域异构环境中任务调度的时效性,能够增加整个任务调度系统的吞吐量并最大化利用跨域环境中提供的计算资源,以保证任务调度的结果兼顾任务处理的高效性和计算节点之间的负载均衡性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的智能体训练方法的总流程示意图。
图2为本申请一实施例中的智能体训练方法的一种具体流程示意图。
图3为本申请另一实施例中的跨域异构环境任务调度方法的总流程示意图。
图4为本申请另一实施例中的跨域异构环境任务调度方法的一种具体流程示意图。
图5为本申请另一实施例中的智能体训练装置的结构示意图。
图6为本申请另一实施例中的跨域异构环境任务调度装置的结构示意图。
图7为本申请应用实例提供的基于深度强化学习的跨域任务调度方法的技术路线图。
图8为本申请应用实例提供的深度强化学习D3QN模型网络结构示意图。
图9为本申请应用实例提供的深度强化学习智能体的任务调度流程图。
图10为本申请应用实例提供的基于阶梯负载均衡因子的辅助负载均衡方法的算法示例示意图。
图11为本申请应用实例提供的基于任务亲和度的辅助负载均衡方法的算法示例示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
在处理跨域异构环境中的任务调度问题时,现有的任务调度算法都存在不同程度的局限性:
1)传统任务调度算法,如短作业优先法,只能根据简单的任务特性(任务长度)进行基本的任务调度和实现基本的负载均衡,而无法高效处理高动态性表现的任务和有效利用分散异构的计算资源。
2)元启发式任务调度算法通常通过模拟自然界生物群体的行为来寻找近似最优解,但是这类算法在问题规模比较大的时候需要相当长的时间才能收敛,而这种等待延迟在实时任务调度场景下是不可接受的。
3)基于传统的机器学习的任务调度算法往往是基于某个特定的数据集训练得到一个预测模型,然后根据模型的预测结果来对任务进行调度。但是在真实世界的任务调度场景中,往往没有事先准备好的历史数据来进行训练。
4)基于传统强化学习的任务调度算法,如Q-learning、SARSA等算法,都需要维护一个Q表数据结构,这就导致当问题规模比较大时,Q表占用的内存过大而导致内存耗尽以及Q表难以收敛等问题。
5)基于深度强化学习的任务调度算法能克服传统强化学习Q表的局限性,但是现有的基于深度强化学习的任务调度算法往往只有单一的优化目标,只能优化提交任务的makespan,而不能同时优化节点间的负载均衡度和任务吞吐量等指标。
也就是说,无论是上述哪一种任务调度算法,均存在任务处理时间和等待时间长、调度系统的吞吐量低、节点间负载均衡度差或无法适应跨域异构环境中动态任务负载和异构计算资源的特性等问题。基于此,本申请实施例分别提供一种智能体训练方法、一种跨域异构环境任务调度方法、用于实现智能体训练方法的智能体训练装置、用于实现跨域异构环境任务调度方法的跨域异构环境任务调度装置、电子设备及存储介质,针对跨域异构的网络环境中任务负载的不确定性和计算节点之间的异构性,考虑在计算资源受限的情况下,使得任务调度算法的结果可以兼顾任务调度的实时性和高效性,达到降低任务处理时间目标的同时实现集群中资源的最大化利用,维持集群中节点间的负载均衡,提高调度系统的吞吐量的效果。
本申请是深度强化学习方法的创新应用,其关键思想在于根据跨域异构网络环境的特征构建任务调度问题的马尔可夫决策过程,进而应用基于改进深度强化学习的任务调度方法来对用户提交的任务进行资源分配。该方法能够在达到上述任务调度效果的同时,利用强化学习对环境的自学习特性,实现对环境中任务负载的自适应。即使调度环境中的任务负载发生变化,也无需领域专家进行人工干预,从而可以大大的节省人力成本和物力成本。
在本申请的一个或多个实施例中,强化学习RL(Reinforcement Learning)是指:强化学习又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
在本申请的一个或多个实施例中,深度强化学习DRL(Deep ReinforcementLearning,)是指:深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输入的图像进行控制,是一种更接近人类思维方式的人工智能方法。
在本申请的一个或多个实施例中,负载均衡(Load Balance)是指:其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
在本申请的一个或多个实施例中,跨域异构环境:跨域指计算集群所处的环境是在不同的网络自治域中,异构是指计算节点之间存在软件或者硬件上的差异。
在本申请的一个或多个实施例中,训练集是指:在机器学习中,一般将样本分成独立的两部分即训练集和测试集。其中,训练集用于建立模型。
在本申请的一个或多个实施例中,测试集是指:测试集用来检验最终选择最优的模型的性能如何。
在本申请的一个或多个实施例中,马尔可夫决策过程MDP(Markov DecisionProcess)是指:马尔可夫决策过程是序贯决策(sequential decision)的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报。在应用方面,MDP被用于机器学习中强化学习问题的建模。通过使用动态规划、随机采样等方法,MDP可以求解使回报最大化的智能体策略,并在自动控制、推荐系统等主题中得到应用。
在本申请的一个或多个实施例中,Q-learning是指:是强化学习的一种经典算法。它可以直接优化一个可迭代计算的Q函数,一种与模型无关的强化学习算法。
深度Q网络DQN(Deep Q-network)是指:DQN是指基于深度学习的 Q 学习算法,主要结合了值函数近似与神经网络技术,并采用了目标网络和经历回放的方法进行网络的训练。
具体通过下述多个实施例及应用实例进行详细说明。
基于此,为了实现减少任务处理时间和等待时间、增加调度系统的吞吐量和增强节点间负载均衡度的任务调度目标,同时能够适应跨域异构环境中动态任务负载和异构计算资源的特性,本申请实施例提供一种智能体训练方法,参见图1,所述智能体训练方法具体包含有如下内容:
步骤100:获取用于模拟真实的跨域异构环境中任务负载的预训练数据。
在步骤100中,预训练数据主要是作为对真实场景中任务负载的模拟用于对深度强化学习智能体的训练。数据的获取方式包括使用网络上的公开数据集、集群的历史数据采集或者手动模拟生成等几种方式。
步骤200:根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
可以理解的是,在执行步骤200之前,可以先初始化深度强化学习智能任务调度器的经验回放池,并设置回放池的容量大小,同时初始化各类网络参数。通过经验回放池的方式,智能体可以从过往的经验中进行学习,并且可以打破样本间的关联性,使得学习过程更加平滑,防止学习过程的参数震荡和参数发散。
在步骤200中,可以使用预训练数据对D3QN任务调度模型进行训练,得到训练好的D3QN任务调度模型。而后可以将生产环境中的待调度任务经过预处理后输入任务调度系统,任务调度系统通过D3QN任务调度智能体进行动作决策,并对调度得到的决策进行负载均衡调节,得到最终的任务调度策略。
在本申请的一个或多个实施例中,智能体与深度强化学习智能体指代相同。
其中,D3QN(Dueling Double Deep Q Network)模型是一种改进后的深度强化学习DQN模型,它在原始DQN的基础上,使用了Double Q-learning和竞争网络结构(DuelingNetwork Structures)等优化手段来对DQN进行优化,从而可以学习到更稳定的策略。
从上述描述可知,本申请实施例提供的智能体训练方法,通过采用深度强化学习智能体对针对所述跨域异构环境进行任务调度,能够有效提高应用该智能体进行跨域异构环境中任务调度的时效性,增加整个任务调度系统的吞吐量并最大化利用跨域环境中提供的计算资源;通过采用跨域异构环境的任务调度问题对应的马尔可夫决策过程,在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报,能够求解使回报最大化的智能体策略,有效提高智能体训练过程的有效性及训练得到的智能体的准确性,利用深度强化学习的自学习特性,使用基于深度强化学习的D3QN模型来处理跨域异构环境中的任务调度问题,能够有效提高智能体训练过程的可靠性及训练得到的智能体的应用稳定性,利用强化学习对环境的自学习特性,实现对环境中任务负载的自适应,保证计算节点之间的负载均衡性。即使调度环境中的任务负载发生变化,也无需领域专家进行人工干预,从而可以大大的节省人力成本和物力成本。
为了进一步提高训练深度强化学习智能体的有效性及可靠性,在本申请实施例提供的一种智能体训练方法中,参见图2,所述智能体训练方法中的步骤200之前还具体包含有如下内容:
步骤010:将所述跨域异构环境中的任务调度问题建模为马尔可夫决策过程,并设计对应的状态空间、动作空间及奖励函数,以形成该马尔可夫决策过程的四元组,所述四元组用于记录当前状态、动作、奖励和下一个状态;其中,所述奖励函数基于在所述跨域异构环境中进行任务调度的性能评价指标构建而得。
具体来说,将跨域异构环境中任务调度问题建模为马尔可夫决策过程,设计马尔可夫决策过程四元组(S,A,R,S'),并且给出四元组中状态空间、动作空间的定义以及奖励函数的设计。要根据跨域任务调度的性能评价指标进行奖惩函数的设计,如任务执行时间、任务排队时间、任务传输时间、集群负载状态等,使得深度强化学习的收敛目标向着性能最大化的方向前进。
为了进一步提高深度强化学习智能体的应用稳定性及时效性,在本申请实施例提供的一种智能体训练方法中,参见图2,所述智能体训练方法中的步骤200之间还具体包含有如下内容:
步骤020:基于双Q学习算法和竞争网络结构对深度Q网络DQN进行优化,以得到D3QN模型;其中,所述D3QN模型包括四组全连接层,其中的第一组全连接层与第二组全连接层连接,并均用于处理输入的状态;所述第二组全连接层还分别连接第三组全连接层和第四组全连接层,所述第三组全连接层用于计算价值函数部分,所述第四组全连接层用于计算优势函数部分,所述第三组全连接层和所述第四组全连接层的计算结果之和产生对应的Q值。
具体来说,构建深度强化学习D3QN(Dueling Double Deep Q Network)模型,并初始化模型参数。D3QN模型是改进的DQN模型,它在原始DQN的基础上,使用了Double Q-learning和竞争网络结构(Dueling Network Structures)等优化手段来对DQN进行优化,从而可以学习到更稳定的策略。
为了进一步保证应用深度强化学习智能体进行跨域异构环境任务调度的负载均衡,在本申请实施例提供的一种智能体训练方法中,所述智能体训练方法中的所述深度强化学习智能体,包括:动作决策单元、分别与该动作决策单元连接的回报计算单元、参数更新单元和辅助负载均衡单元;
所述动作决策单元用于根据所述预训练数据进行模型训练;
所述回报计算单元用于根据所述动作决策单元输出的动作计算对应的奖励值,并将该奖励值存储至预设的经验回放池;
所述参数更新单元用于根据所述经验回放池进行所述D3QN模型的参数更新;
所述辅助负载均衡单元用于根据辅助负载均衡方法对所述动作决策单元输出的动作进行辅助负载均衡,其中,所述辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法。
具体来说,基于马尔可夫决策过程和D3QN模型设计基于深度强化学习的跨域任务调度智能体,该智能体包括动作决策单元、回报计算单元、参数更新单元和辅助负载均衡单元。
基于上述智能体训练方法的实施例,为了进一步应用深度强化学习智能体进行跨域异构环境任务调度的应用时效性、准确性、增加整个任务调度系统的吞吐量并最大化利用跨域环境中提供的计算资源,本申请实施例还提供一种跨域异构环境任务调度方法中,参见图3,所述跨域异构环境任务调度方法具体包含有如下内容:
步骤300:接收针对跨域异构环境的任务调取请求;
步骤400:根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
步骤500:将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;其中,所述深度强化学习智能体预先应用所述的智能体训练方法训练得到。
从上述描述可知,本申请实施例提供的跨域异构环境任务调度方法,相比其他现有的任务调度算法,该方法能够根据跨域异构的网络环境中调度任务呈现动态性、异构的计算节点之间的性能差异性和跨域任务调度的延迟性等特性对用户提交的各类任务进行实时高效的调度,从而增加整个任务调度系统的吞吐量和最大化的利用跨域环境中提供的计算资源,并且能够保证任务调度的结果兼顾任务处理的高效性和计算节点之间的负载均衡性。
为了进一步保证应用深度强化学习智能体进行跨域异构环境任务调度的负载均衡,在本申请实施例提供的跨域异构环境任务调度方法中,参见图4,所述智能体训练方法中的步骤500具体包含有如下内容:
步骤510:将所述状态表示输入深度强化学习智能体,获取所述深度强化学习智能体中的动作决策单元输出的动作。
步骤520:基于所述深度强化学习智能体中的辅助负载均衡单元对所述动作决策单元输出的动作进行辅助负载均衡,得到优化后的决策结果,其中,所述辅助负载均衡单元采用的辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法。
步骤530:根据所述优化后的决策结果在所述跨域异构环境中对所述目标任务进行资源分配。
具体来说,在步骤520中,基于阶梯负载均衡因子的辅助负载均衡方法的思想是调度环境中的异构计算节点应依据节点自身性能而承担不同程度的任务负载。而基于任务亲和度的辅助负载均衡方法的思想是不同任务长度的任务对于调度环境中的异构计算节点的亲和度不同。任务长度越大的任务对于高性能计算节点亲和度越高,即该类任务更倾向于分配给高性能机器,而任务长度越小的任务对于低性能计算节点亲和度越高,即该类任务更倾向于分配给低性能机器。采用这种辅助负载均衡方法,可以对深度强化学习智能体给出的错误决策进行校正,避免任务长度较长的任务分配给低性能机器而导致任务处理时间过长从而降低任务处理效率的情况。
从软件层面来说,本申请还提供一种用于执行所述智能体训练方法中全部或部分内的智能体训练装置,参见图5,所述智能体训练装置具体包含有如下内容:
数据获取模块10,用于获取用于模拟真实的跨域异构环境中任务负载的预训练数据;
模型训练模块20,用于根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
本申请提供的智能体训练装置的实施例具体可以用于执行上述实施例中的智能体训练方法的实施例的处理流程,其功能在此不再赘述,可以参照上述智能体训练方法实施例的详细描述。
所述智能体训练装置进行智能体训练的部分可以在服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于智能体训练的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
从上述描述可知,本申请实施例提供的智能体训练装置,通过采用深度强化学习智能体对针对所述跨域异构环境进行任务调度,能够有效提高应用该智能体进行跨域异构环境中任务调度的时效性,增加整个任务调度系统的吞吐量并最大化利用跨域环境中提供的计算资源;通过采用跨域异构环境的任务调度问题对应的马尔可夫决策过程,在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报,能够求解使回报最大化的智能体策略,有效提高智能体训练过程的有效性及训练得到的智能体的准确性,利用深度强化学习的自学习特性,使用基于深度强化学习的D3QN模型来处理跨域异构环境中的任务调度问题,能够有效提高智能体训练过程的可靠性及训练得到的智能体的应用稳定性,利用强化学习对环境的自学习特性,实现对环境中任务负载的自适应,保证计算节点之间的负载均衡性。即使调度环境中的任务负载发生变化,也无需领域专家进行人工干预,从而可以大大的节省人力成本和物力成本。
从软件层面来说,本申请还提供一种用于执行所述针对跨域异构环境的任务调度方法中全部或部分内的针对跨域异构环境的任务调度装置,参见图6,所述针对跨域异构环境的任务调度装置具体包含有如下内容:
请求接收模块30,用于接收针对跨域异构环境的任务调取请求;
状态生成模块40,用于根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
模型决策模块50,用于将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;其中,所述深度强化学习智能体预先应用所述的智能体训练方法训练得到。
本申请提供的针对跨域异构环境的任务调度装置的实施例具体可以用于执行上述实施例中的针对跨域异构环境的任务调度方法的实施例的处理流程,其功能在此不再赘述,可以参照上述针对跨域异构环境的任务调度方法实施例的详细描述。
所述针对跨域异构环境的任务调度装置进行针对跨域异构环境的任务调度的部分可以在服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于针对跨域异构环境的任务调度的具体处理。
从上述描述可知,本申请实施例提供的跨域异构环境任务调度装置,能够根据跨域异构的网络环境中调度任务呈现动态性、异构的计算节点之间的性能差异性和跨域任务调度的延迟性等特性对用户提交的各类任务进行实时高效的调度,从而增加整个任务调度系统的吞吐量和最大化的利用跨域环境中提供的计算资源,并且能够保证任务调度的结果兼顾任务处理的高效性和计算节点之间的负载均衡性。
为了进一步说明本方案,本申请还提供一种包含有智能体训练方法及针对跨域异构环境的任务调度方法的具体应用实例,具体可为一种基于深度强化学习的跨域任务调度方法,涉及DRL应用领域、智能任务调度和负载均衡领域,参见图7,本申请应用实例提供的基于深度强化学习的跨域任务调度方法包含有如下内容:
步骤S1:预训练数据获取和环境配置。获取任务调度的预训练数据,这些数据主要是作为对真实场景中任务负载的模拟用于对深度强化学习智能体的训练。数据的获取方式包括使用网络上的公开数据集、集群的历史数据采集或者手动模拟生成等几种方式。
在本应用实例中,调度系统中共提供20个异构的计算节点,这些计算节点分属5个不同的网络自治域中,并且这20个计算节点的性能满足正态分布。本应用实例所使用的预训练数据和测试数据均来自Alibaba公司提供的公开数据集Alibaba Cluster Tracev2018。
步骤S2:跨域任务调度问题的马尔可夫决策过程的设计。将跨域异构环境中任务调度问题建模为马尔可夫决策过程设计马尔可夫决策过程四元组(S,A,R,S'),并且给出四元组中状态空间、动作空间的定义以及奖励函数的设计。要根据跨域任务调度的性能评价指标进行奖惩函数的设计,如任务执行时间、任务排队时间、任务传输时间、集群负载状态等,使得深度强化学习的收敛目标向着性能最大化的方向前进。
本应用实例的马尔可夫决策过程如下:
步骤S21:状态空间的设计。首先,马尔可夫决策过程的状态空间是所有的状态的集合:
Figure 741650DEST_PATH_IMAGE001
而对于每一个具体的状态
Figure DEST_PATH_IMAGE002
,状态
Figure 721107DEST_PATH_IMAGE002
包含两部分,一部分是待调度任务的状态
Figure 32003DEST_PATH_IMAGE003
,另一部分是当前调度时间点下集群的状态
Figure DEST_PATH_IMAGE004
Figure 256573DEST_PATH_IMAGE005
其中,待调度任务的状态
Figure 602104DEST_PATH_IMAGE003
包括当前待调度任务的任务耗费的CPU指令数(以MI计算,MI即Million Instructions)、任务的CPU占用率、任务占用的磁盘大小。
Figure DEST_PATH_IMAGE006
集群的状态
Figure 486883DEST_PATH_IMAGE007
包括当前时间点下每台计算节点所能提供的资源(包括节点的CPU计算能力MIPS、节点的主存容量、节点的带宽大小)、任务分配到该节点的所需等待时间以及节点的当前负载(即该节点当前处理的任务数)。
Figure DEST_PATH_IMAGE008
步骤S22:动作空间的设计。马尔可夫决策过程的动作空间即深度强化学习智能体所能采取的所有动作的集合。
Figure 816233DEST_PATH_IMAGE009
对于每一个具体的动作
Figure DEST_PATH_IMAGE010
,动作
Figure 280713DEST_PATH_IMAGE010
表示跨域任务调度集群中的一个具体的计算节点
Figure 480750DEST_PATH_IMAGE011
。在状态
Figure DEST_PATH_IMAGE012
选择动作
Figure 34966DEST_PATH_IMAGE010
,即表示将当前待调度任务分配给计算节点
Figure 320453DEST_PATH_IMAGE011
步骤S23:奖励函数的设计。马尔可夫决策过程的奖励函数用来计算在某状态
Figure 854203DEST_PATH_IMAGE012
采取某个动作
Figure 908747DEST_PATH_IMAGE010
后,深度强化学习智能体得到的奖励值。智能体会对每一个动作计算一个对应的奖励值,并且从中选择奖励值最大的动作作为最终执行的动作。在跨域异构环境中的任务调度问题中,为了达到降低任务处理时延和最大化集群资源利用的调度目标,本申请设计了如下奖励函数:
Figure DEST_PATH_IMAGE013
在该奖励函数中,
Figure DEST_PATH_IMAGE014
表示t时刻将某任务i分配给某台计算节点j后智能体得到的实时奖励;C为一个对数增强系数,用于确保对数计算的合法性;
Figure 135329DEST_PATH_IMAGE015
表示第i个任务的任务长度,
Figure DEST_PATH_IMAGE016
表示第i个任务的传输时间和执行时间的加权对数和,STD表示分配的计算节点的任务负载的加权标准差,而
Figure 206315DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE018
则是各计算项的权重系数。
其中,
Figure 543756DEST_PATH_IMAGE016
具体表示为:
Figure 921647DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE020
Figure 584710DEST_PATH_IMAGE021
公式中
Figure DEST_PATH_IMAGE022
表示第i个任务的传输时间,该时间也包括了跨域环境的网络传播时延,
Figure 375948DEST_PATH_IMAGE023
表示第i个任务的执行时间,
Figure DEST_PATH_IMAGE024
Figure 720342DEST_PATH_IMAGE025
分别是
Figure 248013DEST_PATH_IMAGE022
Figure 816398DEST_PATH_IMAGE023
Figure 298194DEST_PATH_IMAGE016
的贡献比例。通过合理设定
Figure 915121DEST_PATH_IMAGE024
Figure 798763DEST_PATH_IMAGE025
的值可以使得深度强化学习智能体很有效的处理不同类型的任务,比如IO密集型任务和计算密集型任务。
其中,STD具体表示为:
Figure DEST_PATH_IMAGE026
公式中
Figure 803628DEST_PATH_IMAGE027
表示第j个计算节点的分配任务数,
Figure DEST_PATH_IMAGE028
表示所有计算节点的加权分配任务数的均值,
Figure 569459DEST_PATH_IMAGE029
表示第j个计算节点的权重。
步骤S3:深度强化学习D3QN模型的构建。
本应用实例所用的D3QN模型是使用Double Q-learning方法和Dueling networkstructures方法改进的DQN模型。Double Q-learning方法通过改善DQN的Q-learning算法存在的Q值过估计问题,来使得Q-network的预测值更接近于真实值,从而提高学习的稳定性。Dueling network structures即竞争网络结构修改了原始DQN的网络结构,将每一个动作的Q值计算拆分为了价值函数部分和优势函数部分。通过应用这种结构,可以大幅提升学习效果,加速网络的收敛。本应用实例的D3QN的网络结构包含4组全连接层,前两组全连接层用于处理输入的状态,后面两组全连接层分别用于计算价值函数部分
Figure DEST_PATH_IMAGE030
和优势函数部分
Figure 757120DEST_PATH_IMAGE031
。最终Q值的计算即表示为二者之和:
Figure DEST_PATH_IMAGE032
其中,所述D3QN模型的模型网络结构如图8所示。
步骤S4:基于步骤S2设计的马尔可夫决策过程和步骤S3构建的深度强化学习D3QN模型,本应用实例设计了一个可解决跨域异构环境中任务调度问题的深度强化学习智能体。
进一步地,在步骤S4中,所述辅助负载均衡单元是为了更好地平衡调度集群的负载而对动作决策单元输出的动作进行辅助负载均衡的方法。本申请提出了两种用于跨域异构环境中的辅助负载均衡方法,分别是基于阶梯平衡因子的辅助负载均衡方法和基于任务亲和度的辅助负载均衡方法。
基于阶梯负载均衡因子的辅助负载均衡方法的思想是调度环境中的异构计算节点应依据节点自身性能而承担不同程度的任务负载。该方法的具体步骤是,首先对调度环境中的所有计算节点依据性能进行排序,此处性能主要关注机器的CPU计算能力,即
Figure 557586DEST_PATH_IMAGE033
。然后依据计算节点的性能范围划定阶梯范围,得到阶梯范围列表R,每个阶梯范围可以包含多个计算节点。统计各阶梯范围的计算节点的总分配任务数,得到一个阶梯任务列表M。设定阶梯平衡因子
Figure DEST_PATH_IMAGE034
Figure 733352DEST_PATH_IMAGE035
,对于每一个阶梯范围i,如果M[i] / M[i+1]<
Figure 393004DEST_PATH_IMAGE034
,则将当前任务分配给阶梯范围R[i]内的计算节点;如果 M[i] / M[i+1] >
Figure 148470DEST_PATH_IMAGE035
,则将当前任务分配给阶梯范围R[i+1]内的计算节点;如果两种情况都不满足,这说明当前任务分配满足阶梯平衡,将当前任务分配给最高阶梯范围的计算节点,即优先利用高性能的计算节点。
基于任务亲和度的辅助负载均衡方法的思想是不同任务长度的任务对于调度环境中的异构计算节点的亲和度不同。任务长度越大的任务对于高性能计算节点亲和度越高,即该类任务更倾向于分配给高性能机器,而任务长度越小的任务对于低性能计算节点亲和度越高,即该类任务更倾向于分配给低性能机器。采用这种辅助负载均衡方法,可以对深度强化学习智能体给出的错误决策进行校正,避免任务长度较长的任务分配给低性能机器而导致任务处理时间过长从而降低任务处理效率的情况。
通过深度强化学习智能体的辅助负载均衡单元,不但可以对智能体做出的决策进行辅助校正,避免出现任务分配的极端情况,从而获得更稳定的任务分配策略,还可以在模型训练时促进智能体对状态空间的探索,加速模型的收敛。
步骤S5:初始化深度强化学习智能任务调度器的经验回放池,并设置回放池的容量大小,同时初始化各类网络参数。通过经验回放池的方式,智能体可以从过往的经验中进行学习,并且可以打破样本间的关联性,使得学习过程更加平滑,防止学习过程的参数震荡和参数发散。
任务调度智能体初始时,会创建一个经验回放池,并指定回放池的容量大小。本应用实例中经验回放池大小为10000。经验回放池存储着过往任务调度的调度结果,包括每次任务调度的状态、每次调度采取的动作、每次调度获得的即时奖励和调度完成后的下一次状态。每次调度完成后,智能体会从经验回放池中随机抽取部分样本进行学习,通过反向传播的方式进行模型参数更新。其中随机抽取的目的是取消样本间的关联性,使得学习过程更加稳定,加速模型的收敛。
步骤S6:使用预训练数据对D3QN任务调度模型进行训练,得到训练好的D3QN任务调度模型。
步骤S7:将生产环境中的待调度任务经过预处理后输入任务调度系统,任务调度系统通过D3QN任务调度智能体进行动作决策,并对调度得到的决策进行负载均衡调节,得到最终的任务调度策略。
当用户向任务调度系统提交待调度任务后,任务调度系统工作的整体流程如下。
首先,任务调度系统根据用户提交的任务的信息和当前集群的负载信息,得到当前任务的马尔可夫决策过程的状态表示
Figure DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE038
智能体根据当前的状态
Figure 567557DEST_PATH_IMAGE039
进行动作决策,采取动作的策略为
Figure DEST_PATH_IMAGE040
策略,即:
Figure 117487DEST_PATH_IMAGE041
其中
Figure DEST_PATH_IMAGE042
值随着训练次数的增加逐次递减,直到到达
Figure 857910DEST_PATH_IMAGE043
Figure DEST_PATH_IMAGE044
通过
Figure 151488DEST_PATH_IMAGE040
策略,在训练的前期智能体会更多地采用随机的方式选择动作,这样可以实现对状态空间的探索,而在训练的后期智能体会更多地采用Q-network预测得到的动作,从而可以利用模型对过往经验的不断学习最终得到的更优更稳定的调度策略。
当智能体通过Q-network预测下一步动作时,需要计算采取每个动作对应的Q值,然后选择Q值最大的那一个作为最终决策动作。t时刻采取动作
Figure 129808DEST_PATH_IMAGE045
的Q值计算过程如下:
Figure DEST_PATH_IMAGE046
其中
Figure 381798DEST_PATH_IMAGE047
是Q-network预测得到的预测Q值,
Figure DEST_PATH_IMAGE048
是计算得到的实际Q值,该应用实例采用了Double Q-learning的方法来计算实际Q值以解决原来Q-learning算法的Q值过估计问题,
Figure 48665DEST_PATH_IMAGE049
Figure DEST_PATH_IMAGE050
以上公式中
Figure 942671DEST_PATH_IMAGE051
是未来奖励的衰减因子,
Figure DEST_PATH_IMAGE052
是在线网络的网络参数,
Figure 306657DEST_PATH_IMAGE053
是固定网络的网络参数,
Figure DEST_PATH_IMAGE054
是t时刻的即时奖励,由奖励函数计算得到:
Figure 932810DEST_PATH_IMAGE055
整个深度强化学习智能体的任务调度流程如图9所示。
当得到深度强化学习智能体根据动作决策单元得到应采取的动作之后,本应用实例采用了两种辅助负载均衡方法对智能体做出的部分动作进行校正。
第一种辅助负载均衡方法为基于阶梯负载均衡因子的辅助负载均衡方法。基于阶梯负载均衡因子的辅助负载均衡方法的思想是调度环境中的异构计算节点应依据节点自身性能而承担不同程度的任务负载。该方法的具体步骤是,首先对调度环境中的所有计算节点依据性能进行排序,此处性能主要关注机器的CPU计算能力,即
Figure DEST_PATH_IMAGE056
。然后依据计算节点的性能范围划定阶梯范围,得到阶梯范围列表R,每个阶梯范围可以包含多个计算节点。统计各阶梯范围的计算节点的总分配任务数,得到一个阶梯任务列表M。设定阶梯平衡因子
Figure 647825DEST_PATH_IMAGE057
Figure DEST_PATH_IMAGE058
,对于每一个阶梯范围i,如果M[i] / M[i+1] <
Figure 590197DEST_PATH_IMAGE057
,则将当前任务分配给阶梯范围R[i]内的计算节点;如果 M[i] / M[i+1] >
Figure 215214DEST_PATH_IMAGE058
,则将当前任务分配给阶梯范围R[i+1]内的计算节点;如果两种情况都不满足,这说明当前任务分配满足阶梯平衡,将当前任务分配给最高阶梯范围的计算节点,即优先利用高性能的计算节点。基于阶梯负载均衡因子的辅助负载均衡方法的算法示例如图10所示。
第二种辅助负载均衡方法为基于任务亲和度的辅助负载均衡方法。基于任务亲和度的辅助负载均衡方法的思想是不同任务长度的任务对于调度环境中的异构计算节点的亲和度不同。任务长度越大的任务对于高性能计算节点亲和度越高,即该类任务更倾向于分配给高性能机器,而任务长度越小的任务对于低性能计算节点亲和度越高,即该类任务更倾向于分配给低性能机器。采用这种辅助负载均衡方法,可以对深度强化学习智能体给出的错误决策进行校正,避免任务长度较长的任务分配给低性能机器而导致任务处理时间过长从而降低任务处理效率的情况。
基于任务亲和度的辅助负载均衡方法的算法示例如图11所示。
通过深度强化学习智能体的辅助负载均衡单元,不但可以对智能体做出的决策进行辅助校正,避免出现任务分配的极端情况,从而获得更稳定的任务分配策略,还可以在模型训练时促进智能体对状态空间的探索,加速模型的收敛。
综上所述,本申请应用实例的提出了一种基于深度强化学习的跨域任务调度方法,利用深度强化学习的自学习特性,使用基于深度强化学习的D3QN模型来处理跨域异构环境中的任务调度问题。基于跨域异构环境的任务调度问题,设计马尔可夫决策过程的四元组,包括状态空间的表示,动作空间的表示,奖励函数的设计。设计了基于任务亲和度的辅助负载均衡方法和基于阶梯平衡因子的辅助负载均衡方法,用于对深度强化学习智能体的动作决策进行校正,以促进智能体对环境的探索,加速模型收敛,从而获得更稳定的任务调度策略。
本申请实施例还提供了一种计算机设备(也即电子设备),该计算机设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的智能体训练方法或跨域异构环境任务调度方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。所述计算机设备与智能体训练装置之间通信连接,以自所述无线多媒体传感器网络中的传感器接收实时运动数据,并自所述视频采集装置接收原始视频序列。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的智能体训练方法或跨域异构环境任务调度方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的智能体训练方法或跨域异构环境任务调度方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的智能体训练方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述智能体训练方法或跨域异构环境任务调度方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种智能体训练方法,其特征在于,包括:
获取用于模拟真实的跨域异构环境中任务负载的预训练数据;
根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
2.根据权利要求1所述的智能体训练方法,其特征在于,在所述根据预训练数据对预设的深度强化学习智能体进行训练之前,还包括:
将所述跨域异构环境中的任务调度问题建模为马尔可夫决策过程,并设计对应的状态空间、动作空间及奖励函数,以形成该马尔可夫决策过程的四元组,其中,所述四元组用于记录当前状态、动作、奖励和下一个状态;
其中,所述奖励函数基于在所述跨域异构环境中进行任务调度的性能评价指标构建而得。
3.根据权利要求1所述的智能体训练方法,其特征在于,在所述根据预训练数据对预设的深度强化学习智能体进行训练之前,还包括:
基于双Q学习算法和竞争网络结构对深度Q网络DQN进行优化,以得到D3QN模型;
其中,所述D3QN模型包括四组全连接层,其中的第一组全连接层与第二组全连接层连接,并均用于处理输入的状态;所述第二组全连接层还分别连接第三组全连接层和第四组全连接层,所述第三组全连接层用于计算价值函数部分,所述第四组全连接层用于计算优势函数部分,所述第三组全连接层和所述第四组全连接层的计算结果之和产生对应的Q值。
4.根据权利要求1至3任一项所述的智能体训练方法,其特征在于,所述深度强化学习智能体,包括:动作决策单元、分别与该动作决策单元连接的回报计算单元、参数更新单元和辅助负载均衡单元;
所述动作决策单元用于根据所述预训练数据进行模型训练;
所述回报计算单元用于根据所述动作决策单元输出的动作计算对应的奖励值,并将该奖励值存储至预设的经验回放池;
所述参数更新单元用于根据所述经验回放池进行所述D3QN模型的参数更新;
所述辅助负载均衡单元用于根据辅助负载均衡方法对所述动作决策单元输出的动作进行辅助负载均衡,其中,所述辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法。
5.一种跨域异构环境任务调度方法,其特征在于,包括:
接收针对跨域异构环境的任务调取请求;
根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;
其中,所述深度强化学习智能体预先应用权利要求1至4任一项所述的智能体训练方法训练得到。
6.根据权利要求5所述的跨域异构环境任务调度方法,其特征在于,所述根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配,包括:
获取所述深度强化学习智能体中的动作决策单元输出的动作;
基于所述深度强化学习智能体中的辅助负载均衡单元对所述动作决策单元输出的动作进行辅助负载均衡,得到优化后的决策结果,其中,所述辅助负载均衡单元采用的辅助负载均衡方法包括:基于阶梯负载均衡因子的辅助负载均衡方法,或者,基于任务亲和度的辅助负载均衡方法;
根据所述优化后的决策结果在所述跨域异构环境中对所述目标任务进行资源分配。
7.一种深度强化学习智能体训练装置,其特征在于,包括:
数据获取模块,用于获取用于模拟真实的跨域异构环境中任务负载的预训练数据;
模型训练模块,用于根据预训练数据对预设的深度强化学习智能体进行训练,以使得该深度强化学习智能体用于对针对所述跨域异构环境进行任务调度,其中,所述深度强化学习智能体预先基于D3QN模型和所述跨域异构环境的任务调度问题对应的马尔可夫决策过程构建而得。
8.一种针对跨域异构环境的任务调度装置,其特征在于,包括:
请求接收模块,用于接收针对跨域异构环境的任务调取请求;
状态生成模块,用于根据所述任务调取请求对应的目标任务的任务信息及当前所述跨域异构环境的负载信息,生成所述目标任务的马尔可夫决策过程的状态表示;
模型决策模块,用于将所述状态表示输入深度强化学习智能体,并根据该深度强化学习智能体输出的决策结果在所述跨域异构环境中对所述目标任务进行资源分配;
其中,所述深度强化学习智能体预先应用权利要求1至4任一项所述的智能体训练方法训练得到。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的智能体训练方法,或者,实现如权利要求5或6所述的跨域异构环境任务调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的智能体训练方法,或者,实现如权利要求5或6所述的跨域异构环境任务调度方法。
CN202210663848.7A 2022-06-14 2022-06-14 智能体训练方法、跨域异构环境任务调度方法及相关装置 Active CN114757352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210663848.7A CN114757352B (zh) 2022-06-14 2022-06-14 智能体训练方法、跨域异构环境任务调度方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210663848.7A CN114757352B (zh) 2022-06-14 2022-06-14 智能体训练方法、跨域异构环境任务调度方法及相关装置

Publications (2)

Publication Number Publication Date
CN114757352A true CN114757352A (zh) 2022-07-15
CN114757352B CN114757352B (zh) 2022-09-23

Family

ID=82337024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210663848.7A Active CN114757352B (zh) 2022-06-14 2022-06-14 智能体训练方法、跨域异构环境任务调度方法及相关装置

Country Status (1)

Country Link
CN (1) CN114757352B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115293451A (zh) * 2022-08-24 2022-11-04 中国西安卫星测控中心 基于深度强化学习的资源动态调度方法
CN116566805A (zh) * 2023-07-10 2023-08-08 中国人民解放军国防科技大学 一种面向体系容灾抗毁的节点跨域调度方法、装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781614A (zh) * 2019-12-06 2020-02-11 北京工业大学 基于深度强化学习的舰载机出动回收在线调度方法
US20210004735A1 (en) * 2018-03-22 2021-01-07 Siemens Corporation System and method for collaborative decentralized planning using deep reinforcement learning agents in an asynchronous environment
CN113422795A (zh) * 2021-05-06 2021-09-21 江苏大学 一种基于深度强化学习的车载边缘任务集中调度与资源分配联合优化方法
CN113485826A (zh) * 2021-06-25 2021-10-08 中国电子科技集团公司第五十四研究所 一种边缘服务器负载均衡方法、系统
CN114048689A (zh) * 2022-01-13 2022-02-15 南京信息工程大学 基于深度强化学习的多无人机空中充电和任务调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004735A1 (en) * 2018-03-22 2021-01-07 Siemens Corporation System and method for collaborative decentralized planning using deep reinforcement learning agents in an asynchronous environment
CN110781614A (zh) * 2019-12-06 2020-02-11 北京工业大学 基于深度强化学习的舰载机出动回收在线调度方法
CN113422795A (zh) * 2021-05-06 2021-09-21 江苏大学 一种基于深度强化学习的车载边缘任务集中调度与资源分配联合优化方法
CN113485826A (zh) * 2021-06-25 2021-10-08 中国电子科技集团公司第五十四研究所 一种边缘服务器负载均衡方法、系统
CN114048689A (zh) * 2022-01-13 2022-02-15 南京信息工程大学 基于深度强化学习的多无人机空中充电和任务调度方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘星 等: "基于深度强化学习算法的财务机器人任务分配的研究", 《中国管理信息化》 *
刘晓平等: "基于Q学习的任务调度问题的改进研究", 《图学学报》 *
黄亭飞 等: "基于DQN的多类型拦截装备复合式反无人机任务分配方法", 《控制与决策》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115293451A (zh) * 2022-08-24 2022-11-04 中国西安卫星测控中心 基于深度强化学习的资源动态调度方法
CN115293451B (zh) * 2022-08-24 2023-06-16 中国西安卫星测控中心 基于深度强化学习的资源动态调度方法
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115237581B (zh) * 2022-09-21 2022-12-27 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN116566805A (zh) * 2023-07-10 2023-08-08 中国人民解放军国防科技大学 一种面向体系容灾抗毁的节点跨域调度方法、装置
CN116566805B (zh) * 2023-07-10 2023-09-26 中国人民解放军国防科技大学 一种面向体系容灾抗毁的节点跨域调度方法、装置

Also Published As

Publication number Publication date
CN114757352B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN114757352B (zh) 智能体训练方法、跨域异构环境任务调度方法及相关装置
CN111556461B (zh) 一种基于深度q网络的车载边缘网络任务分发卸载方法
Qi et al. Knowledge-driven service offloading decision for vehicular edge computing: A deep reinforcement learning approach
Zhang et al. Deep learning empowered task offloading for mobile edge computing in urban informatics
CN109669768B (zh) 一种面向边云结合架构的资源分配和任务调度方法
CN110365514B (zh) 基于强化学习的sdn多级虚拟网络映射方法和装置
CN111835827A (zh) 物联网边缘计算任务卸载方法及系统
CN111629380A (zh) 面向高并发多业务工业5g网络的动态资源分配方法
Huang et al. Toward decentralized and collaborative deep learning inference for intelligent iot devices
CN114172937A (zh) 基于深度强化学习的动态服务功能链编排方法及系统
CN112672382B (zh) 混合协作计算卸载方法、装置、电子设备及存储介质
CN115190033B (zh) 一种基于强化学习的云边融合网络任务卸载方法
Alghamdi et al. On the optimality of task offloading in mobile edge computing environments
Qi et al. Vehicular edge computing via deep reinforcement learning
CN114827284B (zh) 工业物联网中服务功能链编排方法、装置及联邦学习系统
Yamansavascilar et al. Deepedge: A deep reinforcement learning based task orchestrator for edge computing
Ebrahim et al. A deep learning approach for task offloading in multi-UAV aided mobile edge computing
Gao et al. Fast adaptive task offloading and resource allocation via multiagent reinforcement learning in heterogeneous vehicular fog computing
CN115913712A (zh) 基于多用户多接入点的任务卸载隐私保护系统及方法
CN116489226A (zh) 一种服务质量保障的在线资源调度方法
CN111211984A (zh) 优化cdn网络的方法、装置及电子设备
Hu et al. Dynamic task offloading in MEC-enabled IoT networks: A hybrid DDPG-D3QN approach
CN114090108A (zh) 算力任务执行方法、装置、电子设备及存储介质
Li et al. Optimal service selection and placement based on popularity and server load in multi-access edge computing
CN111385151A (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
CB03 Change of inventor or designer information

Inventor after: Sun Changyong

Inventor after: Zhu Daofei

Inventor after: Yang Tan

Inventor after: Xu Guoai

Inventor after: Liu Xinran

Inventor after: Wang Yanwei

Inventor after: Du Jiong

Inventor after: Zheng Yongbo

Inventor before: Sun Changyong

Inventor before: Yang Tan

Inventor before: Wang Yanwei

Inventor before: Du Jiong

Inventor before: Zheng Yongbo

CB03 Change of inventor or designer information