CN111045815B - 多个处理机的已部署资源的优化方法及其扩展设备 - Google Patents
多个处理机的已部署资源的优化方法及其扩展设备 Download PDFInfo
- Publication number
- CN111045815B CN111045815B CN201910755697.6A CN201910755697A CN111045815B CN 111045815 B CN111045815 B CN 111045815B CN 201910755697 A CN201910755697 A CN 201910755697A CN 111045815 B CN111045815 B CN 111045815B
- Authority
- CN
- China
- Prior art keywords
- pattern
- resource
- sampling
- state
- resources
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000005070 sampling Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims description 17
- 230000002787 reinforcement Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 abstract 1
- 230000009471 action Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- 238000013468 resource allocation Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000032823 cell division Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011867 re-evaluation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
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
本申请提供了一种多个处理机的已部署资源的优化方法及其扩展设备。在该方法中,识别当前应用所使用的该多个机器中的一个或多个的现有资源利用模式,其中,该模式基于采样参数,ΔT的每个采样级别触发扩展该资源利用的事件;估计在该每个采样级别下将资源利用的当前状态S扩展为状态S+1的平均花费时间(平均ΔT),并根据该采样参数构建估计模式,其中,每个采样级别的ΔT为该平均ΔT将该所识别的模式与该所估计的模式相比较来识别匹配;在识别到匹配时,根据在状态S+1下所使用的资源参数在该当前状态S下部署来自该多个机器中的一个或多个的资源,其中,该资源参数是从该模式中识别出来的。
Description
技术领域
本文描述的主题大体上涉及一种扩展设备以及一种用于扩展多个处理机的方法。
背景技术
云计算实现了在多个独立用户之间共享和分配计算资源。当某些应用的工作负载随时间变化而需要重新评估和动态改变资源分配时,对资源分配的有效管理就会成为一项挑战。采用Q学习算法等强化学习来学习和评估用于资源部署的扩展动作,这样,在遵守应用的服务水平协议(Service Level Agreement,SLA)的同时减少资源的利用。
许多Web应用(如社交网络)都面临着影响其在生命周期内的性能的工作负载和系统变化。在可预测的情况下,可以提前部署资源。然而,强化学习可能无法对应用行为的重大变化做出迅速的反应,导致对应用行为上发生重大波动的一段时间内的资源估计不足或估计过高。图1描绘了一种现有技术的应用场景,其中所示的图案描绘了一段时间内出现的突然尖峰,表示高频率的扩展。需要优化资源分配以减少尖峰和扩展频率。
发明内容
本发明内容用于介绍与用于优化多个处理机的已部署资源的方法和扩展设备有关的概念,这种方法和扩展设备能够优化资源分配频率,从而减少尖峰。
本发明第一方面提供了一种由扩展设备执行的用于优化多个处理机的已部署资源的方法。所述方法包括识别当前应用所使用的所述多个机器中的一个或多个的现有资源利用模式,其中,所述模式基于采样参数,ΔT的每个采样级别触发扩展所述资源利用的事件。所述方法还包括:估计在所述每个采样级别下将资源利用的当前状态S扩展为状态S+1的平均花费时间(平均ΔT),并根据所述采样参数构建估计模式,其中,每个采样级别的ΔT为所述平均ΔT。所述方法还包括:将所述所识别的模式与所述所估计的模式相比较来识别匹配。在识别到匹配时,所述方法包括:根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述模式中识别出来的。
本发明第二方面提供一种用于优化多个处理机的已部署资源的扩展设备。所述扩展设备包括模式引擎和资源分配器。所述模式引擎用于识别当前应用所使用的所述多个机器中的一个或多个的现有资源利用模式,其中,所述模式基于采样参数,ΔT的每个采样级别触发扩展所述资源利用的事件。所述模式引擎还用于估计在每个采样级别下将资源利用的当前状态S扩展为状态S+1的平均花费时间(平均ΔT),并根据所述采样参数构建估计模式,其中,每个采样级别的ΔT为所述平均ΔT。所述模式引擎还用于将所述所识别的模式与所述所估计的模式相比较来识别匹配。在识别到匹配时,所述模式引擎用于根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述模式中识别出来的。
本发明的其它方面和特征对本领域普通技术人员在结合附图阅读本发明的具体实施例的以下描述时显而易见。
附图说明
该详细描述是参考附图描述的。显而易见地,下面描述中的附图仅示出了本发明的部分实施例。
图1A示出了根据现有技术解决方案的一段时间内应用的资源分配的应用场景。
图1B示出了根据现有技术解决方案的一段时间内资源分配的应用场景。
图2示出了根据本发明一实施例的一种由扩展设备执行的用于优化多个处理机的已部署资源的方法。
图3示出了根据本发明一实施例的以CPU利用率作为采样参数识别出的模式(模式1和模式2)的示例。
图4示出了根据本发明各实施例的由扩展设备优化的多个处理机的已部署资源的云计算环境。
图5示出了根据本发明一实施例的用于优化多个处理机的已部署资源的扩展设备。
图6示出了根据本发明另一实施例的用于优化多个处理机的已部署资源的扩展设备。
图7示出了根据本发明又一实施例的用于优化多个处理机的已部署资源的扩展设备。
应理解,附图是为了说明本发明的概念,可能未按比例绘制。
具体实施方式
本发明可以通过多种方式实现,可实现为过程、装置、系统、计算机可读存储介质等计算机可读介质或其中的程序指令通过光学或电子通信链路发送的计算机网络。在本说明书中,这些实施方式或者本发明可采取的任何其它形式都可称为技术。通常,可在本发明的范围内改变所公开过程中的步骤的顺序。
下文提供了本发明的一个或多个实施例的详细描述以及图示本发明原理的附图。本发明结合这些实施例进行描述,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多替代物、修改和等同物。下文的描述中阐述了许多具体细节,以便透彻理解本发明。这些详细内容供示例之用,在没有这些具体细节中的部分或全部的情况下,本发明仍可根据权利要求书实施。为清楚起见,未详细描述有关本发明的技术领域中已知的技术资料,以免对本发明产生不必要的混淆。
在下文的详细描述中,阐述了许多具体细节以透彻理解本发明。然而,本领域技术人员将理解,没有这些具体细节也可实践本发明。在其它情况下,未详细描述公知的方法、过程、组件、模块、单元和/或电路,以免混淆本发明。
尽管本发明实施例在这方面不受限制,利用“处理”、“运算”、“计算”、“确定”、“建立”、“分析”、“检查”等术语的论述可以指将表示为计算机的寄存器和/或存储器内的物理(例如电子)量的数据操控和/或变换为类似地表示为计算机的寄存器和/或存储器或其它可以存储指令以执行操作和/或进程的信息非瞬时性存储介质内的物理量的其它数据的计算机、计算平台、计算系统或其它电子计算设备的操作和/或进程。
尽管本发明实施例在这方面不受限制,但是在本文中使用的术语“多个”可以包括“多个”或者“两个或两个以上”。在整个说明书中可使用术语“多个”来描述两个或两个以上组件、设备、元件、单元、参数等。除非明确指出,否则这里所描述的方法实施例不限于特定顺序或次序。另外,所描述的一部分方法实施例或其元件可以同步、同时或并行发生或执行。
必要时,本发明的一些实施例借助示例性图和一个或多个示例进行解释。然而,这类示例性图和示例用于说明性目的,以便更好地理解本发明,而不应解释为对本发明范围的限制。
本发明的技术方案可适用于云平台系统,其中云平台系统在前述发明中称为云平台。云平台是一种提供服务即服务的服务器平台,即平台即服务(platform as a service,PaaS)。云平台服务的用户可以是应用开发人员,云平台提供运行环境和资源,使得应用支持外部用户接入。应用使用的资源可以包括以下资源中的至少一种:应用部署的多个实例、应用的中央处理器CPU使用率、应用的内存使用率、应用的磁盘使用率或应用占用的网络输入/输出I/O设备吞吐量。
强化学习技术可以有效地为增强代理与系统(环境)交互、应用动作和测量系统响应的应用部署资源,从而使长期奖励功能最大化。学习环境提供的奖励功能的价值用来评估代理所采取的动作的质量。在一种实现方式中,云环境可以采用Q学习作为强化学习来部署资源。
Q学习中使用Q表来存储每个对(状态,动作)的Q值,Q表的大小与动作/事件的数量对应。应用的状态可以描述为应用的当前运行状态S。例如,应用的状态S可以定义为S=(M,U),其中,M表示应用当前使用的处理单元/机器的数量(其中机器可以是物理机、虚拟机或容器等),U表示当前应用中已经使用的全部处理单元/机器的平均资源利用率。Q学习算法在数据中心中可以采取的动作类型可以包括横向扩展、垂直扩展或重配置:
横向扩展:增加或减少机器的数量。
垂直扩展:增加或减少每个机器的内存、CPU、网络带宽。
重配置:增加或减少缓存大小、队列长度、数据库的连接最大数、map任务数量、reduce任务数量。
根据本发明实施例,自动扩展适用于服务应用的数据中心中的自适应重调度。自动扩展可以指配置有云环境的扩展组件根据应用负载变动实时调整(例如,增加、减少、保持不变)当前处理单元(例如,物理机、虚拟机、容器等)的数量或每个处理单元的分配或服务于应用的数据中心的重配置的能力。在确保有效满足应用SLA(例如,保持最少的机器满足系统的平均响应时间)的前提下,目标可以包括提高应用的资源利用率(不为应用分配太多的机器)以及从而提高数据中心的整体资源利用率。在数据中心根据Q学习在状态S下采取动作A后,Q学习可以计算该(状态-动作)对(S,A)的奖励,用于评估动作(好或坏)。正奖励意味着在采取该动作后为应用分配的资源足以满足该应用的SLA。负奖励意味着在采取该动作后为应用分配的资源不能再满足该应用的SLA。
图1A(现有技术)示出了一种资源利用模式(在该示例中已考虑CPU使用率),对于快速改变其行为的应用,该模式相应地描绘了对应高频率扩展的尖峰。因此,对资源数量的低估可能导致非计划的尖峰。
图1B表示根据本发明的教示为快速改变其行为的应用优化的资源利用模式。通过实施前述发明的教示来部署资源,减少尖峰,从而减少高频率扩展。因此,基于针对现有资源利用率所识别的、同时还进行纠正以减少对资源的估计不足的模式,在该时刻部署最佳资源。
图2示出了根据本发明一实施例的用于优化多个处理机的已部署资源的方法。实际部署的资源可能和应用使用的资源不同。部署的资源可以从一段时间内的应用行为收集。应用行为可以通过资源参数定义,而资源参数定义了一段时间资源利用模式。根据本发明的教示,考虑通过采样参数构建应用的资源利用模式。采样参数可以是每个采样级别触发该采样级别的事件,即在该采样级别下定义的状态S下采取动作。构建的模式还定义无功参数等资源参数,这些资源参数可以,例如,包括但不限于QPS、时延和容器数量。
举例来说,采样参数由应用开发人员等用户提供。在本发明中,考虑将CPU利用率作为采样参数,然而,这仅是为了说明,不应被解释为对本发明的限制。举例来说,无功参数可以是性能/SLA参数,并且可以作为模式的指标。
参考图1,在步骤202处,识别多个处理机中的一个或多个的现有资源利用模式。举例来说,用户提供采样参数,采样参数也称为“采样触发参数”,用于构建模式,其中,ΔT的每个采样级别触发扩展资源利用的事件。这里的扩展可以指增加或减少资源。当采样参数为CPU利用率时,ΔT的每个采样级别触发一个事件(即采取动作),比如将20%的CPU利用率提高到80%的CPU利用率。这里的事件表示资源利用率、时延方差、QPS方差以及时延和QPS之间的相对方差的函数。本发明从所识别的模式中学习,以优化为扩展所识别模式的资源所需的动作。
在本发明的一种实现方式中,模式识别可以可选地基于用户配置的级数,或者可以设置为默认级数。举例来说,如果用户规定将CPU利用率作为采样参数,并且规定了低阈值为20%(SLA),高阈值为80%(SLA),则用于识别模式的级数可以是7级采样,即P(step)=7。
所识别的每个模式根据每个模式P的计算值分类:
P(v)=∑Value(P(step))
Value(P(step))=((CPU(current)*CPU(ΔT(step))+EC
其中,EC表示用于减少由于浮点数导致的任何差错的数学差错常量。
图3示出了以CPU利用率作为采样参数所识别的模式(模式1和模式2)的说明性示例,其中,模式的识别基于7级最佳采样。在每个ΔT(未示出)收集的每个级别可以表示包括无功参数在内的指标。所识别的模式确定了无功参数之间的相互关系,这些无功参数有助于资源估计计划,以将低估保持在最低水平。举例来说,下表1提供了指标值,即每个采样级别在每个ΔT=T1、T2、T3和T4所表示的资源参数的值。
表1:
模式ΔT | QPS | 时延 | 资源 |
T1 | 200 | 1.2 | 10 |
T2 | 400 | 1.6 | 15 |
T3 | 600 | 1.9 | 19 |
T4 | 700 | 2.1 | 21 |
参考图2,在步骤204处,估计平均时间(平均ΔT),其中,ΔT为在每个采样级别下将资源利用的当前状态S扩展到状态S+1所花费的时间。举例来说,T1为从初始起点T=0达到20%的CPU利用率所花费的时间,T2为从初始起点扩展到30%的CPU利用率所花费的时间,T3为从初始起点扩展到40%的CPU利用率所花费的时间,T4为从初始起点扩展到50%的CPU利用率所花费的时间。相应地,所估计的在每个采样级别下从资源利用的当前状态扩展到状态S+1的平均花费时间(平均ΔT)为(T1、T2、T3和T4)平均值。
在步骤206处,使用所估计的平均时间(平均ΔT)根据采样参数构建估计模式,其中,每个采样级别的ΔT设置为平均ΔT。估计模式的估计值为:
Est-Value(P)=(∑(CPU(current)*Est-ΔT)+EC
其中,Est-ΔT=采样级别的估计平均时间差。
在步骤208处,将所识别的模式与所估计的模式相比较,以识别匹配。
Est-Value(P)=Value(P)±EP
其中,EP=比较Est-Value(P)的误差范围。
如果识别到匹配,在步骤210处,根据在状态S+1下使用的资源参数在当前状态S下部署来自多个机器中的一个或多个的资源,其中,资源参数是从模式值(P),即在步骤202处所识别的模式中识别出来的。
如果未识别到匹配或者匹配超出EP范围,则所识别的模式可以视为新识别的模式并予以存储。已存储的所识别的模式表示可能的应用场景。当根据应用场景学习识别出应用场景时,检索所存储的模式,并根据检索到的模式部署资源。
当识别到匹配时,根据状态S+1部署资源,以便将级别S下的低估保持在最低水平。如上所述,模式表示资源参数的指标值,帮助资源估计将状态S下的低估保持到尽可能低。
根据本发明一实施例,参考图2描述的方法可以包括进行强化学习并根据模式识别计算所估计的已部署资源的奖励函数。根据计算出的奖励函数,可以更新所识别模式的资源参数,以满足SLA要求。本发明实施例可以称为“资源纠正”。
在根据所识别模式和通过估计模式获得的匹配所部署的估计资源的资源纠正的一种实现方式中,Q学习模块根据单个模式中的动作来优化资源。Q学习方法的Q值按如下公式计算:
Q(S,A)=(1-a)Q(s,a,)+a(R+b max Q(S',A'))
其中:
S=状态,表示为函数f(P,级别(ΔT),权重(级别))
A=扩展动作
R=之前取得的奖励
a=学习速度
b=线性差错系数
奖励函数R提供了一个系数,实际资源和当前决定的资源随该系数变化。
R=f'(NR,R1,Rn)
f'()使用无功参数和资源相关性来识别奖励系数。
其中:
NR=从状态S+1的模式推导出的新资源
R1...Rn=无功参数
根据本发明一实施例,资源纠正采用奖励系数和服务水平目标(Service LevelObjective,SLO)来确定低估。资源纠正公式如下:
Re=Fn(R,SLO)
在上述等式中,SLA收集的指标为所识别的模式定义的指标值,SLA定义的指标为SLO定义的指标。
根据奖励函数,如果是负奖励函数,则更新(增加(扩容模式))或减少(缩容模式)资源。如果下一状态(S+1)的资源的奖励函数为负,则部署当前状态S的资源。
图4示出了根据本发明一实施例的云平台400。云平台400可以配置为包括自动扩展引擎402,自动扩展引擎402为根据本发明实施例的扩展设备。自动扩展引擎从指标采集器404接收指标值,例如采样参数和无功参数。指标采集器404可以根据用户的SLA从用户接收这些参数。另外,云平台提供多个处理单元408(例如,物理机、虚拟机、容器等),处理单元408提供可由用户在接入云平台时访问的资源。应理解的是,图4中示出的一个或多个组件可以包括其它组件。例如,扩展设备,即自动扩展引擎402,可以包括指标采集器404和资源分配器406。
图5示出了根据本发明一实施例的扩展设备500。如图所示,扩展设备500包括模式引擎502和资源分配器504。在另一实施例中,扩展设备500可能包括模式引擎502和资源分配指令提供器(未示出),该资源分配指令提供器为云平台上的资源分配器提供指令,以便根据本发明各实施例部署资源。模式引擎502用于实施参考图2描述的方法200。模式引擎502识别并构建基于采样触发事件的模式,例如,针对每个采样级别触发事件,比如从20%的CPU利用率扩展到80%的CPU利用率。模式引擎502根据采样参数构建估计模式,其中每个采样级别的ΔT为平均ΔT。此外,模式引擎502将所识别的模式与所估计的模式相比较,以识别匹配。在识别到匹配时,模式引擎502向资源分配器504提供资源分配指令,根据在状态S+1下所使用的资源参数在当前状态S下部署来自多个机器中的一个或多个的资源,其中,资源参数是从模式中识别出来的。
图6示出了根据本发明另一实施例的扩展设备600。扩展设备600可以包括模式引擎602、资源分配器604和模式数据库606。模式引擎602可以用于将所识别的模式存储在模式数据库606中。在本发明中,模式引擎602将当前所识别的模式与模式数据库606中存储的模式相比较,通过构建估计模式并将当前所识别的模式与所估计的模式相比较来识别匹配。如果识别到匹配,则模式引擎602向资源分配器604提供资源分配指令,以便根据当前所识别的模式部署资源。
模式数据库606中存储的模式可以指示一个或多个可能的应用场景。在识别到应用场景时,可以从模式数据库606中检索存储的模式并根据检索到的模式、按照本发明的教示部署资源。
图7示出了根据本发明又一实施例的扩展设备700。扩展设备700可以包括模式引擎702、资源分配器704、模式数据库706、学习引擎708和模式更新器710。学习引擎708使用Q学习算法作为强化学习技术来学习扩展动作并对所识别模式下的事件中执行的资源计算进行微调。状态-动作Q表的输入为所识别的模式,其中,状态表示当前CPU利用率,动作表示使用S+1状态下的资源扩展资源。这样,学习引擎708为根据所识别模式中的事件执行的每个动作计算Q值,并执行相应的动作。进一步地,学习引擎709根据本发明的教示计算奖励函数(R),执行资源纠正(Re),以便使用所识别的模式确定资源的低估,其中,资源纠正(Re)使用奖励系数(R)和SLO参数来确定低估:
Re=Fn(R,SLO)
根据估计的资源纠正,模式更新器710根据所识别的模式对事件的资源分配进行微调,并更新所识别的模式。
以上说明解释了根据本发明的教示使用所识别的模式为应用部署优化资源的示例。该示例使用的配置如下:
采样触发事件=CPU利用率
低阈值=20%
高阈值=80%
ΔT:本示例中已考虑的任意值
EC=10000
第一步是识别模式。在本示例中,参考图3,图3示出了两个模式(模式1和模式2)。模式权重分别按如下公式计算:
对于模式1
Weight(P1)=(∑(CPU(current)*CPU(ΔT(step))+EC
=(20*10)+(30*15)+(40*5)+(50*20)+(60*10)(70*5)+(80*2)+1000
=200+450+200+1000+600+350+160+10000
=12960
对于模式2
Weight(P1)=(∑(CPU(current)*CPU(ΔT(step))+EC
=(20*-10)+(30*-15)+(40*-5)+(50*-20)+(60*-10)+(70*-5)+(80*-2)+10000
=-12960
对于模式1,每个级别下进行采样的无功参数如下面的表2所示:
表2:
模式1ΔT | QPS | 时延 | 资源 |
T1 | 200 | 1.2 | 27 |
T2 | 400 | 1.6 | 26 |
T3 | 600 | 1.9 | 23 |
T4 | 750 | 2.1 | 19 |
T5 | 850 | 2.6 | 15 |
T6 | 900 | 3.0 | 10 |
对于模式2,每个级别下进行采样的无功参数如下面的表3所示:
表3:
模式2ΔT | QPS | 时延 | 资源 |
T1 | 900 | 3.0 | 10 |
T2 | 850 | 2.6 | 15 |
T3 | 750 | 2.1 | 19 |
T4 | 600 | 1.9 | 23 |
T5 | 400 | 1.6 | 26 |
T6 | 200 | 1.2 | 27 |
在下一步中,预测当前事件集合是与已经检测的模式相匹配还是一种新模式。在所有采样级别下进行预测,不断纠正匹配的模式。
假设当前级别为20%的CPU使用率,且EP=1000。
所估计的模式权重根据下面的公式得出:
EST-Weight(P1)=(∑(CPU(current)*Est-ΔT)+EC
=(20*10)+(30*10)+(40*10)+(50*10)+(60*10)+(70*10)+(80*10)+10000
=200+300+400+500+700+800+10000
=12900
将所估计的模式权重与现有模式权重相比较:
Est-Weight(P)=Weight(P)±EP,即
12900=12960±1000
这样,模式1与当前的CPU利用率相匹配。
从无功参数的关系表2中获取下一级别(即30%的CPU利用率)所需的资源数。
新需要的资源(NR)=23Pod(容器),是30%的CPU利用率(基于状态S+1的资源)下所消耗的资源。根据当前已部署的Pod数(一组容器),根据NR值确定扩容或缩容的类型。这里考虑的动作为扩容。针对该动作采取Q学习。识别下一级别(30%的CPU利用率)的扩容动作所需的Q值。
Q(S,A)=(1-a)Q(s,a,)+a(R+b max Q(S',A'))
计算奖励系数并根据奖励系数进行资源纠正。如果新的奖励系数不符合SLA,则更新识别模式的资源参数表(表2)。
本领域技术人员可理解的是,可使用任何已知的或新的算法来实施本发明。然而,需要注意的是,本发明提供了一种实现上述优势和技术进步的方法,无论使用的是任何已知的或新的算法。
本领域普通技术人员能够认识到,结合本说明书所公开实施例中所描述的示例,可以通过电子硬件或计算机软件与电子硬件的组合来实施单元和算法步骤。功能是由硬件还是由软件执行取决于技术方案的特定发明和设计约束条件。本领域技术人员可使用不同方法实现每个特定发明的所描述功能,但是不应认为这种实现超出本发明的范围。
在本应用提供的若干实施例中,应理解,所公开的系统和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分,在实际实现中可以是其它划分。例如,可将多个单元或组件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,可通过一些接口实现所显示或论述的互相耦合或直接耦合或通信连接。装置或单元之间的间接耦合或通信连接可通过电子、机械或其它形式实现。
当这些功能以软件功能单元的形式实现以及作为单独产品销售或使用时,它们可存储在计算机可读存储介质中。基于这种理解,本发明的技术方案基本上或构成现有技术的部分或技术方案的部分可通过软件产品的形式实现。计算机软件产品存储在存储介质中,包括若干指令,用于指示计算机节点(其可为个人计算机、服务器或网络节点)执行本发明实施例中所描述的方法的所有或部分步骤。上述存储介质包括可以存储程序代码的任何介质,例如USB闪存、可移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或光盘。
除非另有明确规定,否则相互通信的设备不必连续地相互通信。另外,相互通信的设备可以直接通信或通过一个或多个媒介间接通信。
虽然本文描述了单个设备或制品,但显然可以使用不止一个设备/制品(不论它们是否协作)来代替单个设备/制品。类似地,虽然本文描述了不止一个设备或制品(不论它们是否协作),但显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可替代性地由没有明确描述为具有这种功能/特征的一个或多个其它设备来实施。因此,本发明的其它实施例不需要包括该设备本身。
尽管已针对结构特征和/或方法用语言文字描述了处理存储解决方案在同步复制环境中的快照创建请求的系统和方法的实施方式,但应当理解,所附权利要求不一定限于所描述的具体特征或方法。相反,这些具体特征和方法会作为采用存储数据的复制方法的存储系统中的快照创建请求系统的处理方法的实施方式的示例来披露。
Claims (12)
1.一种由扩展设备执行的用于优化多个机器的已部署资源的方法,其特征在于,所述方法包括:
-识别当前应用所使用的所述多个机器中的一个或多个的现有资源利用模式,其中,所述模式基于采样参数,ΔT的每个采样级别触发扩展所述资源利用的事件,所述ΔT为在每个采样级别下将资源利用的当前状态S扩展到状态S+1所花费的时间;其中,采样参数是每个采样级别触发该采样级别的事件;
-估计在所述每个采样级别下将资源利用的当前状态S扩展为状态S+1的平均ΔT;
-根据所述采样参数构建估计模式,其中,每个采样级别的ΔT为所述平均ΔT;
-将所述所识别的模式与所述所估计的模式相比较来识别匹配;以及
-在识别到匹配时,根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述模式中识别出来的。
2.根据权利要求1所述的方法,其特征在于,包括:对所述当前状态S下的所述已部署的资源进行强化学习。
3.根据权利要求2所述的方法,其特征在于,包括:根据从所进行的所述强化学习计算出的奖励函数来更新所述模式的所述资源参数。
4.根据权利要求1所述的方法,其特征在于,所述采样参数包括CPU利用率、内存利用率、网络利用率和所使用的机器数量中的任一项。
5.根据权利要求1所述的方法,其特征在于,所述资源参数包括QPS、时延和资源数量中的至少一项。
6.根据权利要求1所述的方法,其特征在于,包括:将所述模式存储在数据库中,其中,所述模式指示可能的应用场景。
7.根据权利要求5所述的方法,其特征在于,包括:在识别出可能的应用场景时从数据库中检索存储的模式并根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述检索到的模式中识别出来的。
8.一种用于优化多个机器的已部署资源的扩展设备,其特征在于,所述扩展设备包括:
-模式引擎;以及
-资源分配器;
-其中,所述资源分配器用于:
识别当前应用所使用的所述多个机器中的一个或多个的现有资源利用模式,其中,
所述模式基于采样参数,ΔT的每个采样级别触发扩展所述资源利用的事件,所述ΔT为在每个采样级别下将资源利用的当前状态S扩展到状态S+1所花费的时间;其中,
采样参数是每个采样级别触发该采样级别的事件;
·估计在所述每个采样级别下将资源利用的当前状态S扩展为状态S+1的平均ΔT;
·根据所述采样参数构建估计模式,其中,每个采样级别的ΔT为所述平均ΔT;以及
·将所述所识别的模式与所述所估计的模式相比较来识别匹配;其中
-在识别到匹配时,所述资源分配器用于根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述模式中识别出来的。
9.根据权利要求8所述的扩展设备,其特征在于,包括学习引擎,用于对所述当前状态S下的所述已部署资源进行强化学习。
10.根据权利要求9所述的扩展设备,其特征在于,所述模式引擎用于根据从所进行的强化学习计算出的奖励函数来更新所述模式的所述资源参数。
11.根据权利要求8所述的扩展设备,其特征在于,包括存储所述模式的模式数据库,其中,所述模式指示可能的应用场景中的一个。
12.根据权利要求11所述的扩展设备,其特征在于,所述模式引擎用于识别所述可能的应用场景并从所述模式数据库中检索所述存储的模式;所述资源分配器用于根据在状态S+1下所使用的资源参数在所述当前状态S下部署来自所述多个机器中的一个或多个的资源,其中,所述资源参数是从所述检索的模式中识别出来的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201831045146 | 2018-11-29 | ||
ININ201831045146 | 2018-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045815A CN111045815A (zh) | 2020-04-21 |
CN111045815B true CN111045815B (zh) | 2024-04-09 |
Family
ID=70232398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910755697.6A Active CN111045815B (zh) | 2018-11-29 | 2019-08-15 | 多个处理机的已部署资源的优化方法及其扩展设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045815B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182115A (zh) * | 2017-12-28 | 2018-06-19 | 福州大学 | 一种云环境下的虚拟机负载均衡方法 |
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645529B2 (en) * | 2010-10-06 | 2014-02-04 | Infosys Limited | Automated service level management of applications in cloud computing environment |
US20150378786A1 (en) * | 2013-01-31 | 2015-12-31 | Adarsh Suparna | Physical resource allocation |
US20160364684A1 (en) * | 2015-06-15 | 2016-12-15 | Microsoft Technology Licensing, Llc | Incremental estimation for probabilistic forecaster |
US10013286B2 (en) * | 2016-02-24 | 2018-07-03 | Prophetstor Data Services, Inc. | Method for deploying storage system resources with learning of workloads applied thereto |
-
2019
- 2019-08-15 CN CN201910755697.6A patent/CN111045815B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
CN108182115A (zh) * | 2017-12-28 | 2018-06-19 | 福州大学 | 一种云环境下的虚拟机负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111045815A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11562223B2 (en) | Deep reinforcement learning for workflow optimization | |
US11018979B2 (en) | System and method for network slicing for service-oriented networks | |
CN108958916B (zh) | 一种移动边缘环境下工作流卸载优化方法 | |
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
US8533719B2 (en) | Cache-aware thread scheduling in multi-threaded systems | |
US20200175361A1 (en) | Partitioning of deep learning inference with dynamic offloading | |
US11614978B2 (en) | Deep reinforcement learning for workflow optimization using provenance-based simulation | |
CN111459617A (zh) | 基于云平台的容器化应用自动分配优化系统及其方法 | |
CN113794748B (zh) | 一种性能感知的服务功能链智能部署方法及装置 | |
CN111385142B (zh) | 基于Kubernetes的自适应伸缩web容器的方法 | |
JP2016042284A (ja) | 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム | |
CN113282409B (zh) | 边缘计算任务的处理方法、装置和计算机设备 | |
CN111431996B (zh) | 用于资源配置的方法、装置、设备和介质 | |
CN111752706B (zh) | 资源配置方法、装置及存储介质 | |
CN112328395B (zh) | 一种云资源容量规划方法和系统 | |
CN107608781B (zh) | 一种负载预测方法、装置以及网元 | |
CN114661482B (zh) | 一种gpu算力管理方法、介质、设备及系统 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
US20070162601A1 (en) | Method for autonomic system management using adaptive allocation of resources | |
Bensalem et al. | Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach | |
CN111045815B (zh) | 多个处理机的已部署资源的优化方法及其扩展设备 | |
CN115525394A (zh) | 容器数量的调整方法及装置 | |
CN110728372B (zh) | 一种人工智能模型动态加载的集群设计方法及集群系统 | |
CN111143033A (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
US20190385083A1 (en) | Distributed machine learning device, distributed machine learning method, and distributed machine learning recording medium |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |