根据强化学习的预测来优化资源配置的方法与流程
未命名
09-23
阅读:55
评论:0
1.本发明关于优化配置的方法。详言之,本发明关于根据强化学习的预测来优化资源配置的方法。
背景技术:
2.在计算机丛集中,硬件资源动态分配给工作负载。由于工作负载所要利用的诸如ram模块或cpu的资源需求会随时间而变,所以有许多预测方法对未来有粗估数量。虽然计算机丛集的建造成本一般是固定的,但包含寿命摊销和耗电的运算成本会随硬件资源的数量改变而增加。依据任何预测的工作负载的硬件资源的重大改变以总成本的观点来看可能不经济。在没有预测时,硬件资源数量的调整是被动的,导致响应延迟很大。
3.因此,为降低上述问题的冲击,需要更准确预测工作负载。过去引入的强化学习(rl)方法是利用学习过程来探索未来任何时间点的行动可能性,做出优化决定以满足某些任务或游戏的目标。当rl方法用来预测工作负载时,它导致所有可能路径问题。也就是说,如果工作负载有一选择是一次利用n个资源在未来需预测m个时间点,则rl方法必须根据长期学习旅程来考虑nm条路径的资源部署。显然,计算优化结果所需的决策过程的计算复杂度是指数级的。计算成本是管理者的另一个麻烦,因为它需要更多的软件开发人力。
4.从平衡的角度来看,如果硬件资源数量的调整尽可能少,而rl方法的计算成本受限,则工作负载的总成本可以最小。然而,现有技术中并没有提供用于计算机丛集的该功能的方法。
技术实现要素:
5.为了解决上述问题,本发明提供一种根据强化学习的预测来优化资源配置的方法。
6.为了达到上述目的,本发明提供了根据强化学习的预测来优化资源配置的方法。处理器决定要利用的计算机丛集中的资源单位数量。该方法包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第0个可能的运算成本(poc0),它是根据在u1至m中的第1个时间点(ppn1)的至少一可能的提供数量(ppn),其中poc0得自poc0=k+rf
×
|ppn1–
k|+ppn1,其中rf是介于0与1之间的再平衡因子,且k为一实数;c)由处理器对第i个时间点依序重复下列子步骤,i是从1至n,其中:c1)计算至少一第i个可能的运算成本(poci),其中poci得自poci=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppni是在ui至m中的第i个时间点的ppn,用来计算poci和poc
(i-1)
的ppni具有相同值;c2)找出最小和第二小poci;及c3)如果最小和第二小poci是从计算自相同ppni,则将用来计算最小poci的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci;及d)由处理器在第0个时间
点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载。
7.在本发明一实施例中,该方法可进一步包括下列子步骤:c4)如果未自相同ppni计算最小和第二小poci,则分别使用ppni来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。
8.优选地,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。
9.本发明也提供了根据强化学习的预测来优化资源配置的另一方法。处理器决定要利用的计算机丛集中的资源单位数量。该方法包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第0个可能的运算成本(poc0),它是根据在u1至u1+a与m二者中的最小者中的第1个时间点(ppn1)的至少一可能的提供数量(ppn),其中poc0得自poc0=k+rf
×
|ppn1–
k|+ppn1,其中rf是介于0与1之间的再平衡因子,a是整数,且k为一实数;c)由处理器对第i个时间点依序重复下列子步骤,i是从1至n,其中:c1)计算至少一第i个可能的运算成本(poci),其中poci得自poci=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至u
(i+1)
+a与m二者中最小者中的第(i+1)个时间点的ppn,ppni是在ui至ui+a与m二者中的最小者中的第i个时间点的ppn,用来计算poci和poc
(i-1)
的ppni具有相同值;c2)找出最小和第二小poci;及c3)如果最小和第二小poci是从计算自相同ppni,则将用来计算最小poci的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci;及d)由处理器在第0个时间点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载。
10.在本发明一实施例中,该方法可进一步包括下列子步骤:c4)如果未自相同ppni计算最小和第二小poci,则分别使用ppni来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。
11.优选地,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。
12.另一种根据强化学习的预测来优化资源配置的方法,是通过处理器决定所要用的计算机丛集中的资源的单位数量来实施,包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第1个可能的运算成本(poc1),它是根据在u1至m中的第1个时间点(ppn1)的至少一可能的提供数量(ppn)和在u2至m中的第2个时间点(ppn2)的至少一ppn,其中poc1得自poc1=k+rf
×
|ppn
1-k|+ppn1+rf
×
|ppn2–
ppn1|+ppn2,其中rf是介于0与1之间的再平衡因子,且k为一实数;c)将用来计算最小poc1的ppn1设为第1个指定数量;d)由处理器对时间点依序重复下列子步骤,i是从2至2
×
[n/2]的偶数,其中:d1)计算至少一第(i+1)个可能的运算成本poc
(i+1)
,其中poc
(i+1)
得自poc
(i+1)
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
+wi,其中wi是rf
×
|ppn
(i+2)
–
ppn(
i+1)
|+ppn
(i+2)
,poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+2)
是在u
(i+2)
至m中的第(i+2)个时间点的ppn,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppni是在ui至m中的第i个时间点的ppn,用来计算poc
(i+1)
和poc
(i-1)
的ppni具有相
同值;其中如果(i+2)大于n,则从计算省略wi;d2)找出最小和第二小poci;及d3)如果最小和第二小poci计算自相同ppni,则将用来计算最小poc
(i+1)
的ppni设为第i个指定数量且用来计算最小poc
(i+1)
的ppn
(i+1)
设为第(i+1)个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
(i+1)
;及e)由处理器在第0个时间点提供1单位的资源和在第j个时间点提供第j个指定单位数量的资源给工作负载,其中j是在1至n中。
[0013]
优选地,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。
附图说明
[0014]
图1显示本发明应用的硬件架构。
[0015]
图2是本发明第一实施例的方法的流程图。
[0016]
图3显示预测结果。
[0017]
图4是查找表。
[0018]
图5至图7列出对所有时间点的计算。
[0019]
图8是本发明第二实施例的改良方法的流程图。
[0020]
图9显示与图3相同的预测结果,可能的提供数量不同。
[0021]
图10和图11列出对所有时间点的计算。
[0022]
图12是本发明第三实施例的方法的流程图。
[0023]
图13显示预测结果。
[0024]
图14是查找表。
[0025]
图15至图19列出对所有时间点的计算。
[0026]
附图标记说明:10-计算机丛集;20-因特网;30-客户端;100-计算单元;101-cpu;101a-处理器;101b-cpu;102-内存模块;103-储存装置;120-网络通讯界面。
具体实施方式
[0027]
现在参照以下实施例来更详细说明本发明。
[0028]
请参照图1。它显示本发明应用的硬件架构。计算机丛集10(例如,数据中心)有许多计算单元100,分别有多个cpu 101和内存模块102(诸如sdram),分享储存在储存装置103(诸如硬盘)的数据。计算单元100可经由内部数据网络110来合作支持工作负载的运算。计算机丛集10进一步经由网络通讯界面120将客户端30连接因特网20。举例来说,计算单元100提供串流服务给客户端30作为工作负载。提供给工作负载的cpu 101和内存模块102的数量决定工作负载的请求可以多快得到反应。cpu和内存模块在实施例中称为资源。虽然愈多资源用于工作负载会提高工作负载的性能,但也对整个系统造成负荷。消耗掉资源的寿命,且其他工作负载不能共享相同资源。因此,本发明是优化资源配置的方法。配置是根据资源需求的预测,但由强化学习来修改。该方法由其中一个计算单元100中的处理器101a(asic或其中一个cpu 100)来实施。处理器101a决定要利用的计算机丛集10中的资源的单位数量,利用是依据方法的结果。预测可由另一cpu 101b来计算并提供,或从计算机丛集10之外的外部系统输入。
[0029]
请参照图2。它是本发明第一实施例的方法的流程图。该方法的第一步骤是提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提
供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数(s01)。预测可以是根据算法、公式、经验甚或人工智能的任何方法,只要有未来的工作负载所需的资源的单位数量。依据本发明,并非预测的所有结果都用于计算。只使用有限的数量n。n是本发明的使用者所定义的数字。此实施例中,n设为9。预测可对超过n个时间点提供资源需求。额外数据可用于另一阶段的资源配置计算。本实施例中,m以6为例。有鉴于m和n的值,为了下一步骤的运算,预测结果显示于图3。实心点代表在不同时间点的资源(例如,cpu)的预测单位数量。举例来说,依据预测,第3个时间点会需要6单位的资源。广义来说,可增进工作负载性能的系统的所有可控运算结果视为一种资源,例如但不限于i/o吞吐量、响应时间、每秒请求数、延迟。
[0030]
该方法的第二步骤是由处理器来计算至少一第0个可能的运算成本(poc0),它是根据在u1至m中的第1个时间点(ppn1)的至少一可能的提供数量(ppn),其中poc0得自poc0=k+rf
×
|ppn
1-k|+ppn1,其中rf是介于0与1之间的再平衡因子,且k为一实数(s02)。此步骤由处理器101a进行初步计算。为了更明了,请参照图5。它列出对一部分时间点的计算。每一计算分成三个矩阵。左矩阵列出在先前时间点的所有ppn。中矩阵与图4做比较,显示在过渡成本上的一部分计算。右矩阵将poc加到同一列的每一过渡成本,显示对目前时间点找到指定数量的结果。本发明的基本观念是对一时间点决定适当单位数量的资源,它借助考虑从在先前时间点提供给工作负载所计算的资源的所有种类组合所累积的运算成本,找出最小累积成本,使用可能的提供数量作为资源的指定数量以利用到工作负载。如果需要的话,考虑下一时间点的计算。整个过程延伸自强化学习(动态规划)的逻辑,使用诸如成本函数、最大奖励(最小成本)、迭代的类似观念。然而,为降低冗长计算程序,省略合理且非必要的计算。ppn表示一时间点的候选的所有数量。ppni是从预测数量ui至系统可提供的最大数量m中的任一数量。举例来说,在第2个时间点,所需资源的预测单位数量是3,可利用最多有6单位的资源,用于第1个和第2个时间点的计算的ppn2是3、4、5、6。如果ui和m相同,则只使用一数量。在任何时间点,当利用一单位的资源时,会降低资源的寿命且耗电。为简化及量化结果,所有随后的计算使用最小成本,1,作为k。为了方便说明,在所有实施例中,将k设为1。当然,两个后续时间点之间的资源改变数量也很贵,但不及只用一个。因此,以再平衡因子来减少改变。rf随不同种类的资源而变。选择rf是根据资源的特性。此实施例中,以0.6为例。
[0031]
对第0个时间点的计算,这是例外。由于没有先前时间点,所以应指定起始值作为累积成本。依据本发明,数量是“1”。上述计算公式中,“|ppn
1-1|”得到在第0个和第1个时间点之间的资源改变数量,“rf
×
|ppn
1-1|”将|ppn
1-1|减少40%(rf=0.6),对第1个时间点的计算得到两个poc0:8.4、10。应注意在其他实例中,poc0的数量可大于2,也可以是1。
[0032]
该方法的第三步骤是由处理器对第i个时间点依序重复下列子步骤,i是从1至n(s03)。此步骤是对所有n个时间点的计算。该子步骤详述如下。
[0033]
第一子步骤是计算至少一第i个可能的运算成本(poci),其中poci得自poci=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppni是在ui至m中的第i个时间点的ppn,用来计算poci和poc
(i-1)
的ppni具有相同值(s03-1)。举例来说,计算第1个时间点。图5中,两个poc0作为第一子步骤上述计算公式的“poc
(i-1)”。此处,ppn
(i+1)
是ppn2,包含3、4、5、6。ppni是ppn1,包含5和6如上述。为简化“rf
×
|ppn
(i+1)-ppni|”的运算,图4的查找表显示
了考虑从1至6的ui和u
(i+1)
的计算,m对ppn
(i+1)
和ppni都维持6,rf等于0.6。由于右矩阵只将ppn加到同列的每一过渡成本,所以8.4加到4.2、4.6、5、6.6,但不加到4.8、5.2、5.6、6。因此,得到的一列poc1(poci)为12.6、13、13.4、15。同样地,10加到4.8、5.2、5.6、6,但不加到4.2、4.6、5、6.6。得到的另一列poc1为14.8、15.2、15.6、16。ppn1中的“5”用来计算poc0中的“8.4”以及poc1中的12.6、13、13.4、15。
[0034]
第二子步骤是找出最小和第二小poci(s03-2)。图5中,最小和第二小poc1分别是12.6和13。都来自相同ppn1,但ppn2不同。
[0035]
第三子步骤是如果最小和第二小poci是从计算自相同ppni,则将用来计算最小poci的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci(s03-3)。如上所示,最小和第二小poc1来自相同ppn1,因而满足前提,用来计算最小poci(12.6)的ppn1为5(与12.6由箭号相连)并指定为第1个指定数量。对下一时间点的计算除去未计算自第1个指定数量5(也就是14.8、15.2、15.6、16)的poc1。只有12.6、13、13.4、15留给第2个时间点。相同计算参见图5至图7。
[0036]
应注意从步骤s01至s03的计算只用于第1个时间点来临时的资源配置,此刻不利用任何东西。计算是在第1个时间点之前已准备,甚至在第0个时间点之前。
[0037]
该方法的最后步骤是由处理器在第0个时间点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载(s04)。此步骤是资源配置步骤。依据先前步骤所计算的相关数据,资源的单位数量对第1个时间点至第9个时间点分别是5、5、6、5、5、5、5、5、6。结果不同于对第1个时间点至第9个时间点分别要求5、2、6、1、5、6、5、2、9的预测。资源的提供单位数量使运算的成本最低。
[0038]
虽然对第2个时间点至第9个时间点执行相同计算,但在不同情况下有两个例外。
[0039]
第一例外以图6显示。第三子步骤的前提要求最小和第二小poci应计算自相同ppni。然而,对第4个时间点处理计算时,最小和第二小poc4计算自不同的ppn4。也就是说,最小poc4(30.6)计算自5,而第二小poc4(32)计算自6。这意味着难以知道哪个ppn4对第5个时间点有最低计算成本。依据本发明,此情况的解决之道是分别计算的两个ppn4都用于第5个时间点,依据两个计算的结果来决定第4个指定数量。因此,需要第四子步骤,如果未自相同ppni计算最小和第二小poci,则分别使用ppni来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。图6的实例中,ppn4的5及相关poc4(30.6和32.2)用于第5个时间点的计算,版本1;ppn4的6及相关poc4(32.2和32)用于第5个时间点的计算,版本2。在此情况下,两个版本显示5是计算最小poc5(34.4和35.4)的ppn4。然后5回头设给第4个指定数量。其余与第三子步骤相同,不再重复。
[0040]
第二例外发生在第9个时间点的计算。因为本方法只接受9个时间点的预测,所以即使可预测第10个时间点,也不会使用。因此,ppn
10
设为“0”。计算显示于图7。
[0041]
由传统强化学习的观点来看,如果不要失去找到最小成本的任何改变,则应计算图5至图7中的右矩阵的所有数据。举例来说,第1个时间点的计算的右矩阵只包含8个数据,而应做36个计算已得到36个数据。对此时间点,节省28个计算;从第0个时间点至第9个时间点,整个过程节省257个计算;实际情形有数千个资源单位和数百个时间点;可节省数百万个计算。借助于本方法,可降低指数型复杂度。在有限时间内可达成接近最佳且可接受的结
果,大为增加可用性并降低运算成本。
[0042]
依据本发明的精神,计算量在另一改良方法可进一步降低。改良方法显示于第二实施例。
[0043]
请参照图8。它是本发明第二实施例的改良方法的流程图。为简化第二实施例的说明,此处仍应用第一实施例的资源需求预测。此外,第二实施例也应用于图1的架构。可提供的来源最大单位m维持6。第一实施例的方法与改良方法间的唯一差异是ppn的定义。用于此实施例的每一时间点的ppn量进一步降低。ppn包含在第i个时间点所需的单位数量ui和其他较大数量。较大数量可不含m。改良方法以图10和图11来显示,列出所有时间点的计算。
[0044]
改良方法的第一步骤是提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数(s11)。此步骤与步骤s01相同。如上述,n和m维持相同以说明第二实施例。
[0045]
改良方法的第二步骤是由处理器来计算至少一第0个可能的运算成本(poc0),它是根据在u1至u1+a与m二者中的最小者中的第1个时间点(ppn1)的至少一可能的提供数量(ppn),其中poc0得自poc0=k+rf
×
|ppn
1-k|+ppn1,其中rf是介于0与1之间的再平衡因子,a是整数,且k可为任一实数,在此将k设为1(s12)。rf也设为0.6。步骤s02与步骤s12间的差异是ppn1受限于其上限。为更了解差异,请参照图9。如同图3,具有相同预测结果,但可能的提供数量不同。此实施例中,a为2。对每一时间点的计算,底线是ui,上限是u1+a或m中的较小者。对第0个时间点的计算,u1+a等于7而m是6。因此,因为最多可用的资源有6单位,所以ppn1是6。不能是7。由于一开始1是给予最小成本,所以第0个时间点的poc0的计算结果也是8.4和10。请回到图7。如果对每一第i个时间点,ppni的上限由点线连接,ppni的下限由实线连接,则形成“隧道”。所有时间点的资源单位的指定数量落入隧道中。
[0046]
改良方法的第三步骤是由处理器对第i个时间点依序重复下列子步骤,i是从1至n(s13)。似乎与步骤s03相同。然而,子步骤不同。以下是这些子步骤的说明。
[0047]
第一子步骤是计算至少一第i个可能的运算成本(poci),其中poci得自poci=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至u
(i+1)
+a与m二者中最小者中的第(i+1)个时间点的ppn,ppni是在ui至ui+a与m二者中的最小者中的第i个时间点的ppn,用来计算poci和poc
(i-1)
的ppni具有相同值(s13-1)。显然,ppn
(i+1)
和ppni的上限已改变。对第1个时间点的计算,ppn2包含3、4、5。u2依据预测是3。由于u2+2和6中的最小者是u2+2(5),所以不再使用6。同样地,ppn3只包含6。ppn4包含1、2、3。ppn5包含5和6。ppn6包含2、3、4。ppn7包含5和6。ppn8包含2、3、4。ppn9包含6。由于ppn有不同定义,所以poci的计算结果跟着变化。举例来说,第1个时间点的计算中,8.4加到4.2、4.6、5,但不加到4.8、5.2、5.6。因此,得到的一列的poc1(poci)是12.6、13、13.4。同样地,10会加到4.8、5.2、5.6,但不加到4.2、4.6、5。得到的另一列的poc1是14.8、15.2、15.6。ppn1中的“5”用来计算poc0中的“8.4”以及poc1中的12.6、13、13.4。
[0048]
第二子步骤是找出最小和第二小poci(s13-2)。此步骤与子步骤s03-2相同。图10中,最小和第二小poc1分别是12.6和13。它们来自相同ppn1,但ppn2不同。
[0049]
第三子步骤是如果最小和第二小poci是从计算自相同ppni,则将用来计算最小poci的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci(s13-3)。此步骤与子步骤s03-3相同。由于两种方法的第二步骤及第一子步骤不同,所以后续结果也不同。举例来说,利用相同预测,第二实施例的第4个指定数量是3,而第一实施例的第4个指定数量是5。
[0050]
同样地,改良方法的最后步骤是由处理器在第0个时间点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载(s14)。与步骤s04相同,不再详述。
[0051]
如同第一实施例,改良方法会碰到两种例外。第二实施例中,未见到第一例外。然而,可能出现在其他实例。在此情况下,执行以下子步骤:如果未自相同ppni计算最小和第二小poci,则分别使用ppni来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppni设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poci,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。
[0052]
第二例外也发生在第二实施例的第9个时间点的计算。第一实施例的相同手段用来处理此处的ppn
10
。ppn
10
设为“0”。计算显示于图11。
[0053]
第一实施例的方法的计算总数是67(与第5个时间点的计算无关,版本2不会发生在第二实施例),而第二实施例的改良方法是41。相较于第一实施例,第二实施例的改良方法的计算较少。节省26个计算。虽然每一时间点的资源的提供数量不相同,但其间没有重大差异,对相同预测都有效。
[0054]
上述实施例中,一指定数量得自两个时间点的计算。依据本发明,超过一指定数量可得自两个时间点的计算。从另一观点来看,先前实施例收集数据以在两个时间点之间的一空窗”决定提供的资源。更多空窗可用于收集资料。计算数量会增加,但可节省时间。根据强化学习的预测来优化资源配置的另一方法显示于第三实施例。
[0055]
请参照图12。它是本发明第三实施例的方法的流程图。此实施例中,仍应用先前实施例的资源需求预测。同样地,第三实施例也可用于图1的架构。可提供的来源最大单位m维持6。该方法以图15至图19说明,列出所有时间点的计算。
[0056]
该方法的第一步骤是提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中可提供最大m个单位的来源,ui是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数(s21)。此步骤与步骤s01和s11相同。如上述,n和m维持相同以说明本实施例。
[0057]
该方法的第二步骤是由处理器来计算至少一第1个可能的运算成本(poc1),它是根据在u1至m中的第1个时间点(ppn1)的至少一可能的提供数量(ppn)和在u2至m中的第2个时间点(ppn2)的至少一ppn,其中poc1得自poc1=k+rf
×
|ppn
1-k|+ppn1+rf
×
|ppn
2-ppn1|+ppn2,其中rf是介于0与1之间的再平衡因子,且k为一实数(s22)。rf也设为0.6,而k为1。为更了解差异,请参照图13和图15。图与13图3有相同预测结果。图14包含两个计算表。上表列出rf
×
|ppn
1-1|+ppn1+rf
×
|ppn
2-ppn1|+ppn2的所有计算,而下表显示poc1=1+rf
×
|ppn
1-1|+ppn1+rf
×
|ppn
2-ppn1|+ppn2的所有计算。“1”(不是在ppn1和poc1的)是下表中的指定数量。起始运算成本设为只提供一资源。计算poc1的公式类似得到poci的公式,但计算横跨三个时间点(两个空窗)。
[0058]
该方法的第三步骤是将用来计算最小poc1的ppn1设为第1个指定数量(s23)。指定数量的函数与第一实施例相同。由于poc1最小,所以ppn1可引导结果并选为第1个指定数量。
[0059]
该方法的第四步骤是由处理器对时间点依序重复下列子步骤,i是从2至2
×
[n/2]
的偶数(s24)。“i”的定义不同于先前实施例。第一,“i”是偶数,例如2、4、6
…
等等。[n/2]在高斯符号下的计算。此实施例中,n是9,因而[n/2]是8。也就是说,2、4、6、8取为不同迭代的计算的“i”。以下说明这些子步骤。
[0060]
第一子步骤是计算至少一第(i+1)个可能的运算成本poc
(i+1)
,其中poc
(i+1)
得自poc
(i+1)
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
+wi,其中wi是rf
×
|ppn
(i+2)-ppn
(i+1)
|+ppn
(i+2)
,poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+2)
是在u
(i+2)
至m中的第(i+2)个时间点的ppn,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppni是在ui至m中的第i个时间点的ppn,用来计算poc
(i+1)
和poc
(i-1)
的ppni具有相同值;其中如果(i+2)大于n,则从计算省略wi(s24-1)。为了方便起见,poc
(i+1)
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppni|+ppn
(i+1)
+rf
×
|ppn
(i+2)-ppn
(i+1)
|+ppn
(i+2)
的结果见图14,而rf=0.6。举例来说,令i=2。请见图16。图16列出所有时间点的计算。此处,poc3计算自poc1。图15中,poc1是12.6、13、13.4、15。公式变成poc3=poc1+rf
×
|ppn
3-ppn2|+ppn3+rf
×
|ppn
4-ppn3|+ppn4。上表显示rf
×
|ppn
3-ppn2|+ppn3+rf
×
|ppn
4-ppn3|+ppn4的结果。图16中,ppn2是3至6,ppn3只是6,ppn4是1至6。因此,只计算24个数量并显示于上表。poc3的结果在下表的右底部。
[0061]
第二子步骤是找出最小和第二小poci(s24-2)。此步骤与子步骤s03-2及s13-2相同。图16中,最小和第二小poc3分别是24和24.2。它们来自不同ppn2。
[0062]
第三子步骤是如果最小和第二小poci计算自相同ppni,则将用来计算最小poc
(i+1)
的ppni设为第i个指定数量且用来计算最小poc
(i+1)
的ppn
(i+1)
设为第(i+1)个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
(i+1)
(s24-3)。此实施例中,虽然最小和第二小poc3计算自相同ppn2,但所用的ppn2可由第二实施例的相同程序找到。此处省略不再重复。24是ppn2(点背景)。因此,第2个指定数量是5,第3个指定数量是6(点背景)。用于下一迭代的计算的poc3是24、24.4、24.8、25.2、25.6、26。对i=4和i=6的计算结果显示于图17和图18。
[0063]
不同计算发生在i是8的时候。没有ppn
10
。它匹配(i+2)大于n(10》9)的情况。从计算省略wi的部分。计算结果显示于图19。简化的公式变成poc9=poc7+rf
×
|ppn
9-ppn8|+ppn9。这种公式与先前实施例相同。然而,依据相同方法来选择第8个和第9个指定数量。第8个指定数量是5,第9个指定数量是6。
[0064]
该方法的最后步骤是由处理器在第0个时间点提供1单位的资源和在第j个时间点提供第j个指定单位数量的资源给工作负载,其中j是在1至n中(s25)。它与步骤s04及s14相同,而变量符号不同。
[0065]
第三实施例的方法的计算总数是137。相较于第一和第二实施例,第三实施例的方法使用较多计算。虽然每一时间点的资源的提供数量可能不相同,但没差很多,有结果的时间可降低。
[0066]
应注意以上所有数学公式只是用来说明,而非限制本发明的应用。可表达相同微积分逻辑的任何其他数学公式也在本发明的范畴中。
[0067]
尽管本发明已经根据目前认为是最实用和优选的实施例进行了描述,但应理解本发明不必限于所公开的实施例。相反地,其意在涵盖包括在权利要求书的精神和范畴内的各种修改和类似布置,它们应符合最广泛的解释,以涵盖所有这样的修改和类似结构。
技术特征:
1.一种根据强化学习的预测来优化资源配置的方法,是通过处理器决定所要用的计算机丛集中的资源的单位数量来实施,其特征在于,包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中能够提供最大m个单位的来源,u
i
是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第0个可能的运算成本poc0,它是根据在u1至m中的第1个时间点ppn1的至少一可能的提供数量ppn,其中poc0得自poc0=k+rf
×
|ppn1–
k|+ppn1,其中rf是介于0与1之间的再平衡因子,且k为一实数;c)由处理器对第i个时间点依序重复下列子步骤,i是从1至n:c1)计算至少一第i个可能的运算成本(poc
i
),其中poc
i
得自poc
i
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppn
i
|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppn
i
是在u
i
至m中的第i个时间点的ppn,用来计算poc
i
和poc
(i-1)
的ppn
i
具有相同值;c2)找出最小和第二小poc
i
;及c3)如果最小和第二小poc
i
是从计算自相同ppn
i
,则将用来计算最小poc
i
的ppn
i
设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
i
;及d)由处理器在第0个时间点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载。2.如权利要求1所述的方法,其特征在于,进一步包括下列子步骤:c4)如果未自相同ppn
i
计算最小和第二小poc
i
,则分别使用ppn
i
来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppn
i
设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
i
,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。3.如权利要求1所述的方法,其特征在于,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。4.一种根据强化学习的预测来优化资源配置的方法,是通过处理器决定所要用的计算机丛集中的资源的单位数量来实施,其特征在于,包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中能够提供最大m个单位的来源,u
i
是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第0个可能的运算成本poc0,它是根据在u1至u1+a与m二者中的最小者中的第1个时间点ppn1的至少一可能的提供数量ppn,其中poc0得自poc0=k+rf|ppn1–
k|+ppn1,其中rf是介于0与1之间的再平衡因子,a是整数,且k为一实数;c)由处理器对第i个时间点依序重复下列子步骤,i是从1至n:c1)计算至少一第i个可能的运算成本poc
i
,其中poc
i
得自poc
i
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppn
i
|+ppn
(i+1)
,其中poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+1)
是在u
(i+1)
至u
(i+1)
+a与m二者中最小者中的第(i+1)个时间点的ppn,ppn
i
是在u
i
至u
i
+a与m二者中的最小者中的第i个时间点的ppn,用来计算poc
i
和poc
(i-1)
的ppn
i
具有相同值;c2)找出最小和第二小poc
i
;及c3)如果最小和第二小poc
i
是从计算自相同ppn
i
,则将用来计算最小poc
i
的ppn
i
设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
i
;及d)由处理器在第0个时间点提供1单位的资源和在第i个时间点提供第i个指定单位数量的资源给工作负载。5.如权利要求4所述的方法,其特征在于,进一步包括下列子步骤:c4)如果未自相同ppn
i
计算最小和第二小poc
i
,则分别使用ppn
i
来计算poc
(i+1)
,将用来计算最小poc
(i+1)
的ppn
i
设为第i个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
i
,其中poc
(i+1)
是对第(i+1)个时间点所计算的可能的运算成本。6.如权利要求4所述的方法,其特征在于,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。7.一种根据强化学习的预测来优化资源配置的方法,是通过处理器决定所要用的计算机丛集中的资源的单位数量来实施,其特征在于,包括下列步骤:a)提供在第0个时间点后超过n个时间点的工作负载所需的资源单位数量的预测给处理器,其中能够提供最大m个单位的来源,u
i
是依据预测在第i个时间点所需的单位数量,n、m、i都是正整数;b)由处理器来计算至少一第1个可能的运算成本poc1,它是根据在u1至m中的第1个时间点ppn1的至少一可能的提供数量ppn和在u2至m中的第2个时间点ppn2的至少一ppn,其中poc1得自poc1=k+rf
×
|ppn
1-k|+ppn1+rf
×
|ppn2–
ppn1|+ppn2,其中rf是介于0与1之间的再平衡因子,且k为一实数;c)将用来计算最小poc1的ppn1设为第1个指定数量;d)由处理器对时间点依序重复下列子步骤,i是从2至2
×
[n/2]的偶数:d1)计算至少一第(i+1)个可能的运算成本poc
(i+1)
,其中poc
(i+1)
得自poc
(i+1)
=poc
(i-1)
+rf
×
|ppn
(i+1)-ppn
i
|+ppn
(i+1)
+wi,其中wi是rf
×
|ppn
(i+2)
–
ppn
(i+1)
|+ppn
(i+2)
,poc
(i-1)
是对第(i-1)个时间点所计算的可能的运算成本,ppn
(i+2)
是在u
(i+2)
至m中的第(i+2)个时间点的ppn,ppn
(i+1)
是在u
(i+1)
至m中的第(i+1)个时间点的ppn,ppn
i
是在u
i
至m中的第i个时间点的ppn,用来计算poc
(i+1)
和poc
(i-1)
的ppn
i
具有相同值;其中如果(i+2)大于n,则从计算省略wi;d2)找出最小和第二小poc
i
;及d3)如果最小和第二小poc
i
计算自相同ppn
i
,则将用来计算最小poc
(i+1)
的ppn
i
设为第i个指定数量且用来计算最小poc
(i+1)
的ppn
(i+1)
设为第(i+1)个指定数量,从下一时间点的计算的第i个指定数量除去未计算的poc
(i+1)
;及e)由处理器在第0个时间点提供1单位的资源和在第j个时间点提供第j个指定单位数量的资源给工作负载,其中j是在1至n中。8.如权利要求7所述的方法,其特征在于,资源包括内存模块、cpu、i/o吞吐量、响应时间、每秒请求数或延迟。
技术总结
本发明公开一种根据强化学习的预测来优化资源配置的方法,包括下列步骤:a)提供在第0个时间点后超过N个时间点的工作负载的资源单位数量的预测给处理器;b)计算至少一第0个可能的运算成本(POC0),它是根据在第1个时间点(PPN1)的至少一可能的提供数量(PPN);c)由处理器对第i个时间点重复下列子步骤:c1)计算至少一第i个可能的运算成本(POC
技术研发人员:陈文贤 许铭杰 曾弘毅
受保护的技术使用者:先智云端数据股份有限公司
技术研发日:2022.03.15
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/