CN108139930B - 基于q学习的资源调度方法和装置 - Google Patents

基于q学习的资源调度方法和装置 Download PDF

Info

Publication number
CN108139930B
CN108139930B CN201680056785.1A CN201680056785A CN108139930B CN 108139930 B CN108139930 B CN 108139930B CN 201680056785 A CN201680056785 A CN 201680056785A CN 108139930 B CN108139930 B CN 108139930B
Authority
CN
China
Prior art keywords
state
action
value
combination
application
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
Application number
CN201680056785.1A
Other languages
English (en)
Other versions
CN108139930A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108139930A publication Critical patent/CN108139930A/zh
Application granted granted Critical
Publication of CN108139930B publication Critical patent/CN108139930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Feedback Control In General (AREA)

Abstract

一种基于Q学习的资源调度方法和装置,能够提高资源调度性能。该方法包括:根据应用的多个状态‑动作组合中的第一状态‑动作组合的回报值,将该第一状态‑动作组合对应的Q值更新为第一数值(S210),其中,该第一状态‑动作组合表示当该应用处于第一状态时执行第一动作,该第一状态为该应用在早于第一反馈周期的第二反馈周期所处的状态;根据该第一数值,更新该多个状态‑动作组合中的至少一个状态‑动作组合对应的Q值;在当前状态所对应的至少两个状态‑动作组合中,确定具有最大Q值的状态‑动作组合所对应的动作,其中,该当前状态为该应用在该第一反馈周期所处的状态;根据该确定的动作,对分配给该应用的资源数量进行调整处理(S230)。

Description

基于Q学习的资源调度方法和装置
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及基于Q学习的资源调度方法和装置。
背景技术
强化学习(reinforcement learning,又称再励学习,评价学习)是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。所谓强化学习就是智能***从环境到行为映射的学习,以使奖励值函数的值最大,强化学习中由环境提供的奖励值函数的值是对动作的好坏进行评价,而不是告诉强化学习***如何去产生正确的动作。由于外部环境提供的信息很少,强化学习必须靠自身的经历进行学习。通过这种方式,强化学习在行动-评价的环境中获得知识,改进行动方案以适应环境。而Q学习(Q-learning)方法则是强化学习中最经典的算法之一,是一种与模型无关的学习算法。
数据中心可以基于上述Q学习方法进行应用(Application)的资源调度。在基于Q学习的资源调度方法中,可以确定应用所处的当前状态,从该当前状态的所有候选动作(action)中选择具有最大Q值的目标动作,并执行该目标动作;然后,可以确定在该当前状态下执行该目标动作之后进入的下一状态,根据该下一状态的所有候选动作中的最大Q值,更新该当前状态下该目标动作的Q值。然而,在现有的基于Q学习的资源调度方法中,需要大量的反馈周期才能使得应用的各个状态下的候选动作对应的Q值达到稳定的收敛状态,其中,在收敛状态下,针对Q表中的大多数状态,最大的Q值所对应的动作不再发生改变,也就是说,当Q表达到收敛时,在同样的状态下,可以采取同样的动作。
发明内容
本发明实施例提供一种基于Q学习的资源调度方法和装置,能够提高资源调度性能。
第一方面,提供了一种基于Q学习的资源调度方法,包括:在第一反馈周期,根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将该第一状态-动作组合对应的Q值更新为第一数值,其中,该第一状态-动作组合表示当该应用处于第一状态时执行第一动作,该第一状态为该应用在早于该第一反馈周期的第二反馈周期所处的状态,该第一动作用于对分配给该应用的资源数量进行调整处理;在该第一反馈周期,根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值;在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,该当前状态为该应用在该第一反馈周期所处的状态;在该第一反馈周期,根据该确定的动作,对分配给该应用的资源数量进行调整处理。
可选地,应用在第二反馈周期处于第一状态,并且在第一状态下采取第一动作,则可以根据应用在第一反馈周期所处的当前状态,确定该第一状态-动作组合对应的回报值,并根据该回报值,更新该第一状态-动作组合对应的Q值。
在更新该第一状态-动作组合对应的Q值之后,还可以根据该第一状态-动作组合对应的更新后的Q值,即第一数值,更新该应用的不同于该第一状态-动作组合的至少一个状态-动作组合中每个状态-动作组合对应的Q值,能够提高该Q表的各个状态-动作组合对应的Q值的收敛速度,从而提升基于Q学习的资源调度性能。
在第一方面的第一种可能的实现方式中,该至少一个状态-动作组合包括第二状态-动作组合,该第二状态-动作组合表示当该应用处于该第一状态时执行不同于该第一动作的第二动作;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:根据该第一数值以及该第二动作相比于该第一动作对于分配给该应用的资源数量的调整方向,更新该第二状态-动作组合对应的Q值。
可选地,可以根据该第一状态-动作组合对应的更新后的Q值以及该第一动作与第二动作之间的内在逻辑关系,例如动作的调整幅度之间的大小关系,更新该第二状态-动作组合的Q值。
结合上述可能的实现方式,在第一方面的第二种可能的实现方式中,该根据该第一数值以及该第二动作相比于该第一动作对于分配给该应用的资源数量的调整方向,更新该第二状态-动作组合对应的Q值,包括:若该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向调整,将该第二状态-动作组合对应的Q值更新为小于该第一数值的数值;和/或若该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着减少数量的方向调整,将该第二状态-动作组合对应的Q值更新为大于该第一数值的数值。
可选地,若该回报值小于零并且该第二动作的调整幅度小于该第一动作的调整幅度,可以将该第二状态-动作组合对应的Q值更新为小于该第一数值的数值。
可选地,若该回报值小于零并且该第二动作的调整幅度大于该第一动作的调整幅度,可以将该第二状态-动作组合对应的Q值更新为大于该第一数值的数值。
结合上述可能的实现方式,在第一方面的第三种可能的实现方式中,该至少一个状态-动作组合还包括至少一个第三状态-动作组合,该第三状态-动作组合表示当该应用处于该第一状态时执行不同于该第一动作的动作;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:根据该第一数值,更新该至少一个第三状态-动作组合中每个第三状态-动作组合对应的Q值,以使得在以目标动作为起点且在朝着增加分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值单调性减小,和/或以使得在以该目标动作为起点且在朝着减少分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值单调性减小,其中,在该第一状态对应的所有状态-动作组合中,该目标动作与该第一状态构成的状态-动作组合对应的Q值最大。
可选地,对该至少一个第三状态-动作组合对应的Q值的更新可以使得整幅度大于目标动作的至少一个动作对应的状态-动作组合的更新后的Q值随着动作的调整幅度的增大而减小,和/或对该至少一个第三状态-动作组合对应的Q值的更新可以使得调整幅度小于目标动作的至少一个动作对应的状态-动作组合的更新后的Q值随着动作的调整幅度的增大而增大。
可选地,可以根据该第一状态-动作组合的更新后的Q值,更新该第一状态与至少一个其它动作构成的状态-动作组合所对应的Q值,以使得该第一状态对应的所有状态-动作组合的Q值满足单峰-同侧单调性。
结合上述可能的实现方式,在第一方面的第四种可能的实现方式中,该至少一个状态-动作组合包括第四状态-动作组合,该第四状态-动作组合表示当该应用处于不同于该第一状态的第二状态时执行该第一动作;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:根据该第一数值以及该第一状态和该第二状态的状态特征参数的值,更新该第四状态-动作组合对应的Q值。
可选地,可以根据该第一状态-动作组合的更新后的Q值以及该第一状态与该第二状态之间的内在逻辑关系,更新该第二状态与该第一动作构成的第四状态-动作组合对应的Q值。
结合上述可能的实现方式,在第一方面的第五种可能的实现方式中,该状态特征参数包括平均资源占用率;该根据该第一数值以及该第一状态和该第二状态的状态特征参数的值,更新该第四状态-动作组合对应的Q值,包括:根据该第一数值以及该第一状态和该第二状态的平均资源占用率的值,更新该第四状态-动作组合的Q值。
可选地,若该回报值小于零并且该第二状态的平均资源占用率的值高于该第一状态的平均资源占用率的值,将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
结合上述可能的实现方式,在第一方面的第六种可能的实现方式中,该状态特征参数包括平均资源占用变化率,其中,该平均资源占用变化率用于反映平均资源占用率的变化趋势;该根据该第一数值以及该第一状态和该第二状态的状态特征参数的值,更新该第四状态-动作组合对应的Q值,包括:根据该第一数值以及该第一状态和该第二状态的平均资源占用变化率的值,更新该第四状态-动作组合对应的Q值。
通过引入平均资源占用变化率来表征应用状态,能够更加准确的描述应用的状态,从而进一步提升基于Q学习的资源调度性能。
可选地,可以根据该应用在三个反馈周期内的平均资源占用率的值,例如应用在三个连续的反馈周期内的平均资源占用率的值,例如,该三个连续的反馈周期包括当前反馈周期以及该当前反馈周期的前两个反馈周期,确定该应用在当前反馈周期的平均资源利用变化率的值。
结合上述可能的实现方式,在第一方面的第七种可能的实现方式中,该根据该第一数值以及该第一状态和该第二状态的平均资源占用变化率的值,更新该第四状态-动作组合对应的Q值,包括:若该回报值小于零并且该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
结合上述可能的实现方式,在第一方面的第八种可能的实现方式中,该至少一个状态-动作组合还包括至少一个第五状态-动作组合,该第五状态-动作组合表示当该应用处于该第二状态时执行不同于该第一动作的动作;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值,还包括:当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合对应的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,根据该第四状态-动作组合对应的更新后的Q值,更新该至少一个第五状态-动作组合对应的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第三动作构成的状态-动作组合对应的Q值最大,其中,该第三动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
可选地,该第二状态与该第一状态的区别可以仅在于该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值。
可选地,当该回报值大于零并且该第一数值仍为该第一状态对应的所有状态-动作组合的Q值中的最大数值时,则可以更新该第二状态对应的一个或多个状态-动作组合的Q值,以使得在所有候选动作中,该第一动作或调整幅度高于该第一动作的动作与该第二状态构成的状态-动作组合的Q值最大。
结合上述可能的实现方式,在第一方面的第九种可能的实现方式中,该至少一个状态-动作组合还包括至少一个第六状态-动作组合,该第六状态-动作组合表示当该应用处于该第二状态时执行不同于该第一动作的动作;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值,还包括:当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用率的值大于该第一状态的平均资源占用率的值,根据该第四状态-动作组合对应的更新后的Q值,更新该至少一个第六状态-动作组合的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第四动作构成的状态-动作组合对应的Q值最大,其中,该第四动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
可选地,该第二状态与该第一状态的区别可以仅在于该第三状态的平均资源占用率的值高于该第一状态的平均资源占用率的值。
可选地,当该回报值大于零并且该第一数值仍为该第一状态对应的所有状态-动作组合的Q值中的最大数值时,则可以更新第三状态对应的一个或多个状态-动作组合的Q值,以使得在所有候选动作中,该第一动作或调整幅度高于该第一动作的动作与该第二状态构成的状态-动作组合的Q值最大。
结合上述可能的实现方式,在第一方面的第十种可能的实现方式中,该至少一个状态-动作组合还包括第七状态-动作组合,该第七状态-动作组合表示当该应用处于第三状态时执行该第一动作,其中,该第一状态、该第二状态和该第三状态之间的区别在于分配给该应用的资源数量的不同;该根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合的Q值,还包括:根据该第一数值和该第四状态-动作组合对应的更新后的Q值,利用插值法、外推法或多项式拟合确定该第七状态-动作组合的更新后的Q值。
可选地,可以利用插值法、外推法或多项式拟合以及该第一状态-动作组合的更新后的Q值,更新该第一动作与第三状态构成的状态-动作组合对应的Q值,其中,该第三状态与该第一状态的不同可以仅在于资源数量的不同。
结合上述可能的实现方式,在第一方面的第十一种可能的实现方式中,该方法还包括:若该至少一个状态-动作组合的数量在该多个状态-动作组合中所占的比例超过预设阈值,在该第一反馈周期,利用关联规则挖掘方法更新该多个状态-动作组合中尚未更新的状态-动作组合对应的Q值。
第二方面,提供了一种基于Q学习的资源调度装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,提供了另一种基于Q学习的资源调度装置,包括:非易失计算机可读存储介质和处理器,该非易失计算机可读存储介质用于存储指令,该处理器用于执行该非易失计算机可读存储介质存储的指令,并且当该处理器执行该非易失计算机可读存储介质存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种非易失计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术的基于Q学习的资源调度方法的示意性流程图。
图2为本发明实施例提供的基于Q学习的资源调度方法的示意性流程图。
图3为本发明实施例提供的方法中同一状态对应的状态-动作组合的Q值随着动作的变化曲线示意图。
图4为本发明实施例提供的基于Q学习的资源调度装置的示意性框图。
图5为本发明实施例提供的另一基于Q学习的资源调度装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于各种领域,例如数据中心的资源自适应调度领域。其中,该数据中心可以包括计算机集群,数据中心可以根据应用的负载变化情况等信息,实时调整分配给该应用的机器(例如虚拟机、容器等)数量,例如增加或减少资源数量,或保持机器数量不变,等等,以达到在有效满足应用需求的前提下提升数据中心的总体资源利用率的目的。
下面对本文中涉及到的基本概念进行简单介绍。
应用的状态:描述应用的当前运行情况,可以表示为S(M,U),其中M表示当前应用所使用的机器数量,其中,这里的机器可以包括物理机(Physical Machine,PM)、虚拟机(Virtual Machine,VM)和/或容器(Docker),等等,U可以表示应用当前所使用的机器集群中所有机器的平均资源占用率。
数据中心的资源:可以包括数据中心的计算资源、存储资源以及网络资源中的一种或多种。其中,计算资源可以表现为处理器或者处理器阵列,存储资源可表现为存储器以及存储器阵列,网络资源可表现为网络端口以及网络端口矩阵,等等。此外,对数据中心内应用资源的调度可以通过调整分配给该应用的机器数量来实现,等等。
动作:Q学习方法在数据中心集群中可以采取的各种动作,具体可以根据应用的负载情况设定。例如,当基于Q学习进行数据中心集群中的资源调度时,动作可以用于分配给应用的资源数量或机器数量进行调整,例如,减少机器数量、保持机器数量不变或增加机器数量,其中,动作对分配给应用的资源的具体调整数量可以根据实际需要设定,本发明的实施例中不加以限定。
奖励值函数(也称为回报值函数):可以用于确定状态-动作组合(S,A)的回报值(也称为奖励值),其中,状态-动作组合(S,A)可以表示当应用处于状态S时执行动作A,该回报值可以用于评价在应用处于状态S时执行动作A的效果,例如,如果回报值为正,则表明在采取该动作后该应用的服务水平目标(Service Level Objective,SLO)能够得到及时满足;如果回报值为负,则表明在采取该动作后应用的SLO不能得到满足。
作为举例,奖励值函数可以由下式表示:
Figure GPA0000253242670000101
其中,U可以表示应用当前使用的所有机器的平均资源占用率,p为配置参数,其默认设置为2,Tresp表示数据中心的99%响应时间百分比,其数值大于或等于该数据中心的99%的应用的响应时间,SLO可以表示99%响应时间百分比的服务水平目标,用于保障99%的应用都能得到及时响应。
Q值:用于衡量某个动作对于某个状态的累积回报,其更新可以由下式表示:
Figure GPA0000253242670000111
其中,c和γ为可调节参数,r(st,A)表示状态-动作组合(st,A)对应的回报值,其中,状态st可以为应用在t时刻所处的状态,Q(st,A)表示状态-动作组合(st,A)对应的Q值,
Figure GPA0000253242670000112
可以表示状态st+T的所有状态-动作组合对应的最大Q值,其中,状态st+T可以为应用在时刻t+T所处的状态,状态st+T的所有状态-动作组合可以为由状态st+T与所有可选动作A构成的状态-动作组合。
Q表:用于记录应用的所有可能状态和所有可选动作所组成的各种可能状态-动作组合的Q值。在表1所示的例子中,Q表的第1列表示可能的应用状态。Q表的第2列到第M+1列分别表示M个可选动作。Qij表示Q表中第i行、第j列的数值,具体表示由第i行的应用状态和第j列的动作组成的状态-动作组合对应的Q值,即在第i行的应用状态下采取第j列的动作所对应的Q值。
表1 Q表示例
状态/动作 动作1 动作2 ... 动作M
状态1 Q<sub>11</sub> Q<sub>12</sub> ... Q<sub>1M</sub>
... ... ... ... ...
状态N Q<sub>N1</sub> Q<sub>N2</sub> ... Q<sub>NM</sub>
具体地,可以首先对应用的Q表进行初始化,例如可以对该应用的Q表进行随机初始化或将Q表中的所有数值均初始化为固定数值,之后可以利用该应用的Q表对该应用进行资源调度。
图1示出了现有技术中对应用进行资源调度的方法100。在S110中,确定该应用在时刻t的所处的状态S。在S120中,查询Q表,以确定在状态S下的最大Q值所对应的动作A。在S130中,执行动作A,例如增加分配给该应用的机器数量、减少分配给该应用的机器数量或保持分配给该应用的机器数量不变。在S140中,在执行动作A以后,获取应用在时刻t+T的平均资源占用率,其中,T为***反馈周期。在S150中,利用该平均资源占用率和应用SLO等参数,计算在状态S下采取动作A的回报值。在S160中,查询Q表,以确定在该应用在t+T时刻所处的状态S′下的最大Q值,并且可以根据上述回报值、状态-动作组合(S,A)的Q值以及状态S′下的最大Q值,更新Q表中状态-动作组合(S,A)所对应的Q值。
然而,在现有技术中,在t+T时刻,仅更新状态-动作组合(S,A)对应的Q值,即更新该应用在t时刻所处的状态S对应的最大Q值。这样,需要大量的反馈周期进行更新,才能使得该应用的Q表达到稳定的收敛状态,而在该Q表达到收敛状态的过程中,基于该Q表进行的资源调度性能较差。
应理解,在本发明实施例中,术语“应用状态下的目标动作”可以具体指该应用状态对应的所有状态-动作组合中对应Q值最大的状态-动作组合的动作。
图2示出了本发明实施例提供的基于Q学习的资源调度方法200,为了便于理解,下面以某个反馈周期(即第一反馈周期或当前反馈周期)进行的资源调度为例对方法200进行描述,但本发明实施例不限于此。
S210,根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将该第一状态-动作组合对应的Q值更新为第一数值,其中,该第一状态-动作组合表示当该应用处于第一状态时执行第一动作,其中,该第一状态为该应用在早于该第一反馈周期的第二反馈周期所处的状态,该第一动作用于对分配给该应用的资源数量进行调整处理。
具体地,在第二反馈周期,应用可以处于第一状态,其中,该第二反馈周期早于该第一反馈周期,例如,该第二反馈周期为该第一反馈周期的前一反馈周期,但本发明实施例不限于此。
在第二反馈周期,可以执行第一动作,例如,在该第一状态对应的所有状态-动作组合中,该第一动作与该第一状态组成的第一状态-动作组合对应的Q值最大。该第一动作可以用于对分配给该应用的资源数量进行调整处理,其中,可选地,对分配给该应用的资源数量的调整可以通过对分配给该应用的机器数量进行调整来实现,例如,当该应用处于第一状态时,分配给该应用的机器数量为N0,则该第一动作可以用于在N0的基础上增加分配给该应用的机器数量,或者在N0的基础上减少分配给该应用的机器数量,或者保持分配给该应用的机器数量为N0。或者,对分配给该应用的资源数量的调整也可以通过其他方式实现,本发明实施例对此不做限定。
可选地,在第一反馈周期,可以确定该应用当前所处的状态,其中,该应用在第一反馈周期所处的状态可以称为当前状态,并且可以在该第一反馈周期确定该第一状态-动作组合对应的回报值。该第一状态-动作组合对应的回报值可以用于表示当该应用处于第一状态时执行第一动作的效果,可选地,该回报值可以由式(1)或其它方式确定,本发明实施例对此不做限定。
在该第一反馈周期,还可以根据该第一状态-动作组合对应的回报值,更新该第一状态-动作组合对应的Q值。例如,可以确定该当前状态对应的所有状态-动作组合的Q值中的最大值,并且根据该最大值和该第一状态-动作组合对应的回报值,确定该第一状态-动作组合对应的更新后的Q值,其中,可选地,该更新后的Q值可以由式(2)确定,但本发明实施例不限于此。
S220,根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值。
该至少一个状态-动作组合可以具体为一个或两个以上状态-动作组合,并且该至少一个状态-动作组合中的每个状态-动作组合可以不同于该第一状态-动作组合。例如,该至少一个状态-动作组合中的某个状态-动作组合对应的状态可以为第一状态,而该状态-动作组合对应的动作可以为不同于该第一动作的其它动作;或者,该至少一个状态-动作组合中的某个状态-动作组合对应的动作可以为该第一动作,而该状态-动作组合中的状态可以为不同于该第一状态的其它状态;或者,该至少一个状态-动作组合中的某个状态-动作组合中的动作可以为不同于该第一状态的其它状态,并且该状态-动作组合中的动作可以为不同于该第一动作的其它动作,但本发明实施例对此不做限定。
可选地,在更新了该至少一个状态-动作组合中每个状态-动作组合对应的Q值之后,可以根据该至少一个状态-动作组合以及该第一状态-动作组合分别对应的更新后的Q值,进行资源调度,即对分配给该应用的资源数量进行调整处理,则但本发明实施例不限于此。
S230,根据该应用的当前状态下的目标动作,对分配给该应用的资源数量进行调整处理,其中,该目标动作为该应用的当前状态所对应的至少两个状态-动作组合中对应Q值最大的动作。
具体地,可以首先在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,可选地,该当前状态对应的至少两个状态-动作组合可以具体为该当前状态对应的所有状态-动作组合。例如,假设该应用的Q表格式如表1所示,在该第一反馈周期,可以在该应用的Q表中查询该当前状态的对应行中的最大Q值,并将该最大Q值所对应的动作(即该最大Q值所在列对应的动作)确定为该当前状态下的目标动作。然后,可以执行该当前状态下的目标动作,以对分配给应用的资源数量进行调整处理,其中,该调整处理可以包括增加资源数量(例如增加机器数量)、减少资源数量(例如减少机器数量)或保持资源数量不变(例如保持机器数量不变),但本发明实施例不限于此。
作为一个可选实施例,该至少一个状态-动作组合可以包括由该当前状态构成的一个或两个以上状态-动作组合,此时,可选地,可以根据由该当前状态构成的状态-动作组合对应的更新后的Q值,确定该当前状态下的目标动作,但本发明实施例不限于此。
因此,根据本发明实施例的方法,通过在第一反馈周期,根据第一状态-动作组合对应的回报值,将该第一状态-动作组合对应的Q值更新为第一数值,并且在该第一反馈周期,根据该第一数值,更新该应用的不同于该第一状态-动作组合的至少一个状态-动作组合中每个状态-动作组合对应的Q值,使得该应用的多个状态-动作组合对应的Q值能够较快地得到收敛,从而基于Q学习的资源调度性能。
作为一个可选实施例,在本发明实施例中,可以对某一应用状态对应的状态-动作组合的Q值进行以下限定:该应用状态对应的部分或全部状态-动作组合的Q值可以满足单峰-同侧单调性原则,即满足单峰值特性以及峰值任意一侧的单调性。其中,单峰值特性可以具体指在该应用状态对应的所有状态-动作组合的Q值中,可以有且仅有一个最大值。峰值任意一侧的单调性可以指以该应用状态的目标动作为中心点,任意一侧的动作与该应用状态构成的状态-动作组合对应的Q值可以随着调整幅度单调性变化,其中,该应用状态的目标动作可以指该应用状态对应的所有状态-动作组合中Q值最大的动作,该目标动作的任意一侧可以指调整幅度小于该目标动作的一侧或调整幅度大于该目标动作的一侧。作为一个可选例子,动作的调整幅度可以具体以增加分配给该应用的资源数量为正方向,此时,动作的调整幅度的大小可以指动作对于分配给应用的资源的数量的增加多少。例如,用于增加分配给应用的资源数量的动作的调整幅度可以大于用于减少分配给应用的资源数量的动作的调整幅度,用于增加2个机器的动作的调整幅度可以大于用于增加1个机器的动作的调整幅度,用于减少1个机器的动作的调整幅度可以大于用于减少2个机器的动作的调整幅度,但本发明实施例不限于此。
满足上述单峰值特性以及峰值任意一侧的单调性的例子可以参见图3。具体地,在如图3所示的某个应用状态对应的Q值-调整幅度曲线示例中,调整幅度小于该应用状态的目标动作的至少一个动作的Q值可以随着调整幅度的增大而增大,而调整幅度大于该目标动作的至少一个动作的Q值可以随着调整幅度的增大而减小。或者,应用状态对应的状态-动作组合的Q值可以随着调整幅度的增大而单调性升高或降低,但本发明实施例不限于此。
可选地,在S220中,可以根据该第一数值,更新该第一状态对应的至少一个第三状态-动作组合对应的Q值,以使得该第一状态对应的部分或全部状态-动作组合满足上述单峰-同侧单调性条件。其中,第三状态-动作组合可以对应于该第一状态和不同于该第一动作的动作,即该第三状态-动作组合可以表示当该应用处于第一状态时执行不同于该第一动作的动作。可选地,该至少一个第三状态-动作组合可以具体为一个或两个以上由该第一状态构成的状态-动作组合,可以包括调整幅度大于该第一动作的动作与该第一状态构成的状态-动作组合,和/或包括调整幅度小于该第一动作的动作与该第一状态构成的状态-动作组合,本发明实施例对此不做限定。
作为一个可选例子,该至少一个第三状态-动作组合对应的Q值的更新可以使得该第一状态对应的所有状态-动作组合对应的Q值随着动作的调整幅度单调性增大或单调性减小,或者使得以该第一状态的目标动作为分界点,该第一状态对应的所有状态-动作组合对应的Q值随着动作的调整幅度先单调性增大后单调性减小。
具体地,以上述图3为例,上述对至少一个第三状态-动作组合对应的Q值的更新可以以以下方式进行:
在以第一状态的目标动作为起点,在朝着增加分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值可以单调性减小;和/或
在以该第一状态的目标动作为起点,在朝着减少分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值单调性减小。
作为另一个可选实施例,在S220中,可以根据该第一状态-动作组合的更新后的Q值(即第一数值),更新第二状态-动作组合对应的Q值,其中,该第二状态-动作组合可以表示当应用处于该第一状态时执行不同于该第一动作的第二动作。此时,可以根据该第一动作和该第二动作的调整幅度之间的大小关系,更新该第二状态-动作组合对应的Q值。
可选地,可以根据该第一状态-动作组合的回报值、该第一数值以及该第一动作和该第二动作的调整幅度之间的大小关系,更新该第二状态-动作组合对应的Q值,也就是说,可以根据该第一数值以及该第二动作相比于该第一动作对于分配给该应用的资源数量的调整方向,更新该第二状态-动作组合对应的Q值。
可选地,对于分配给该应用的资源数量的调整方向可以具体为增加数量的方向或减少数量的方向,本发明实施例对此不做限定。
作为一个可选实施例,在S220中,若该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向调整,将该第二状态-动作组合对应的Q值更新为小于该第一数值的数值。
具体地,如果该第一状态-动作组合的回报值小于零,表明在该第一状态下采取该第一动作之后,为应用分配的资源不足以满足应用的服务请求。这样,当应用处于该第一状态时,可以采取调整幅度大于该第一动作的动作,才有可能能够满足该应用的服务请求,即当应用处于第一状态时,可以采取相比于该第一动作用于增加分配给该应用的资源数量的动作。此时,可以将调整幅度大于该第一动作的一个或多个动作与该第一状态构成的状态-动作组合对应的Q值更新为大于该第一数值的数值,以使得当应用处于该第一状态时,可以采取调整幅度大于该第一动作的动作,但本发明实施例不限于此。
作为另一个可选实施例,如果该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着减少数量的方向调整,将该第二状态-动作组合对应的Q值更新为大于该第一数值的数值。
类似地,如果当应用处于该第一状态时,该第一动作不能满足应用的需求,则调整幅度小于该第一动作的动作更不能满足应用的需求。此时,可以将调整幅度小于该第一动作的一个或多个动作与该第一状态构成的状态-动组合的Q值更新为小于该第一数值的数值,以使得当应用处于该第一状态时,采取调整幅度小于该第一动作的动作的可能性小于采取该第一动作的可能性,但本发明实施例不限于此。
作为另一个可选实施例,在更新该第一状态-动作组合和该第二状态-动作组合对应的Q值之后,还可以根据该第一状态-动作组合对应的更新后的Q值(即第一数值)、该第二状态-动作组合对应的更新后的Q值以及上述单峰-同侧单调性原则,更新该第一状态与第三动作构成的第三状态-动作组合所对应的Q值,其中,该第一动作、该第二动作和该第三动作的调整幅度可以单调性变化,例如调整幅度逐渐增大或逐渐减小,即依次朝着增加分配给该应用的资源数量的方向上调整或依次朝着减少分配给该应用的资源数量的方向上调整。此时,可以更新该第一状态与该第三动作所构成的状态-动作组合所对应的Q值,以使得该第一状态与第一动作、第二动作和第三动作构成的状态-动作组合的更新后的Q值随着动作的调整幅度单调性变化,例如,可以使得该第一状态与第一动作、第二动作和第三动作构成的状态-动作组合的更新后的Q值在朝着增加分配给该应用的资源数量的方向上依次减小,但本发明实施例不限于此。
作为另一个可选实施例,该至少一个状态-动作组合可以包括第四状态-动作组合,该第四状态-动作组合可以表示当该应用处于不同于该第一状态的第二状态时执行该第一动作。此时,可以根据该第一状态和该第二状态之间的逻辑关系,更新该第四状态-动作组合对应的Q值。
作为一个可选实施例,在S220中,可以根据该第一数值以及该第一状态和该第二状态的状态特征参数的值,更新该第四状态-动作组合对应的Q值。
在本发明实施例中,状态特征参数可以用于表征应用的状态。例如,该状态特征参数可以包括资源数量(或机器数量)、平均资源占用率,或者还可以包括其它参数,本发明实施例对此不做限定。
可选地,可以根据该第一状态-动作组合的回报值、该第一数值和该第二状态的状态特征参数的值,更新该第四状态-动作组合的Q值。例如,可以根据该第一状态-动作组合的回报值、该第一数值以及第一状态与该第二状态的状态特征参数的值之间的大小关系,更新该第四状态-动作组合的Q值,但本发明实施例不限于此。
作为另一个可选实施例,该状态特征参数包括平均资源占用率。此时,可选地,可以根据该第一数值以及该第二状态的平均资源占用率的值,更新该第四状态-动作组合对应的Q值。例如,若该回报值小于零并且该第二状态的平均资源占用率的值高于该第一状态的平均资源占用率的值,可以将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
具体地,如果该第一状态-动作组合对应的回报值小于零,则表明在该第一状态下采取该第一动作之后,为该应用分配的资源不足以满足应用的服务请求。此时,如果第二状态与该第一状态的区别在于平均资源占用率的不同,例如,该第二状态与该第一状态具有相同的资源数量,由于更高的平均资源占用率意味着更少的可用资源,应用得不到及时服务的风险就越高,因此,如果在平均资源占用率高于该第一状态的平均资源占用率的第二状态下也采取该第一动作,应用的服务需求得不到满足的可能性会更高。相应地,可以将平均资源占用率高于该第一状态的第二状态与该第一动作构成的状态-动作组合所对应的Q值更新为小于该第一数值的数值,但本发明实施例不限于此。
作为另一个可选实施例,还可以引入平均资源占用变化率的概念来表征应用状态,其中,该平均资源占用变化率可以用于反映应用的平均资源占用率随时间变化的趋势。此时,可选地,***的应用状态可以表示为S(M,U,R),其中,M可以表示机器数量,U可以表示平均资源占用率,R可以表示平均资源占用变化率,但本发明实施例不限于此。
可选地,应用的平均资源占用变化率可以由该应用在至少三个反馈周期的平均资源占用率的数值确定。例如,若应用在t-2T时刻的平均资源占用率为Ut-2T,在t-T时刻的平均资源占用率为Ut-T,并且在t时刻的平均资源占用率为Ut,则可以根据Ut-2T、Ut-T和Ut,确定应用在t时刻的平均资源占用变化率。作为一个可选例子,可以以如下方式设置应用的平均资源占用变化率的数值:应用的平均资源占用率越朝着增大的趋势变化,应用的平均资源占用变化率的值越大。例如,如果应用的平均资源占用率在至少三个反馈周期内连续降低,即Ut-2T>Ut-T并且Ut-T>Ut,则应用在t时刻的平均资源占用变化率的值可以为-1;如果应用的平均资源占用率在至少三个反馈周期内既有上升又有下降,呈现非单调性变化趋势,即Ut-2T>Ut-T并且Ut-T<Ut,或者Ut-2T>Ut-T并且Ut-T<UT,则应用在t时刻的平均资源占用变化率的值可以为0;如果应用的平均资源占用率在至少三个反馈周期内连续升高,即Ut-2T<Ut-T并且Ut-T<Ut,则应用在t时刻的平均资源占用变化率的值可以为+1。可选地,也可以以其它方式设置应用的平均资源占用变化率,或者将其设置为其它数值,本发明实施例对此不做限定。
可选地,如果状态特征参数包括平均资源占用变化率,则可以根据该第一数值以及第二状态的平均资源占用变化率的值,更新该第四状态-动作组合对应的Q值。作为一个可选实施例,可以根据该第一数值以及该第一状态和该第二状态的平均资源占用变化率的值之间的大小关系,更新该第四状态-动作组合对应的Q值。例如,若该回报值小于零并且该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
具体地,假设平均资源占用变化率的数值越大表明应用的平均资源占用率越朝着增大的趋势变化,如果该第一状态-动作组合对应的回报值小于零,则可以表明在应用处于该第一状态时采取该第一动作之后,为应用分配的资源不足以满足应用的服务请求。此时,如果第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,而该第二状态与该第一状态的其它状态特征参数的值相同,例如具有相同的机器数量和相同的平均资源占用率,相比于该第一状态,该应用在该第二状态下的平均资源占用率的值朝着越来越小的方向变化,此时,如果在平均资源占用变化率的值高于该第一状态的第二状态下也采取该第一动作,应用的服务需求得不到满足的可能性更高。因此,可以将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值,但本发明实施例不限于此。
这样,通过引入平均资源占用变化率来表征应用状态,能够更加准确的描述和区分应用的不同状态,从而进一步提升基于Q学习的资源调度性能。
作为另一个可选实施例,该状态特征参数可以包括资源数量,其中,该资源数量可以具体体现为机器数量。此时,可选地,可以根据该第一数值以及该第二状态的资源数量,更新该第四状态-动作组合对应的Q值。
作为一个可选实施例,可以根据该数值以及该第一状态和该第二状态的机器数量之间的大小关系,更新该第四状态-动作组合对应的Q值。
可选地,在本发明实施例中,在更新了该第四状态-动作组合对应的Q值之后,还可以根据该第一数值以及该第四状态-动作组合对应的更新后的Q值,更新其它状态-动作组合所对应的Q值。
作为一个可选实施例,可以根据该第一数值以及该第四状态-动作组合对应的更新后的Q值,更新由第三状态与该第一动作构成的第七状态-动作组合所对应的Q值,其中,该第三状态不同于该第一状态和该第二状态。
可选地,如果该第一状态、第二状态和该第三状态的区别在于资源数量的不同,例如具体为机器数量的不同,则可以根据该第一数值以及该第四状态-动作组合对应的更新后的Q值,利用插值法、外推法或多项式拟合,更新该第七状态-动作组合对应的Q值。
作为一个可选例子,假设应用在处于该第一状态、该第二状态和第三状态时分配的机器数量分别为N、N+2和N+1,则可以根据该第一数值以及该第四状态-动作组合对应的更新后的Q值,利用插值法得到该第七状态-动作组合的更新后的Q值QN+1,例如,QN+1=(QN+QN+2)/2,其中,QN表示第一数值,QN+2表示该第四状态-动作组合对应的更新后的Q值。
作为另一个可选例子,假设状态-动作组合对应的Q值y与应用状态下的机器数量x之间满足以下函数关系:y=a1x2+a2x+a3,其中,a1、a2和a3为常数,则可以根据该第一数值和该第四状态-动作组合对应的更新后的Q值,确定a1、a2和a3的数值,例如利用最小二乘法确定a1、a2和a3的数值,进而根据该多项式以及应用在该第三状态下分配的机器数量,确定该第七状态-动作组合对应的更新后的Q值,但本发明实施例不限于此。
作为另一个可选实施例,在S220中,可以根据该第四状态-动作组合对应的更新后的Q值,更新至少一个第五状态-动作组合所对应的Q值,其中,第五状态-动作组合可以由该第二状态和不用于该第一动作的动作构成。
作为一个可选例子,当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合对应的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,可以根据该第四状态-动作组合对应的更新后的Q值,更新至少一个第五状态-动作组合对应的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第三动作构成的状态-动作组合对应的Q值最大,其中,该第三动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
具体地,如果该第一状态-动作组合对应的回报值大于零,并且该第一状态-动作组合的更新后的数值(即第一数值)仍为该第一状态的所有状态-动作组合中的最大Q值,则可以表明应用更倾向于增加资源数量。此时,在平均资源占用率的值高于该第一状态的第二状态下,也可以采取该第一动作或采取调整幅度高于该第一动作的动作,但本发明实施例不限于此。
作为另一个可选例子,当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用率的值大于该第一状态的平均资源占用率的值,可以根据该第四状态-动作组合对应的更新后的Q值,更新至少一个第五状态-动作组合的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第四动作构成的状态-动作组合对应的Q值最大,其中,该第四动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
具体地,如果该第一状态-动作组合对应的回报值大于零,并且该第一数值仍为该第一状态的所有状态-动作组合中的最大Q值,则可以表明应用更倾向于增加资源数量。此时,在平均资源占用变化率的值高于该第一状态的第二状态下,也可以采取该第一动作或采取调整幅度高于该第一动作的动作,但本发明实施例不限于此。
下面将结合具体例子对本发明实施例提供的基于Q学***均资源占用率,R表示应用的平均资源占用变化率,其中,应用状态的平均资源占用率以10%为单位,共有10个不同范围的平均资源占用率,平均资源占用变化率的值可以为+1、0和-1,可以采用的候选动作可以包括:减少2台机器(可以表示为-2)、减少1台机器(可以表示为-1)、保持机器数量不变(可以表示为0)、增加1台机器(可以表示为+1)和增加2台机器(可以表示为+2)。
此外,假设该第二反馈周期具体为t时刻,并且该第一反馈周期为t+T时刻。具体地,在t时刻,该应用的平均资源占用率的值为55%,机器数量为20,应用在t-2T时刻和t-T时刻的平均资源占用率的值分别为50%和60%。
1、可以确定应用在t时刻所处的第一状态。
具体地,可以根据应用分别在t时刻、t-T时刻和t-2T时刻的平均资源占用率的值,确定应用在t时刻的平均资源占用变化率的值。由上可知,应用在t-2T时刻、t-T时刻和t时刻的平均资源占用率分别为50%、60%和55%,表明应用在t-2T时刻的平均资源占用率的值低于在t-T时刻的平均资源占用率的值,并且在t-T时刻的平均资源占用率的值高于应用在t时刻的平均资源占用率的值,此时,可选地,可以将应用在t时刻的平均资源占用变化率的值确定为0。
可以根据该应用在t时刻对应的机器数量、平均资源占用率的值以及平均资源占用变化率的值,查询Q表,以确定该应用在t时刻所处的第一状态。这里假设该第一状态具体为应用的状态1,并且状态1与各个候选动作所构成的状态-动作组合的当前Q值可以如表2所示。
表2 状态1与各个候选动作构成的状态-动作组合的Q值示例
Figure GPA0000253242670000221
2、由表2可以看出,在各个候选动作中,动作+1与状态1构成的状态-动作组合对应的Q值最大,相应地,可以将动作+1确定为该状态1的目标动作,并且执行该目标动作。
3、可以根据应用在t+T时刻的平均资源占用率的值和/或其它参数,确定在状态1下采取动作+1(即状态-动作组合(状态1,+1))所对应的回报值。此外,可以根据应用在t+T时刻、t时刻以及t-T时刻的平均资源占用率的值,确定应用在t+T时刻的平均资源占用变化率的值,并由此确定应用在t+T时刻所处的当前状态。进一步地,可以根据应用在t+T时刻所处的当前状态以及状态-动作组合(状态1,+1)对应的回报值,更新状态-动作组合(状态1,+1)对应的Q值。这里假设该状态-动作组合(状态1,+1)的更新后的Q值为-1,但本发明实施例不限于此。
4、可以根据状态-动作组合(状态1,+1)的更新后的Q值,更新该应用的其它状态-动作组合对应的Q值。
可选地,可以通过查询表2,确定该状态1对应的状态-动作组合的Q值是否满足单峰-同侧单调性原则。具体地,假设(状态1,+1)的更新后的Q值为-1,则动作+1仍为状态1的目标动作,即在各种候选动作中,动作+1与状态1构成的状态-动作组合对应的Q值最大,则可以确定动作+1所在列的两侧是否满足同侧单调性远侧。由表2可知,动作-2、动作-1和动作0所对应的Q值不满足同侧单调性原则,则可以对动作-1或-2所对应的Q值进行更新,例如,如表3所示,可以将动作-2对应的Q值更新为-20-α1,其中,α1>0,但本发明实施例不限于此。
表3 状态1对应的各个状态-动作组合的更新后的Q值示例
Figure GPA0000253242670000231
可选地,可以根据状态-动作组合(状态1,+1)对应的回报值和更新后的Q值,更新状态1与其它动作构成的状态-动作组合对应Q值。假设状态-动作组合(状态1,+1)对应的回报值为负数,则可选地,该可以更新状态1与其它动作构成的状态-动作组合对应Q值,以使得该第一状态对应的状态-动作组合的Q值随着动作的调整幅度的增大而增大。具体地,可以将调整幅度小于动作+1的动作(即动作+2)与状态1所构成的状态-动作组合的Q值更新为大于-1的数值,将调整幅度小于动作+1的动作与状态1所构成的状态-动作组合的Q值更新为小于-1的数值。例如,如表4所示,可以将动作+2的Q值更新为-1+α2,其中,α2>0,由于动作0、-1和-2的当前Q值已经小于-1,则可以不对其进行进一步更新。
表4 状态1对应的各个状态-动作组合的更新后的Q值示例
Figure GPA0000253242670000232
可选地,可以根据该状态-动作组合(状态1,+1)的更新后的Q值,更新其他状态对应的状态-动作组合的Q值。
具体地,假设状态-动作组合(状态1,+1)的回报值为负数,则可以更新动作+1与其它状态构成的状态-动作组合对应的Q值。
作为一个可选例子,假设状态-动作组合(状态1,+1)的回报值为负数,则可以更新平均资源占用率或平均资源占用变化率高于状态1的其它状态与动作+1构成的状态-动作组合所对应的Q值,以使得该平均资源占用率或平均资源占用变化率高于状态1的其它状态与该动作+1构成的状态-动作组合的更新后的Q值高于-1。
例如,可以更新机器数量为20、平均资源占用变化率为0以及平均资源占用率高于50%-60%的至少一个状态与动作+1构成的状态-动作组合对应的Q值,以使得该至少一个状态与该动作+1构成的状态-动作组合的更新后的Q值随着状态的平均资源占用率的升高而降低。在表5所示的例子中,可以将状态2至状态5与动作+1构成的状态-动作组合的Q值分别更新为-1-α3、-1-2α3、-1-3α3和-1-4α3,其中,α3>0,但本发明实施例不限于此。
表5 具有不同平均资源占用率的状态与动作+1构成的状态-动作组合的更新后的Q值示例
状态/动作 +1
状态1(20,50%-60%,0) -1
状态2(20,60%-70%,0) -1-α<sub>3</sub>
状态3(20,70%-80%,0) -1-2α<sub>3</sub>
状态4(20,80%-90%,0) -1-3α<sub>3</sub>
状态5(20,90%-100%,0) -1-4α<sub>3</sub>
再例如,可以更新机器数量为20、平均资源占用率为50%-60%以及平均资源占用变化率高于0的至少一个状态与动作+1构成的状态-动作组合所对应的Q值,以使得该至少一个状态与该动作+1构成的状态-动作组合的更新后的Q值随着状态的平均资源占用变化率的升高而降低。在表6所示的例子中,可以将状态6与动作+1构成的状态-动作组合对应的Q值保持其当前值205不变,而将状态7与动作+1构成的状态-动作组合对应的Q值更新为-1-α4,其中,α4>0,但本发明实施例不限于此。
表6 具有不同平均资源占用变化率的状态与动作+1构成的状态-动作组合的更新后的Q值示例
状态/动作 +1
状态6(20,50%-60%,-1) 2.05
状态1(20,50%-60%,0) -1
状态7(20,50%-60%,+1) -1-α<sub>4</sub>
作为另一个可选例子,在更新了动作+1与状态1以及至少一个其它状态所构成的状态-动作组合的Q值之后,可以利用插值法更新具有不同机器数量的其它状态与动作+1构成的状态-动作组合所对应的Q值。例如,如表7所示,假设已知状态-动作组合(状态9,动作+1)对应的更新后的Q值为2,则可以利用插值法确定状态-动作组合(状态8,动作+1)的更新后的Q值:(-1+2)/2=0.5,但本发明实施例对此不做限定。
表7 具有不同机器数量的状态与动作+1构成的状态-动作组合的更新后的Q值示例
状态/动作 +1
状态1(20,50%-60%,0) -1
状态8(21,50%-60%,0) 0.5
状态9(22,50%-60%,0) 2
再例如,在更新了动作+1与状态1以及至少一个其它状态所构成的状态-动作组合的Q值之后,可以利用动作+1所在列中当前已更新的Q值,进行多项式函数拟合,并且利用拟合得到的多项式函数,更新动作+1所在列中尚未更新的Q值,但本发明实施例不下于此。
可选地,假设状态-动作组合(状态1,+1)的回报值为正数,并且-1仍大于其它动作与状态1构成的状态-动作组合的Q值,则可以更新平均资源占用率或平均资源占用变化率高于状态1的其它状态所在行的Q值,以使得动作+1或调整幅度更大的动作是该其它状态的目标动作,即在该其它状态下,动作+1或调整幅度大于+1的动作所对应的Q值最大,但本发明实施例不限于此。
可选地,当该应用的Q表中已更新的Q值数量较多,达到关联规则挖掘的触发条件,例如Q表中已更新的Q值在Q表中所有Q值中所占的比例超过预设阈值,则可以利用关联规则挖掘方法推断Q表中尚未更新的Q值。其中,关联规则通过量化的数字描述物品A的出现对物品B的出现有多大的影响,可以用于描述在一个事务中多个物品之间同时出现的规律的知识模式。例如,可以利用关联规则挖掘,通过计算Q值在各个动作上的支持度,来推断某一动作在某一状态下的Q值,但本发明实施例不限于此。
应注意,表2至表7的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的表2至表7的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图3,详细描述了根据本发明实施例的基于Q学习的资源调度方法,下面将结合图4至图5,详细描述根据本发明实施例的基于Q学习的资源调度装置。
图4示出了本发明实施例提供的基于Q学习的资源调度装置300,该装置300包括:
第一处理单元310,用于根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将该第一状态-动作组合对应的Q值更新为第一数值,其中,该第一状态-动作组合表示当该应用处于第一状态时执行第一动作,其中,该第一状态为该应用在早于该第一反馈周期的第二反馈周期所处的状态,该第一动作用于对分配给该应用的资源数量进行调整处理,以及根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值;
第二处理单元320,用于在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,该当前状态为该应用在该第一反馈周期所处的状态;
第三处理单元330,用于在该第一反馈周期,根据该第二处理单元320确定的动作,对分配给该应用的资源数量进行调整处理。
可选地,该至少一个状态-动作组合包括第二状态-动作组合,该第二状态-动作组合表示当该应用处于该第一状态时执行不同于该第一动作的第二动作;此时,该第一处理单元310可以具体用于根据该第一数值以及该第二动作相比于该第一动作对于分配给该应用的资源数量的调整方向,更新该第二状态-动作组合对应的Q值。
可选地,该第一处理单元310具体用于:若该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向调整,将该第二状态-动作组合对应的Q值更新为小于该第一数值的数值。
可选地,该第一处理单元310具体用于:若该回报值小于零并且该第二动作相比于该第一动作对分配给该应用的资源数量朝着减少数量的方向调整,将该第二状态-动作组合对应的Q值更新为大于该第一数值的数值。
可选地,该至少一个状态-动作组合还包括至少一个第三状态-动作组合,该第三状态-动作组合表示当该应用处于该第一状态时执行不同于该第一动作的动作。此时,该第一处理单元310可以具体用于:
根据该第一数值,更新该至少一个第三状态-动作组合中每个第三状态-动作组合对应的Q值,以使得在以目标动作为起点且在朝着增加分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值单调性减小,和/或以使得在以该目标动作为起点且在朝着减少分配给该应用的资源数量的方向上,该第一状态对应的状态-动作组合对应的Q值单调性减小,其中,在该第一状态对应的所有状态-动作组合中,该目标动作与该第一状态构成的状态-动作组合对应的Q值最大。
可选地,该至少一个状态-动作组合包括第四状态-动作组合,该第四状态-动作组合表示当该应用处于不同于该第一状态的第二状态时执行该第一动作。此时,该第一处理单元310可以具体用于:根据该第一数值以及该第一状态和该第二状态的状态特征参数的值,更新该第四状态-动作组合对应的Q值。
可选地,该状态特征参数包括平均资源占用率;此时,可以根据该第一数值以及该第一状态和该第二状态的平均资源占用率的值,更新该第四状态-动作组合对应的Q值。
可选地,该第一处理单元310可以具体用于:若该回报值小于零并且该第二状态的平均资源占用率的值高于该第一状态的平均资源占用率的值,将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
可选地,该状态特征参数包括平均资源占用变化率,其中,该平均资源占用变化率用于反映平均资源占用率的变化趋势。此时,该第一处理单元310可以具体用于:根据该第一数值以及该第一状态和该第二状态的平均资源占用变化率的值,更新该第四状态-动作组合对应的Q值。
作为一个可选实施例,该第一处理单元310具体用于:若该回报值小于零并且该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,将该第四状态-动作组合对应的Q值更新为小于该第一数值的数值。
可选地,该至少一个状态-动作组合还包括至少一个第五状态-动作组合,该第五状态-动作组合表示当该应用处于该第二状态时执行不同于该第一动作的动作。此时,该第一处理单元310可以具体用于:
当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合对应的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用变化率的值高于该第一状态的平均资源占用变化率的值,根据该第四状态-动作组合对应的更新后的Q值,更新该至少一个第五状态-动作组合对应的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第三动作构成的状态-动作组合对应的Q值最大,其中,该第三动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
可选地,该至少一个状态-动作组合还包括至少一个第六状态-动作组合,该第六状态-动作组合表示当该应用处于该第二状态时执行不同于该第一动作的动作。此时,该第一处理单元310可以具体用于:
当该回报值大于零并且该第一数值为该第一状态对应的所有状态-动作组合的Q值中的最大数值时,若该第一状态和该第二状态的区别在于该第二状态的平均资源占用率的值大于该第一状态的平均资源占用率的值,根据该第四状态-动作组合对应的更新后的Q值,更新该至少一个第六状态-动作组合的Q值,以使得在该第二状态对应的所有状态-动作组合中,该第四状态-动作组合或由该第二状态与第四动作构成的状态-动作组合对应的Q值最大,其中,该第四动作相比于该第一动作对分配给该应用的资源数量朝着增加数量的方向进行调整。
可选地,该至少一个状态-动作组合还包括第七状态-动作组合,该第七状态-动作组合表示当该应用处于第三状态时执行该第一动作,其中,该第一状态、该第二状态和该第三状态之间的区别在于分配给该应用的资源数量的不同。此时,该第一处理单元310可以具体用于:根据该第一数值和该第四状态-动作组合对应的更新后的Q值,利用插值法、外推法或多项式拟合确定该第七状态-动作组合的更新后的Q值。
可选地,该第一处理单元310还用于:若该至少一个状态-动作组合的数量在该多个状态-动作组合中所占的比例超过预设阈值,在该第一反馈周期,利用关联规则挖掘方法更新该多个状态-动作组合中尚未更新的状态-动作组合对应的Q值。
应理解,这里的装置300以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(Application Specific Integrated Circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置300可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。
图5示出了本发明实施例提供的另一基于Q学习的资源调度装置400,该装置400包括:处理器410和非易失(non-transitory)计算机可读存储介质420。其中,该非易失计算机可读存储介质420和处理器410连接,并用于存储指令,当所存储的指令被处理器410执行时,使得处理器410用于完成如下操作:
根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将该第一状态-动作组合对应的Q值更新为第一数值,其中,该第一状态-动作组合表示当该应用处于第一状态时执行第一动作,该第一状态为该应用在早于该第一反馈周期的第二反馈周期所处的状态,该第一动作用于对分配给该应用的资源数量进行调整处理;
根据该第一数值,更新该多个状态-动作组合中不同于该第一状态-动作组合的至少一个状态-动作组合对应的Q值;
在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,该当前状态为该应用在该第一反馈周期所处的状态;
根据该确定的动作,对分配给该应用的资源数量进行调整处理。
可选地,该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。处理器可以用于执行存储器中存储的指令,并且当该处理器执行存储器中存储的指令时,该处理器用于执行上述方法实施例的各个步骤和/或流程。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,装置400可以用于执行上述方法实施例中的各个步骤和/或流程,为避免重复,在此不再赘述。
应理解,本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (24)

1.一种基于Q学习的资源调度方法,应用于数据中心,其特征在于,包括:
在第一反馈周期,根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将所述第一状态-动作组合对应的Q值更新为第一数值,其中,所述第一状态-动作组合表示当所述应用处于第一状态时执行第一动作,所述第一状态为所述应用在早于所述第一反馈周期的第二反馈周期所处的状态,所述第一动作用于对分配给所述应用的资源数量进行调整处理;
在所述第一反馈周期,根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值;
在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,所述当前状态为所述应用在所述第一反馈周期所处的状态;
在所述第一反馈周期,根据所述具有最大Q值的状态-动作组合所对应的动作,对分配给所述应用的资源数量进行调整处理。
2.根据权利要求1所述的方法,其特征在于,所述至少一个状态-动作组合包括第二状态-动作组合,所述第二状态-动作组合表示当所述应用处于所述第一状态时执行不同于所述第一动作的第二动作;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:
根据所述第一数值以及所述第二动作相比于所述第一动作对于分配给所述应用的资源数量的调整方向,更新所述第二状态-动作组合对应的Q值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一数值以及所述第二动作相比于所述第一动作对于分配给所述应用的资源数量的调整方向,更新所述第二状态-动作组合对应的Q值,包括:
若所述回报值小于零并且所述第二动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向调整,将所述第二状态-动作组合对应的Q值更新为小于所述第一数值的数值;和/或
若所述回报值小于零并且所述第二动作相比于所述第一动作对分配给所述应用的资源数量朝着减少数量的方向调整,将所述第二状态-动作组合对应的Q值更新为大于所述第一数值的数值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述至少一个状态-动作组合还包括至少一个第三状态-动作组合,所述第三状态-动作组合表示当所述应用处于所述第一状态时执行不同于所述第一动作的动作;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:
根据所述第一数值,更新所述至少一个第三状态-动作组合中每个第三状态-动作组合对应的Q值,以使得在以目标动作为起点且在朝着增加分配给所述应用的资源数量的方向上,所述第一状态对应的状态-动作组合对应的Q值单调性减小,和/或以使得在以所述目标动作为起点且在朝着减少分配给所述应用的资源数量的方向上,所述第一状态对应的状态-动作组合对应的Q值单调性减小,其中,在所述第一状态对应的所有状态-动作组合中,所述目标动作与所述第一状态构成的状态-动作组合对应的Q值最大。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述至少一个状态-动作组合包括第四状态-动作组合,所述第四状态-动作组合表示当所述应用处于不同于所述第一状态的第二状态时执行所述第一动作;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值,包括:
根据所述第一数值以及所述第一状态和所述第二状态的状态特征参数的值,更新所述第四状态-动作组合对应的Q值。
6.根据权利要求5所述的方法,其特征在于,所述状态特征参数包括平均资源占用率;
所述根据所述第一数值以及所述第一状态和所述第二状态的状态特征参数的值,更新所述第四状态-动作组合对应的Q值,包括:
若所述回报值小于零并且所述第二状态的平均资源占用率的值高于所述第一状态的平均资源占用率的值,将所述第四状态-动作组合对应的Q值更新为小于所述第一数值的数值。
7.根据权利要求5所述的方法,其特征在于,所述状态特征参数包括平均资源占用变化率,其中,所述平均资源占用变化率用于反映平均资源占用率的变化趋势;
所述根据所述第一数值以及所述第一状态和所述第二状态的状态特征参数的值,更新所述第四状态-动作组合对应的Q值,包括:
根据所述第一数值以及所述第一状态和所述第二状态的平均资源占用变化率的值,更新所述第四状态-动作组合对应的Q值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一数值以及所述第一状态和所述第二状态的平均资源占用变化率的值,更新所述第四状态-动作组合对应的Q值,包括:
若所述回报值小于零并且所述第二状态的平均资源占用变化率的值高于所述第一状态的平均资源占用变化率的值,将所述第四状态-动作组合对应的Q值更新为小于所述第一数值的数值。
9.根据权利要求5所述的方法,其特征在于,所述至少一个状态-动作组合还包括至少一个第五状态-动作组合,所述第五状态-动作组合表示当所述应用处于所述第二状态时执行不同于所述第一动作的动作;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值,还包括:
当所述回报值大于零并且所述第一数值为所述第一状态对应的所有状态-动作组合对应的Q值中的最大数值时,若所述第一状态和所述第二状态的区别在于所述第二状态的平均资源占用变化率的值高于所述第一状态的平均资源占用变化率的值,根据所述第四状态-动作组合对应的更新后的Q值,更新所述至少一个第五状态-动作组合对应的Q值,以使得在所述第二状态对应的所有状态-动作组合中,所述第四状态-动作组合或由所述第二状态与第三动作构成的状态-动作组合对应的Q值最大,其中,所述第三动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向进行调整。
10.根据权利要求5所述的方法,其特征在于,所述至少一个状态-动作组合还包括至少一个第六状态-动作组合,所述第六状态-动作组合表示当所述应用处于所述第二状态时执行不同于所述第一动作的动作;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值,还包括:
当所述回报值大于零并且所述第一数值为所述第一状态对应的所有状态-动作组合的Q值中的最大数值时,若所述第一状态和所述第二状态的区别在于所述第二状态的平均资源占用率的值大于所述第一状态的平均资源占用率的值,根据所述第四状态-动作组合对应的更新后的Q值,更新所述至少一个第六状态-动作组合的Q值,以使得在所述第二状态对应的所有状态-动作组合中,所述第四状态-动作组合或由所述第二状态与第四动作构成的状态-动作组合对应的Q值最大,其中,所述第四动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向进行调整。
11.根据权利要求5所述的方法,其特征在于,所述至少一个状态-动作组合还包括第七状态-动作组合,所述第七状态-动作组合表示当所述应用处于第三状态时执行所述第一动作,其中,所述第一状态、所述第二状态和所述第三状态之间的区别在于分配给所述应用的资源数量的不同;
所述根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合的Q值,还包括:
根据所述第一数值和所述第四状态-动作组合对应的更新后的Q值,利用插值法、外推法或多项式拟合确定所述第七状态-动作组合的更新后的Q值。
12.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
若所述至少一个状态-动作组合的数量在所述多个状态-动作组合中所占的比例超过预设阈值,在所述第一反馈周期,利用关联规则挖掘方法更新所述多个状态-动作组合中尚未更新的状态-动作组合对应的Q值。
13.一种基于Q学习的资源调度装置,应用于数据中心,其特征在于,包括:
第一处理单元,用于根据应用的多个状态-动作组合中的第一状态-动作组合的回报值,将所述第一状态-动作组合对应的Q值更新为第一数值,其中,所述第一状态-动作组合表示当所述应用处于第一状态时执行第一动作,所述第一状态为所述应用在早于所述第一反馈周期的第二反馈周期所处的状态,所述第一动作用于对分配给所述应用的资源数量进行调整处理,以及根据所述第一数值,更新所述多个状态-动作组合中不同于所述第一状态-动作组合的至少一个状态-动作组合对应的Q值;
第二处理单元,用于在当前状态所对应的至少两个状态-动作组合中,确定具有最大Q值的状态-动作组合所对应的动作,其中,所述当前状态为所述应用在所述第一反馈周期所处的状态;
第三处理单元,用于在所述第一反馈周期,根据所述第二处理单元确定的具有最大Q值的状态-动作组合所对应的动作,对分配给所述应用的资源数量进行调整处理。
14.根据权利要求13所述的装置,其特征在于,所述至少一个状态-动作组合包括第二状态-动作组合,所述第二状态-动作组合表示当所述应用处于所述第一状态时执行不同于所述第一动作的第二动作;
所述第一处理单元具体用于根据所述第一数值以及所述第二动作相比于所述第一动作对于分配给所述应用的资源数量的调整方向,更新所述第二状态-动作组合对应的Q值。
15.根据权利要求14所述的装置,其特征在于,所述第一处理单元具体用于:
若所述回报值小于零并且所述第二动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向调整,将所述第二状态-动作组合对应的Q值更新为小于所述第一数值的数值;和/或
若所述回报值小于零并且所述第二动作相比于所述第一动作对分配给所述应用的资源数量朝着减少数量的方向调整,将所述第二状态-动作组合对应的Q值更新为大于所述第一数值的数值。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述至少一个状态-动作组合还包括至少一个第三状态-动作组合,所述第三状态-动作组合表示当所述应用处于所述第一状态时执行不同于所述第一动作的动作;
所述第一处理单元具体用于:
根据所述第一数值,更新所述至少一个第三状态-动作组合中每个第三状态-动作组合对应的Q值,以使得在以目标动作为起点且在朝着增加分配给所述应用的资源数量的方向上,所述第一状态对应的状态-动作组合对应的Q值单调性减小,和/或以使得在以所述目标动作为起点且在朝着减少分配给所述应用的资源数量的方向上,所述第一状态对应的状态-动作组合对应的Q值单调性减小,其中,在所述第一状态对应的所有状态-动作组合中,所述目标动作与所述第一状态构成的状态-动作组合对应的Q值最大。
17.根据权利要求13至15中任一项所述的装置,其特征在于,所述至少一个状态-动作组合包括第四状态-动作组合,所述第四状态-动作组合表示当所述应用处于不同于所述第一状态的第二状态时执行所述第一动作;
所述第一处理单元具体用于:
根据所述第一数值以及所述第一状态和所述第二状态的状态特征参数的值,更新所述第四状态-动作组合对应的Q值。
18.根据权利要求17所述的装置,其特征在于,所述状态特征参数包括平均资源占用率;
所述第一处理单元具体用于:
若所述回报值小于零并且所述第二状态的平均资源占用率的值高于所述第一状态的平均资源占用率的值,将所述第四状态-动作组合对应的Q值更新为小于所述第一数值的数值。
19.根据权利要求17所述的装置,其特征在于,所述状态特征参数包括平均资源占用变化率,其中,所述平均资源占用变化率用于反映平均资源占用率的变化趋势;
所述第一处理单元具体用于:
根据所述第一数值以及所述第一状态和所述第二状态的平均资源占用变化率的值,更新所述第四状态-动作组合对应的Q值。
20.根据权利要求19所述的装置,其特征在于,所述第一处理单元具体用于:
若所述回报值小于零并且所述第二状态的平均资源占用变化率的值高于所述第一状态的平均资源占用变化率的值,将所述第四状态-动作组合对应的Q值更新为小于所述第一数值的数值。
21.根据权利要求17所述的装置,其特征在于,所述至少一个状态-动作组合还包括至少一个第五状态-动作组合,所述第五状态-动作组合表示当所述应用处于所述第二状态时执行不同于所述第一动作的动作;
所述第一处理单元具体用于:
当所述回报值大于零并且所述第一数值为所述第一状态对应的所有状态-动作组合对应的Q值中的最大数值时,若所述第一状态和所述第二状态的区别在于所述第二状态的平均资源占用变化率的值高于所述第一状态的平均资源占用变化率的值,根据所述第四状态-动作组合对应的更新后的Q值,更新所述至少一个第五状态-动作组合对应的Q值,以使得在所述第二状态对应的所有状态-动作组合中,所述第四状态-动作组合或由所述第二状态与第三动作构成的状态-动作组合对应的Q值最大,其中,所述第三动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向进行调整。
22.根据权利要求17所述的装置,其特征在于,所述至少一个状态-动作组合还包括至少一个第六状态-动作组合,所述第六状态-动作组合表示当所述应用处于所述第二状态时执行不同于所述第一动作的动作;
所述第一处理单元具体用于:
当所述回报值大于零并且所述第一数值为所述第一状态对应的所有状态-动作组合的Q值中的最大数值时,若所述第一状态和所述第二状态的区别在于所述第二状态的平均资源占用率的值大于所述第一状态的平均资源占用率的值,根据所述第四状态-动作组合对应的更新后的Q值,更新所述至少一个第六状态-动作组合的Q值,以使得在所述第二状态对应的所有状态-动作组合中,所述第四状态-动作组合或由所述第二状态与第四动作构成的状态-动作组合对应的Q值最大,其中,所述第四动作相比于所述第一动作对分配给所述应用的资源数量朝着增加数量的方向进行调整。
23.根据权利要求17所述的装置,其特征在于,所述至少一个状态-动作组合还包括第七状态-动作组合,所述第七状态-动作组合表示当所述应用处于第三状态时执行所述第一动作,其中,所述第一状态、所述第二状态和所述第三状态之间的区别在于分配给所述应用的资源数量的不同;
所述第一处理单元具体用于:
根据所述第一数值和所述第四状态-动作组合对应的更新后的Q值,利用插值法、外推法或多项式拟合确定所述第七状态-动作组合的更新后的Q值。
24.根据权利要求13至15中任一项所述的装置,其特征在于,所述第一处理单元还用于:
若所述至少一个状态-动作组合的数量在所述多个状态-动作组合中所占的比例超过预设阈值,在所述第一反馈周期,利用关联规则挖掘方法更新所述多个状态-动作组合中尚未更新的状态-动作组合对应的Q值。
CN201680056785.1A 2016-05-24 2016-05-24 基于q学习的资源调度方法和装置 Active CN108139930B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/083082 WO2017201662A1 (zh) 2016-05-24 2016-05-24 基于q学习的资源调度方法和装置

Publications (2)

Publication Number Publication Date
CN108139930A CN108139930A (zh) 2018-06-08
CN108139930B true CN108139930B (zh) 2021-08-20

Family

ID=60410985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680056785.1A Active CN108139930B (zh) 2016-05-24 2016-05-24 基于q学习的资源调度方法和装置

Country Status (2)

Country Link
CN (1) CN108139930B (zh)
WO (1) WO2017201662A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202018545A (zh) * 2018-11-13 2020-05-16 財團法人資訊工業策進會 產量控制系統、方法及其非暫態電腦可讀取媒體
CN110515735A (zh) * 2019-08-29 2019-11-29 哈尔滨理工大学 一种基于改进q学习算法的多目标云资源调度方法
CN112422651A (zh) * 2020-11-06 2021-02-26 电子科技大学 一种基于强化学习的云资源调度性能瓶颈预测方法
CN113163447B (zh) * 2021-03-12 2022-05-20 中南大学 基于q学习的通信网络任务资源调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390195A (zh) * 2013-05-28 2013-11-13 重庆大学 一种基于强化学习的机械车间任务调度节能优化***
CN104635772A (zh) * 2014-12-08 2015-05-20 南京信息工程大学 一种制造***自适应动态调度方法
CN104767833A (zh) * 2015-05-04 2015-07-08 厦门大学 一种移动终端的计算任务的云端转移方法
CN105578486A (zh) * 2016-02-29 2016-05-11 重庆邮电大学 一种异构密集网络中容量与覆盖联合优化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286484B2 (en) * 2003-01-10 2007-10-23 Chunghwa Telecom Co., Ltd. Q-learning-based multi-rate transmission control (MRTC) scheme for RRC in WCDMA systems
DE102008020380B4 (de) * 2008-04-23 2010-04-08 Siemens Aktiengesellschaft Verfahren zum rechnergestützten Lernen einer Steuerung und/oder Regelung eines technischen Systems
CN101833479B (zh) * 2010-04-16 2014-05-21 中国人民解放军国防科学技术大学 多网络环境下基于强化学习的mpi消息调度方法
CN103248693A (zh) * 2013-05-03 2013-08-14 东南大学 基于多智能体强化学习的大规模服务组合优化方法
CN103220751B (zh) * 2013-05-08 2016-03-30 哈尔滨工业大学 基于q学习资源分配策略的异构网络准入控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390195A (zh) * 2013-05-28 2013-11-13 重庆大学 一种基于强化学习的机械车间任务调度节能优化***
CN104635772A (zh) * 2014-12-08 2015-05-20 南京信息工程大学 一种制造***自适应动态调度方法
CN104767833A (zh) * 2015-05-04 2015-07-08 厦门大学 一种移动终端的计算任务的云端转移方法
CN105578486A (zh) * 2016-02-29 2016-05-11 重庆邮电大学 一种异构密集网络中容量与覆盖联合优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A cooperative Q-learning approach for distributed resource allocation in multi-user femtocell networks";Hussein Saad et al;《 2014 IEEE Wireless Communications and Networking Conference (WCNC)》;20141130;第1490-1495页 *
"基于 Q 学习的 Macro-Pico 异构网络干扰协调算法研究";汪朝晖;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160215;第I136-918页 *

Also Published As

Publication number Publication date
WO2017201662A1 (zh) 2017-11-30
CN108139930A (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
CN108139930B (zh) 基于q学习的资源调度方法和装置
CN109002358B (zh) 基于深度强化学习的移动终端软件自适应优化调度方法
CN113434253B (zh) 集群资源调度方法、装置、设备及存储介质
US11153375B2 (en) Using reinforcement learning to scale queue-based services
CN113989561A (zh) 基于异步联邦学习的参数聚合更新方法、设备及***
US10908675B2 (en) Electronic device for signal processing with embedded optimization of electrical energy consumption and a corresponding method
CN107329881B (zh) 应用***性能测试方法及装置、计算机设备及存储介质
CN111275358A (zh) 派单匹配方法、装置、设备及存储介质
CN112187670B (zh) 一种基于群体智能的网络化软件共享资源分配方法及装置
CN104679444A (zh) 虚拟化存储资源的动态调整方法与装置
CN114781653A (zh) 基于人工智能的模型训练方法、***、设备及存储介质
KR102270239B1 (ko) 전자장치에서 소프트웨어를 실행하기 위한 방법 및 장치
CN109379747A (zh) 无线网络多控制器部署和资源分配方法和装置
CN112669091A (zh) 数据处理方法、装置及存储介质
CN112700003A (zh) 网络结构搜索方法、装置、设备、存储介质及程序产品
CN104537224B (zh) 基于自适应学习算法的多状态***可靠性分析方法及***
CN112001570B (zh) 数据处理方法、装置、电子设备和可读存储介质
CN110941489A (zh) 流处理引擎的伸缩方法和装置
CN114035959A (zh) 基于线性回归的资源分配方法、装置、设备及介质
JP2021105772A (ja) リソース利用量の予測管理システム、リソース利用量の予測管理方法
US20170122843A1 (en) Stable manufacturing efficiency generating method and system and non-transitory computer readable storage medium
CN110868735B (zh) 一种负载均衡方法及装置
CN109388428B (zh) 图层遍历方法、控制装置及数据处理***
WO2016082867A1 (en) Orchestrator and method for virtual network embedding
CN111027666A (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