NL2029431B1 - Cloud software service resource allocation method based on qos model self-correction - Google Patents

Cloud software service resource allocation method based on qos model self-correction Download PDF

Info

Publication number
NL2029431B1
NL2029431B1 NL2029431A NL2029431A NL2029431B1 NL 2029431 B1 NL2029431 B1 NL 2029431B1 NL 2029431 A NL2029431 A NL 2029431A NL 2029431 A NL2029431 A NL 2029431A NL 2029431 B1 NL2029431 B1 NL 2029431B1
Authority
NL
Netherlands
Prior art keywords
qos
resource allocation
particle
prediction model
parameter
Prior art date
Application number
NL2029431A
Other languages
Dutch (nl)
Inventor
Chen Xing
Wang Haijiang
Zhu Fangning
Original Assignee
Univ Fuzhou
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 Univ Fuzhou filed Critical Univ Fuzhou
Priority to NL2029431A priority Critical patent/NL2029431B1/en
Application granted granted Critical
Publication of NL2029431B1 publication Critical patent/NL2029431B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a cloud software service resource allocation method based on QoS model self-correction; the method comprising: step S1: performing online self-learning to obtain a QoS prediction model; step S2: collecting runtime data under a certain workload, and improving the accuracy of the QoS prediction model under a current workload through self-correction control; step S3: constructing a fitness function in combination with the quality of service (QoS) and the cloud resource cost (Cost), and searching for a target resource allocation scheme by using an improved particle swarm optimization algorithm; step S4: comparing the current resource allocation situation with the searched target resource allocation scheme to obtain a difference therebetween; and then adjusting resources according to a certain proportion; and step S5: repeating steps S2 to S4 until the current resource allocation situation is the same as the target resource allocation scheme which means that resource adjustment is completed. The present invention can realize a best resource allocation when the QoS prediction model is inaccurate.

Description

CLOUD SOFTWARE SERVICE RESOURCE ALLOCATION METHOD BASED ON
QOS MODEL SELF-CORRECTION
FIELD OF TECHNOLOGY
[0001] The present invention relates to the field of cloud computing, and in particular to a cloud software service resource allocation method based on QoS model self-correction.
BACKGROUND
[0002] Self-adaption is an effective way to allocate resources of a cloud-based software service. A traditional adaptive resource allocation method is rule-driven, leading to a high management cost and implementation complexity. Machine learning technology and control theory are two solutions to reduce labor costs. However, the machine learning technology requires a large amount of historical data to construct an accurate QoS prediction model, which easily leads to a resource allocation error; and the method based on the control theory requires a large amount of feedback iterations to find a suitable resource allocation plan, resulting in a high overhead for stopping virtual machines.
SUMMARY
[0003] In view of this, the purpose of the present invention is to propose a cloud software service resource allocation method based on QoS model self-correction, which can realize a best resource allocation when a QoS prediction model is inaccurate.
[0004] The present invention is realized with the following solutions: a cloud software service resource allocation method based on QoS model self-correction, specifically comprising the following steps:
[0005] step S1: performing online self-learning to obtain a QoS prediction model;
[0006] step S2: collecting runtime data under a certain workload, and improving the accuracy of the QoS prediction model under a current workload through self-correction control; and, once virtual machine resources are re-adjusted, starting to collect the runtime data, similarly, including information such as workloads, allocated resources, and QoS values;
[0007] step S3: constructing a fitness function in combination with the quality of 1 service (QoS) and the cloud resource cost (Cost), and searching for a target resource allocation scheme by using an improved particle swarm optimization algorithm, wherein the target resource allocation scheme is actually based on a global best solution of the fitness function;
[0008] step S4: comparing the current resource allocation situation with the searched target resource allocation scheme to obtain a difference therebetween, and then adjusting resources according to a certain proportion wherein virtual machines are added or deleted one by one, and each time one virtual machine is added or deleted, the runtime data of a cloud software service is collected;
[0009] step S5: repeating steps S2 to S4 until the current resource allocation situation is the same as the target resource allocation scheme which means that resource adjustment is completed.
[0010] Further, step S1 specifically comprises: first, establishing a service quality mapping function for response time, so that the quality of service can be better reflected; and then establishing, through machine learning, a relationship model among the workloads, the allocated resources and the quality of service, and initializing the obtained QoS prediction model for a next step S2.
[0011] Further, in step S1, the QoS prediction model takes a load request situation (R) (including types and quantity) and an allocated virtual machine situation (VM) as inputs, and takes the quality of service (QoS) (a mapping value of the response time RT) as an output, so as to establish a unified nonlinear regression model as shown in the following formula: m+n
Oos = wx!) i= ; (1)
[0012] The above formula is a general expression of nonlinear regression, wherein the independent variable X is a set of load requests & and virtual machine allocation
LL A A R=3x_,x.,, ..,X_, situations YM; as shown in table 1, the workload, i.e. { biel or } denotes that , Ox . there are # types of the load requests, wherein ‘<! denotes the quantity of the Ith type of . oo VM ={x_, ..x LX} the load requests; the resource allocation situations are tene eam) . . : LX denoting that there are 7? types of virtual machines, wherein <*! denotes the quantity of 2
. . . . Parameter = De 1 the th type of the virtual machines; the exponential variable © w oP Dam} is an exponential parameter of the independent variable X and can be set to different values according to characteristics and requirements of each cloud software service; and, when values of Parameter gre all 1, the above formula becomes a linear regression model, and the i W=f WW parameter “m) in the formula is the parameter required to be solved and corrected. For a service quality prediction model with low accuracy, its runtime data under a certain workload can be collected, as shown in Table 1; and, based on a self-correction control theory, a difference between a predicted value and a true value is minimized, so as to realize a re-estimation and re-tuning of an original parameter W.
Table 1 Dataset of QoS prediction model self-correction
VM
[0013] Further, step S2 comprises two parts: parameter recursive estimation and parameter calculation, wherein the parameter recursive estimation is continuously estimating parameters of the QoS prediction model based on input and output information of the system; and the parameter calculation is calculating and tuning (usually tuning according to a proportion) parameters of the QoS prediction model and new parameter estimates, and updating the QoS prediction model with final calculation results to make the prediction performance of the QoS prediction model reach a best state or approach a best state.
[0014] Further, step S2 specifically comprises the following steps:
[0015] step S21: for the certain workload, in a continuous resource adjustment process, assuming that ¥ groups of the runtime data are collected, including the workloads, the virtual machine allocation situation and actual values OS a of Qos ; based on the workloads and the virtual machine allocation situation, obtaining the following ¥ QoS
Hin
Oos = > wx prediction equations according to a formula I=0 ; — ur 2 ai 2 , Pnt 0S, redicted = wg + Wik, 4 + Was te FW nem 3m ar ee a2 Patm
QOSpredicted2 = Wy + WiXoy + wit, +. + Wam 37m 0 _ 1 a? Pa4+m
QOS, edicteds = Wo + WIX, + waxy + Wax — £1 ee ae RTE
QoS redictedu =Wg+ WiX 4 FW 24,42 ++ WaimIy nim (2):
[0016] for a known QoS prediction model, the index variable Parameter is fixed and is not an object that needs to be corrected and concerned on in the present invention;
[0017] step S22: denoting formula (2) in a vector-matrix form as follows: i Pz Prim : 1 af x er XT
Qo Spredicted 1 il … J | Wo bo C - 1 a 2 ee | i"
C0 Spredicted2 1 X341 A32 Xs nim | Wi {Jo Sp redicted3} = |. vPt yb? == vintm | x W2 : I 34 “32 nm | ; 4 : : : | Wam
I Qo S predicted u | 1 Pt v?2 xs Pm | ” ; i Tul Tw2 Tun | (3) :
[0018] letting Y denote a vector composed of ¥ predicted output QoS values , wherein W is a parameter vector of 7+” +1 dimensions, and, ® denote a input matrix
Cu X(n+m+l} . . ‚ of ( ) dimensions, that is, letting: ’ Dt oz „Pnt - : Te x
Quod, radicted 1 Wo 1 1,1 1.2 Linten i iy 22 Por
QoSsredicted 2 Wy i Xs 1 X55 rt Xo am
Fo —] Wy — at B.
Y= QOS, redicted 3 CH= = ‚D= 1 xt xe ee EE . : 3.1 3,2 . Zan
We : : : : :
Qos, veeictedu DE 1 Pt vi? vn +m ww, 1 2,2 WAT (4)
[0019] simplifing formula (3) into the following vector-matrix equation: =O (5); 4
[0020] tor the collected actual quality of service values and actual values QOS sua it . . 00S, rd A: 7 Ww . Ww 1s a best estimate of = red indicated as 1 ; let denote a best estimate of ”* , then:
[0021] step S23: performing parameter estimation by using a least square method, wherein the squared difference of the residual between the predicted QoS value and the actual
QoS value needs to be minimized; and wherein a vector form of the residual is expressed as follows:
By [9 Spredered 1 Gossea
Eq QoSpsredteted2 == G05, raat ez 3 = 0S, redicteds — G08; ctualt
Fu. | Jos, redicted = Goss unit - 0);
[0022] the squared difference of the residual, that is, the index function is denoted as follows:
J=ele=(Y —@W) (¥ — DW) ©)
J
[0023] taking a derivative of J by W that is, taking CW | so that W can be solved out;
[0024] The parameter calculation is to calculate and set a new parameter vector for the
QoS prediction model. # Tt requires a trade-off between an original parameter vector and a personal best parameter vector W , and the direct use of the personal best coefficient vector W would make the QoS prediction model fall into the personal best, that is, under other workloads, the accuracy of the QoS prediction model is possible to be inaccurate.
[0025] step S24: performing a proportion tuning on the original coefficient vector # and the (the personal best coefficient vector) obtained in step S23, as shown in the following formula:
W=nW 1-7) : =m gy 5
[0026] wherein 7 is a parameter which can be set by an expert according to requirements of different systems, and a higher value of 7 indicates a higher confidence proportion to the original parameter.
[0027] Further, PSO is a computing technology based on swarm intelligence. It usually quickly converges to a personal best solution, but loses an opportunity to find a better solution in a global scope. The genetic algorithm is a meta-heuristic algorithm inspired by a natural selection process, and is usually used to generate a high-quality global best solution.
The present invention introduces an idea of the genetic algorithm and proposes an improved
PSO algorithm, which has a faster convergence speed and a better global search ability. A traditional PSO solves the problem through a candidate particle swarm. The particles continuously move and update themselves in a solution space according to a simple mathematical formula about position and speed. The movement of each particle is affected by a known personal best position (i.e., a personal best particle) and a global best position (i.e, a global best particle), thereby prompting some better positions to be discovered by the updated particles, i.e., the particle swarm would continue to evolve and update towards a best direction, so as to achieve a best solution.
[0028] The present invention proposes an improved particle swarm algorithm which uses an update strategy of a genetic algorithm, including mutation and crossover calculation, to replace the movement of particles. Step S3 specifically comprises the following steps:
[0029] step S31: for the coding of a cloud software service resource allocation problem, utilizing a discrete coding method to encode the particles of the PSO in the present invention. Assuming that there are m types of virtual machines, the quantity of each type of virtual machines is expressed as VP wherein ISIS then defining the particle coding of a certain resource allocation scheme as the following formula: 7 — {vn ’ as VM ={vmy, vm, Vm vm, (10) :
[0030] initializing the values of related parameters, including but not limited to a particle swarm size, a maximum number of iterations and an initial particle swarm size;
[0031] step S32: calculating a fitness value of each particle according to the following formula, setting each particle as its own personal best particle, and setting the particle with a minimum fitness value as a global best particle: 6
Fitness = Objective 1 =H +4 Cost
QoS (11) :
[0032] wherein 1 denotes trade-off of the quality of service (QoS), and "2 denotes trade-off of the cloud resource cost; the fitness function is a direction that guides the particle swarm optimization algorithm to search and solve, and has the same meaning as a management objective function of the present invention. Therefore, the management objective function is directly used as the fitness function of the particle swarm algorithm, as in formula (11). A better resource allocation scheme should get a smaller fitness function value.
[0033] step S33: updating the particles according to the mutation and crossover calculations, and recalculating a fitness value of each particle;
[0034] step S34: if the fitness value of the updated particle is better than its personal best particle, replacing the personal best particle with the updated particle;
[0035] step S35: if the fitness value of the updated particle is better than a global best particle, replacing the global best particle with the updated particle;
[0036] step S36: returning to step S33 until a stop condition is met, such as a maximum number of iterations is reached.
[0037] Preferably, in the present invention, the update strategy of particles mainly adopts the mutation and crossover.
[0038] For the update strategy of the particles, the mutation and crossover are mainly employed.
[0039] For the mutation strategy, the mutation is to randomly select a locus in an ancestor particle, and then mutate the value of that locus to form a new particle. For the value of a certain locus, two mutation cases are designed: increasing by 1, and decreasing by 1, and the probability of each case is 1/2. For example, supposing there are three types of the virtual machines, and the particle before the mutation is (1, 2, 6). After the mutation operation, new particle (1, 2, 7) 1s produced. That is, the value of a third locus in the ancestor particle has increased by 1.
[0040] For the crossover strategy, the crossover consists of two steps. First, for a certain particle, randomly selecting two locuses in the particle, replacing a fragment 7 therebetween with the corresponding fragment in the personal best particle, and generating an intermediate temporary particle. Second, randomly selecting two locuses in the temporary particle, and replacing a fragment therebetween with the corresponding fragment in the global best particle to generate a new particle. For example, it is known that the ancestor particle is (1, 2, 7), the personal best particle is (0, 2, 6), and the global best particle is (0, 2, 5). First, performing the crossover on the fragment between the first locus and second locus of the ancestor particle and the personal best particle to generate the intermediate temporary particle (0, 2, 7); and then performing the crossover on the fragment between the second locus and third locus of the temporary particle and the global best particle, so as to generate the new particle (0, 2, 5). Such crossover calculation ensures that the particle swarm would gradually evolve towards a best direction.
[0041] Furthermore, the accuracy of the QoS prediction model is gradually improved, and the resulted target resource allocation scheme usually also changes. If the resource adjustment is carried out completely in accordance with the target allocation scheme, in each circulation, it is very likely that the virtual machines will be dynamically started or stopped, which leads to rising resource costs. Therefore, according to the difference between the allocated resource situation and the target allocation scheme in each circulation, the resource adjustment is made according to a certain proportion to gradually approach the best resource allocation scheme so as to reduce additional costs caused by startup of unnecessary virtual machines or stop of rented virtual machines.
[0042] Step S4 specifically comprises the following steps:
[0043] step S41: using formula (12) to denote the allocated resources situation
VM care while using formula (13) to represent the target allocation scheme VM oee . . . . . : VM piven obtained in each circulation, and denoting the difference erence between the allocated ee VAL resource situation VM gear and the target allocation scheme ohective hy formula (14) :
VM toate = vm, va, vm, tre va} (12) 5
VM opjeense = Om, vm, vay... Vi , (13) ;
VM pyrene = vm — VI vir, — VOL vin! — VEL vin, — vm) } (14) :
[0044] step S42: calculating an overall change trend between the allocated resource 8 situation and the target allocation scheme in each circulation by using the following formula:
VM, = > VM py oronce (7 ) =1 (15) ;
VM, >0 .
[0045] when su , it denotes that virtual machine resources of the cloud software service as a whole need to be increased, and the quantity of virtual machines are not
Ce VAM, <0 . . i reduced at this time; and when sem > it denotes that the virtual machine resources of the cloud software service have a remaining computing power, and the quantity of the virtual machines needs to be appropriately reduced instead of increasing the quantity of the virtual machines at this time; . . . Dye tiny
[0046] step S43: assuming that the resource adjustment proportion is Proportion , and O<Proportion<l i, order to ensure that the quantity adjusted each time for each type of the virtual machines is an integer, performing a rounding operation. As shown in formula (16), it 1s the quantity of the Ith type of the virtual machines that needs to be adjusted, and, when Vi ddfustement > 0, it denotes adding VMAdjustement virtual machines of this type; on the contrary, VMAdjustement 4101 machines of this type are reduced; wherein
Anipart() ga rounding function, its meaning is as in formula (17). For a certain value a, if it is greater than or equal to 0, it is rounded up; if it 1s negative, it is rounded down.
VM acljustement (0) = Intpart(FM pene () * P rop orfion ) (16) ; . a, a=20 intpart(a) =< | 0 —intpart(—a),a < a7
[0047] In summary, the method of the present invention is mainly composed of two parts: first, based on the runtime data, through the self-correction control, modifying and improving the QoS prediction model; second, based on the difference between the allocated resource situation and the target resource allocation scheme, performing the resource adjustments according to the certain proportion. In the present invention, an RUBIS software service is built on a CloudStack cloud platform to conduct experiments, and experimental results show the feasibility and effectiveness of the method.
[0048] Compared with the prior art, the present invention has the following beneficial effects: with regard to the problem of the adaptive resource allocation of the cloud software 9 service, the present invention considers how to achieve the best resource allocation when the dataset 1s not complete and the QoS prediction model is inaccurate. With regard to this problem, a resource allocation method based on QoS model self-correction is proposed in the present invention. First, the self-correction control theory is adopted to continuously correct the QoS prediction model based on the runtime data, so that its accuracy under the given workload is effectively improved; then, the control theory is introduced and a feedback control loop is applied to a resource adjustment decision-making process. The step-by-step adjustment strategy can not only gradually approach the best resource allocation scheme, but also effectively reduce the additional overhead caused by starting the unnecessary virtual machines or stopping the rented virtual machines.
BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 is a schematic flowchart of a method according to an embodiment of the present invention.
[0050] Figure 2 is a block diagram of the self-correction control principle of an embodiment of the present invention.
[0051] Figure 3 is a schematic diagram of an individual mutation strategy of an improved particle swarm algorithm according to an embodiment of the present invention.
[0052] Figure 4 is a schematic diagram of an individual crossover strategy of an improved particle swarm algorithm according to an embodiment of the present invention.
[0053] Figure 5 is a schematic diagram of a resource adjustment decision-making algorithm code according to an embodiment of the present invention.
[0054] Figure 6 is the changes of average workload quantity and proportion according to an embodiment of the present invention.
[0055] Figure 7 is a relative error value of a QoS prediction model according to an embodiment of the present invention. Wherein (a) is when confidence 1s 70%, and (b) 1s when confidence is 75%.
[0056] Figure 8 is a performance comparison of three adaptive resource allocation methods according to an embodiment of the present invention. Wherein (a) is when confidence is 70%, and (b) is when confidence is 75%.
DESCRIPTION OF THE EMBODIMENTS
[0057] The present invention will be further described below in conjunction with the accompany drawings and embodiments. 10
[0058] It should be pointed out that the following detailed description is exemplary and aims to provide a further description of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs.
[0059] It should be noted that the terms used herein are only for describing specific implementations, and are not intended to limit the exemplary implementations according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should also be understood that when the terms "comprising" and/or "including" are used in this specification, they indicate that there are features, steps, operations, devices, components, and/or combinations thereof.
[0060] As shown in figure 1, a cloud software service resource allocation method based on QoS model self-correction is provided in the present embodiment and the method comprises the following steps:
[0061] step S1: performing online self-learning to obtain a QoS prediction model;
[0062] step S2: collecting runtime data under a certain workload, and improving the accuracy of the QoS prediction model under a current workload through self-correction control; and, once virtual machine resources are re-adjusted, starting to collect the runtime data, similarly, including information such as workloads, allocated resources, and QoS values;
[0063] step S3: constructing a fitness function in combination with the quality of service (QoS) and the cloud resource cost (Cost), and searching for a target resource allocation scheme by using an improved particle swarm optimization algorithm, wherein the target resource allocation scheme is actually based on a global best solution of the fitness function;
[0064] step S4: comparing the current resource allocation situation with the searched target resource allocation scheme to obtain a difference therebetween, and then adjusting resources according to a certain proportion wherein virtual machines are added or deleted one by one, and each time one virtual machine is added or deleted, the runtime data of a cloud software service is collected;
[0065] step S5: repeating steps S2 to S4 until the current resource allocation situation is the same as the target resource allocation scheme which means that resource adjustment is completed. 11
[0066] In the present embodiment, step S1 specifically comprises: first, establishing a service quality mapping function for response time, so that the quality of service can be better reflected; and then establishing, through machine learning, a relationship model among the workloads, the allocated resources and the quality of service, and initializing the obtained
QoS prediction model for a next step S2.
[0067] In the present embodiment, in step S1, the QoS prediction model takes a load request situation (R) (including types and quantity) and an allocated virtual machine situation (VM) as inputs, and takes the quality of service (QoS) (a mapping value of the response time
RT) as an output, so as to establish a unified nonlinear regression model as shown in the following formula: mAH
QoS = wx, (1)
[0068] The above formula is a general expression of nonlinear regression, wherein the independent variable X is a set of load requests R and virtual machine allocation
Lo y } } R=3ix_ XX, situations VM : as shown in table 1, the workload, i.e. { led cn } denotes that
LX . there are 7 types of the load requests, wherein ~¢/ denotes the quantity of the th type of ‚ } } VM = {x XX the load requests; the resource allocation situations are ets Verezs er Konin) , denoting that there are 7 types of virtual machines, wherein ~<** denotes the quantity of 7 . . . . Parameter = {PPP . } the ‘th type of the virtual machine; the exponential variable rim is an exponential parameter of the independent variable X and can be set to different values according to characteristics and requirements of each cloud software service; and, when values of Parameter are all 1, the above formula becomes a linear regression model, and the w= {Wo wy, . } . . . parameter =m) in the formula is the parameter required to be solved and corrected. For a service quality prediction model with low accuracy, its runtime data under a certain workload can be collected, as shown in Table 1; and, based on a self-correction control theory, a difference between a predicted value and a true value is minimized, so as to realize a re-estimation and re-tuning of an original parameter W.
[0069] Table 1 Dataset of QoS prediction model self-correction 12
VM
[0070] In the present embodiment, as shown in figure 2, step S2 comprises two parts: parameter recursive estimation and parameter calculation, wherein the parameter recursive estimation is continuously estimating parameters of the QoS prediction model based on input and output information of the system; and the parameter calculation is calculating and tuning (usually tuning according to a proportion) parameters of the QoS prediction model and new parameter estimates, and updating the QoS prediction model with final calculation results to make the prediction performance of the QoS prediction model reach a best state or approach a best state.
[0071] In this embodiment, step S2 specifically comprises the following steps:
[0072] step S21: for the certain workload, in a continuous resource adjustment process, assuming that ¥ groups of the runtime data are collected, including the workloads, the virtual machine allocation situation and actual values DOS getal of Qos ‚ based on the workloads and the virtual machine allocation situation, obtaining the following ¥ QoS m+n
Oos = > WX prediction equations according to a formula I= 13
— | 022 | Vatm
Qo Spredicted1 =Wg+ Wid, 4 + Walks ++ Wam nom _ wit an? 2 Pate
QoSpredtcted2 =Wo+t WiX54 + Waxy ++ Wam 3m _ Ba Ba . Daden
UO Spr edicted 3 = wp + Wid 4 + Wad ++ Waamksn 3m
OOS predicted = Wo + Wit, + Wad + 4+ w, x predicted u wg 11 2 2,2 = nm pn (2)
[9073] For a known QoS prediction model, the index variable Parameter ig fixed and 1s not an object that needs to be corrected and concerned on in the present invention;
[0074] step S22: denoting formula (2) in a vector-matrix form as follows: : HF 422 nm
Jo Spredicted 1 1 Ya 12 Lm [Wo 7 - : LE Fz ee Ei (a Spredicted 2 1 A91 Xo Xo nam Wi - _ i” 9 | Ww : 31 3,2 “3ntm : … ml : ; : : : Wo, +m (Jo Sp redicted u 1 Pt Lr Prem
A 1 Yu 2 Ay nm i U, dL, 2 J (3) ;
[0075] letting Y denote a vector composed of ? predicted output QoS values, wherein W is a parameter vector of ’+/m+1 dimensions, and, ® denote a input matrix u *(n+m+1) |. . . . of ( ) dimensions, that is, letting: 3 234 oe Desm - 1 Tox x ee xT 08s redicted il We 1,1 bs +, 2 — . Di ‚22 ne rt
Qodyradicted 2 | Wa i Ast Az As nim
Y= Q08, enicted 3 , W= Wa Pp = pe 2 In ] : | : 1 Zi 32 TU Ee # ’ | Wot : : : : :
LY OS pre dirtadu | - DID 1 a ae ven aim il, Cay Ly FLT TE (4) :
[0076] simplifing formula (3) into the following vector-matrix equation:
[0077] VOW (5); . . Jos .
[0078] tor the collected actual quality of service values and actual values ¢ Seta it 14 i . Jas Ca > 77 . is a best estimate of QOS eres „indicated as Y : let W denote a best estimate of W then: or (6
[0079] step S23: performing parameter estimation by using a least square method, wherein the squared difference of the residual between the predicted QoS value and the actual
QoS value needs to be minimized; and wherein a vector form of the residual is expressed as follows: "24 | QoS, vedictedn - God, cunts £2 005, cqicteds GOS er #3 = QOS, sdicteds — QOSsecrmart
Pul {QoS _ QoS
AO vredictad MS ermal . (7) ;
[0080] the squared difference of the residual, that is, the index function is denoted as follows: wo J =ele=(Y DW) (Y — OW) (8) ;
CJ
[9081] taking a derivative of + by W, that is, taking OW , so that W can be solved out;
[0082] The parameter calculation is to calculate and set a new parameter vector for the
QoS prediction model. Tt requires a trade-off between an original parameter vector W and a personal best parameter vector , and the direct use of the personal best coefficient vector VW would make the QoS prediction model fall into the personal best, that is, under other workloads, the accuracy of the QoS prediction model is possible to be inaccurate.
[0083] step S24: performing a proportion tuning on the original coefficient vector W and the W (the personal best coefficient vector) obtained in step S23, as shown in the following formula:
W=nW +(1-7)W
W +(1-77) (9) :
[0084] wherein 7 is a parameter which can be set by an expert according to 15 requirements of different systems, and a higher value of 7? indicates a higher confidence proportion to the original parameter.
[0085] In the present embodiment, PSO is a computing technology based on swarm intelligence. It usually quickly converges to a personal best solution, but loses an opportunity to find a better solution in a global scope. The genetic algorithm is a meta-heuristic algorithm inspired by a natural selection process, and is usually used to generate a high-quality global best solution. The present invention introduces an idea of the genetic algorithm and proposes an improved PSO algorithm, which has a faster convergence speed and a better global search ability. A traditional PSO solves the problem through a candidate particle swarm. The particles continuously move and update themselves in a solution space according to a simple mathematical formula about position and speed. The movement of each particle 1s affected by a known personal best position (i.e., a personal best particle) and a global best position (i.e., a global best particle), thereby prompting some better positions to be discovered by the updated particles, i.e., the particle swarm would continue to evolve and update towards a best direction, so as to achieve a best solution.
[0086] The present embodiment proposes an improved particle swarm algorithm, which uses an update strategy of a genetic algorithm, including mutation and crossover calculations, to replace the movement of particles. Step S3 specifically comprises the tollowing steps:
[0087] step S31: for the coding of a cloud software service resource allocation problem, utilizing a discrete coding method to encode the particles of the PSO in the present invention. Assuming that there are m types of virtual machines, the quantity of each type of virtual machines is expressed as Vi wherein 1</<m then defining the particle coding of a certain resource allocation scheme as the following formula: 7 — {vn ’ as VM ={vmy, vm, Vm vm, (10) :
[0088] initializing the values of related parameters, including but not limited to a particle swarm size, a maximum number of iterations and an initial particle swarm size;
[0089] step S32: calculating a fitness value of each particle according to the following formula, setting each particle as its own personal best particle, and setting the particle with a minimum fitness value as a global best particle: 16
Fitness = Objective 1 =H +4 Cost
QoS (11) :
[0090] wherein 1 denotes trade-off of the quality of service (QoS), and "2 denotes trade-off of the cloud resource cost; the fitness function is a direction that guides the particle swarm optimization algorithm to search and solve, and has the same meaning as a management objective function of the present invention. Therefore, the management objective function is directly used as the fitness function of the particle swarm algorithm, as in formula (11). A better resource allocation scheme should get a smaller fitness function value.
[0091] step S33: updating the particles according to the mutation and crossover calculations, and recalculating a fitness value of each particle;
[0092] step S34: if the fitness value of the updated particle is better than its personal best particle, replacing the personal best particle with the updated particle;
[0093] step S35: if the fitness value of the updated particle is better than a global best particle, replacing the global best particle with the updated particle;
[0094] step S36: returning to step S33 until a stop condition is met, such as a maximum number of iterations is reached.
[0095] Preferably, in the present invention, the update strategy of particles mainly adopts the mutation and crossover.
[0096] For the update strategy of particles, the mutation and crossover are mainly employed.
[0097] For the mutation strategy, the mutation is to randomly select a locus in an ancestor particle, and then mutate the value of that locus to form a new particle. For the value of a certain locus, two mutation cases are designed: increasing by 1, and decreasing by 1, and the probability of each case is 1/2. As shown in figure 3, assuming that there are three types of virtual machines, and the particle before the mutation is (1, 2, 6). After the mutation operation, new particle (1, 2, 7) is produced. That is, the value of a third locus in the ancestor particle has increased by 1.
[0098] For the crossover strategy, the crossover consists of two steps. First, for a certain particle, randomly selecting two locuses in the particle, replacing a fragment 17 therebetween with the corresponding fragment in the personal best particle, and generating an intermediate temporary particle. Second, randomly selecting two locuses in the temporary particle, and replacing a fragment therebetween with the corresponding fragment in the global best particle to generate a new particle. As shown in figure 4 which illustrates a crossover calculation process, it is known that the ancestor particle is (1, 2, 7), the personal best particle is (0, 2, 6), and the global best particle is (0, 2, 5). First, performing the crossover on the fragment between the first locus and second locus of the ancestor particle and the personal best particle to generate the intermediate temporary particle (0, 2, 7); and then performing the crossover on the fragment between the second locus and third locus of the temporary particle and the global best particle, so as to generate the new particle (0, 2, 5). Such crossover calculation ensures that the particle swarm would gradually evolve towards a best direction.
[0099] In the present embodiment, the accuracy of the QoS prediction model is gradually improved, and the resulted target resource allocation scheme usually also changes.
If the resource adjustment is carried out completely in accordance with the target allocation scheme, in each circulation, it is very likely that the virtual machines will be dynamically started or stopped, which leads to rising resource costs. Therefore, according to the difference between the allocated resource situation and the target allocation scheme in each circulation, the resource adjustment is made according to a certain proportion to gradually approach the best resource allocation scheme so as to reduce additional costs caused by startup of unnecessary virtual machines or stop of rented virtual machines.
[00100] Step S4 specifically comprises the following steps:
[00101] step S41: using formula (12) to denote the allocated resources situation
VM care while using formula (13) to represent the target allocation scheme VM oee . . . . . : VM piven obtained in each circulation, and denoting the difference erence between the allocated resource situation VM gear and the target allocation scheme VM jee by formula (14) :
VM toate = vm, va, vm, ee va} (12) ,
VM opjeense = Om, vm, vay... Vi , (13) ; 00102] VM pigeon = vi = vil vm — ving von! —vi |. vin, VE} (14) :
[00103] step S42: calculating an overall change trend between the allocated resource 18 situation and the target allocation scheme in each circulation by using the following formula:
VM, = > VM py oronce (7 ) =1 (15) ;
VM, >0 .
[00104] when su , it denotes that virtual machine resources of the cloud software service as a whole need to be increased, and the quantity of virtual machines are not ce VAM, <0 . . i reduced at this time; and when sem > it denotes that the virtual machine resources of the cloud software service have a remaining computing power, and the quantity of the virtual machines needs to be appropriately reduced instead of increasing the quantity of the virtual machines at this time; . . . ye fF OVE
[00105] step S43: assuming that the resource adjustment proportion is Proportion , and O<Proportion<l in order to ensure that the quantity adjusted each time for each type of the virtual machines is an integer, performing a rounding operation. As shown in formula (16), it 1s the quantity of the Ith type of the virtual machines that needs to be adjusted, and, when Vi ddfustement > 0, it denotes adding VMAdjustement virtual machines of this type; on the contrary, VMAdjustement 4101 machines of this type are reduced; wherein
Anipart() ga rounding function, its meaning is as in formula (17). For a certain value a, if it is greater than or equal to 0, it is rounded up; if it is negative, it is rounded down.
VM acljustement (0) = Intpart(FM pene () * P rop orfion ) (16) ; . a, a=20 intpart(a) =< | 0 —intpart(—a),a < a7
[00106] The present embodiment proposes a decision-making algorithm to calculate the resource allocation adjustment scheme, as shown in figure 5. If the value of each item in the
VM tene A: . array erence 18 0, it means that the current resource allocation scheme is the same as the target allocation scheme and does not need to be adjusted (Lines 3 - 4). Otherwise, guiding an overall trend, either increase or decrease, of the resource allocation according to the value of
VM, Tina & PM, sim (Line 6), If the value of sen 1g greater than or equal to 0, the virtual machine resources will be increased (Lines 7 - 14); conversely, the allocated virtual machine resources will be reduced (Lines 15 - 23). For example, when the value of VM is greater than or 19 equal to 0, if the index™ value in the array VM pierce is a positive number, performing calculation on it according to proportion a roportion ) and then rounded ( Inipart 0) the result to get the quantity PM susie index) that needs to be adjusted (Lines 9 - 10); but If the index™ value in the array VM pre is a negative number, then directly taking O as the adjusted quantity (Lines 11 - 13). That is, when the overall trend is to increase virtual machine resources, even if the quantity of certain types of virtual machines needs to be reduced, neither the quantity of the virtual machines will be reduced nor the virtual machines will be stopped renting. Instead, the original quantity will continue to be maintained. Because "the overall trend is to increase the virtual machine resources" means that the currently allocated computing power cannot meet the current workload, in order to give priority to ensuring the level of the quality of service, only virtual machines are added firstly. Of course, if the level of the quality of service is guaranteed after adding virtual machines this time, but the virtual machine resources are redundant, algorithm 1 will automatically calculate the quantity of virtual machines that needs to be reduced in the next round of calculations (Lines 15 - 23).
[00107] Preferably, the method proposed in this embodiment is evaluated next. This embodiment mainly evaluates the effectiveness of the resource allocation method, the improvement of the accuracy of the QoS prediction model, and the performance of the self-correction method, and compares the method with the traditional resource allocation method and the rule-based method, so as to select three types of the virtual machines (small, medium, and large types of virtual machines).
[00108] For the workload category settings, it is divided into two categories: an only browse behavior (Only Browse) and other behaviors (Selling, Bidding, Rating, etc.). The specific workload changes are shown in figure 7, wherein a horizontal line segment represents the average workload quantity, and a bar graph represents the proportion of the two types of workloads. For the changes in the quantity of the workloads, initially, it is a slow increase, followed by a sudden decrease and a sudden increase, and finally a slow decrease. Such changes in the quantity of workloads are to verify the effectiveness of the method of the present invention for adaptively allocating resources. The whole experiment lasts for 7 hours, and the average load quantity in each hour is certain, and the quantity range is [3000, 5000].
[00109] The effectiveness evaluation of this embodiment is specifically as follows:
[00110] In this embodiment, the effectiveness of the self-correction method is evaluated 20 based on the resource allocation situations under different workloads. Table 2 illustrates the resource allocation situations of the three different methods under the different workloads.
From these tables, it can be seen that there are many factors that affect the resource allocation.
[00111] Table 2 Resource allocation situations of three adaptive resource allocation methods under different workloads
Confi | Resour First Second | Third | Fourth Fifth Sixth | Seventh dence ce interval | interval | interval | interval | interval | interval | interval allocati on method 75% The 0,2,5 | 0,45 | 0,5,5 | 0,0,5 | 0,1,7 | 0,1,7 | 0,0,6 present method
Traditio | 0,2,6 | 0.3.6 | 0.4.6 | 0.0,6 | 0.0.8 | 0.0.8 | 0.1.6 nal method
Ruledri | 0,1,7 | 0.2.7 | 0,3,7 | 0.1.6 | 0.1.8 | 0.2.7 | 0.2.6 ven method 70% The 0,3,5 | 0,3,6 | 0.46 | 0,2.5 | 0,2,7 | 0,1,7 | 0.1.5 present method
Traditio | 0,2,7 | 0,3,7 | 0,47 | 0,1,6 | 0.2.8 | 0,1.8 | 0,1,7 nal method
Rule-dri | 0,1,7 | 0,2,7 | 0.3.7 | 0,1.6 | 0,18 | 0,2.7 | 0.2.6 ven method
[00112] First, the average quantity of the workloads and the proportion of load types directly affect the resource allocation scheme. For example, for the first three intervals, it can be seen from figure 6 that the average quantity of the workloads and the proportion of load types are different. Correspondingly, each resource allocation method has a significant difference in the resources allocated among these three intervals; of course, within the same interval, the resources allocated by the three methods also have differences.
[00113] Second, the resource allocation situation in a previous interval will affect the resource allocation in the current interval. For example, it can be seen from figure 6 that the average quantity of the workloads and the proportion of the load types in the first interval and the sixth interval are the same. However, for the method of this embodiment and the traditional method, because the resource allocation in the sixth interval is affected by the allocated resource situation in the previous interval (the fifth interval) (because this 21 embodiment considers that subtracting the allocated resources is costly), there is a difference between the resources allocated in the first interval and that in the sixth interval.
[00114] Third, the accuracy of the QoS prediction model will also affect the resource allocation scheme. For the two QoS prediction models with different accuracy in this embodiment, there is a difference between the resources allocated in each stage.
[00115] Finally, the three methods can all perform the adaptive resource allocation to a certain extent. For the self-correction method, it can effectively perform the adaptive resource allocation under the two QoS prediction models. Taking the QoS prediction model with 75% confidence as an example. When the average workload rises from 4000 to 4500 (from the first interval to the second interval), the allocation situation of the virtual machines changes from <0, 2, 5> to <0, 4, 5>, and in this embodiment, 2 more virtual machines of Medium type would be allocated to respond to the increased 500 workloads; when the average workload drops from 5000 to 3000 (from the third interval to the fourth interval), the allocation situation of the virtual machines changes from <0, 5, 5> to <0, 0, 5>. Due to a sudden drop in the workload, in this embodiment, 5 redundant virtual machines of the Medium type would be stopped to ensure a minimum cost of the cloud resources. As above, regardless of the increase or decrease of the workload, the method of this embodiment can effectively perform the adaptive resource allocation.
[00116] The improvement of the accuracy of the prediction model in this embodiment is specifically as follows: for a given workload, the accuracy of the original QoS prediction model and the accuracy of the corrected QoS prediction model are compared in this embodiment, so as to evaluate the improvement of the accuracy of the QoS prediction model by the self-correction method. As shown in figure 7, in this embodiment, a relative error value
R for each iteration is calculated. It can be seen that the self-correction method in this embodiment can significantly improve the accuracy of the QoS prediction model under the given workload.
[00117] First, improving the accuracy of the QoS prediction model is a gradual process.
As the number of the feedback iterations increases, the relative error value of the model becomes smaller (discrete points of the same color in figure 7). For example, when the number of the feedback iterations is 0, the average relative error of the QoS prediction model with 75% confidence of is 0.23; when the number of the feedback iterations is 3, the average relative error 1s reduced to 0.08. 22
[00118] Second, in this embodiment, the accuracy of the two QoS prediction models with different accuracy can be effectively improved. For the QoS prediction model with 70% confidence, the influence of this embodiment is more obvious, and its accuracy is more effectively improved. For example, when the number of the feedback iterations is 0, the average relative error of the QoS prediction model with the 70% confidence is 0.26; when the number of feedback iterations is 3, the average relative error is reduced to 0.06. Compared with the QoS prediction model with the 75% confidence, after the same number of iterations, the original model with a low accuracy has been improved more effectively, wherein the average relative error value for the 70% confidence drops by 0.20, while the average relative error value for the 75% confidence drops by 0.15.
[00119] Finally, regardless of the accuracy, the accuracy of the two QoS prediction models has been effectively improved after a complete iterative process, and finally maintains at a very low relative error level. For example, after 5 feedback iterations, the relative error value of the QoS prediction model with the 70% confidence is reduced by 24% on average, while the relative error value of the QoS prediction model with the 75% confidence is reduced by 20% on average after 7 feedback iterations. Finally, the relative errors of the two are both maintained at about 0.02.
[00120] The performance evaluation of the method in this embodiment is specifically as follows:
[00121] For the comparison of adaptive resource allocation performance, in this embodiment, an objective function value (that is, the fitness value) for verification is directly used. The better a good resource allocation scheme, the smaller the fitness value.
[00122] As shown in figure 8, compared with the traditional method, when the confidence is 70%, the self-correction method can improve the performance by 8% on average; when the confidence is 75%, it can improve the performance by 4% on average. In both cases of confidence, the performance of the self-correction method is improved compared with the traditional method. This is because that the accuracy of the QoS prediction model will affect the final resource allocation scheme. However, the method in this embodiment can continuously improve the accuracy of the QoS prediction model, and the lower the accuracy of the original model, the better the improvement effect. Based on the model with improved accuracy, the particle swarm optimization algorithm can search for a better resource allocation scheme. Moreover, compared with the traditional method, when the 23 accuracy of the QoS prediction model is not high, the resource allocation scheme of the method in this embodiment is better and the performance is better.
[00123] As shown in Figure 8, compared with the traditional rule-driven method, when the confidence 1s 70%, the method in this embodiment can improve the performance by 4% on average, when the confidence is 75%, it can improve the performance by 7% on average.
Since the rule-driven method follows the rules described in Tables 6 - 8 and does not depend on the accuracy of the QoS prediction model; while the method in this embodiment uses the
QoS prediction model, of which the accuracy will affect the performance of the resource allocation. When an accurate QoS prediction model is used, this embodiment can obtain the best resource allocation scheme, so that the performance is significantly improved compared to the rule-driven method. In fact, the setting of the rules needs to be tailored to different cloud software services, while considering SLA requirements, performance of various types of virtual machines etc., which will increase the dependence on cloud engineers and the difficulty of management. The QoS prediction models of the two methods in this embodiment are obtained based on the machine learning method, and are self-learning. For different cloud software services, as long as the required dataset is collected, the QoS prediction model can be obtained after training. Meanwhile, when the accuracy of the QoS prediction model is not high enough, the method in this embodiment provides a model correction method based on the self-correction control theory, which can continuously improve the accuracy of the QoS prediction model.
[00124] A person skilled in the art should understand that the embodiment of the invention can be provided as a method, a system or a computer program product. Therefore, the present application can adopt the forms of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining hardware and software elements.
Furthermore, the present application can adopt the form of a computer program product which can be executed by one or more computer usable storage mediums containing computer usable program codes therein (including but not limited to magnetic disk memory, CD-ROM, optical memory and the like).
[00125] The present application is described with reference to the flow charts and/or block diagrams of the method, device (system) and computer program product according to the embodiments of the present application. It will be understood that each flowchart and/or block in flowchart illustrations and/or block diagrams and the combination between flowchart and/or block in flowchart illustrations and/or block diagrams can be achieved by computer 24 program instructions. These computer instructions can be provided to a general-purpose computer, a specialized computer, an embedded processor, or the processor of other programmable data equipment so as to give rise to a machine with the result that the commands executed through the computer or processor of other programmable data equipment give rise to a device that is used to realize the functions designated by one or more processes in a flow chart and/or one or more blocks in a block diagram.
[00126] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the specified function in a flow chart and/or one or more blocks in a block diagram.
[00127] Such computer program instructions can also be loaded on computers or other programmable data processing equipment so as to carry out a series of operation steps on computers or other programmable equipment to generate the process to be achieved by computers, so that the commands to be executed by computers or other programmable equipment achieve the one or multiple flows in the flowchart and/or the functions specified in one block or multiple blocks of the block diagram.
[00128] The above are only preferred embodiments of the present invention, and are not intended to limit the present invention in other forms. Any skilled person familiar with the art may change or modify the technical content disclosed above to obtain the equivalent embodiments. However, any simple modifications, equivalent changes and variations made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention still belong to the protection scope of the technical solution of the present invention. 25

Claims (7)

Conclusies:Conclusions: 1. Een werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model, gekenmerkt doordat de werkwijze de volgende stappen omvat: stap S1: online zelflerend om een QoS-voorspellingsmodel te verkrijgen; stap S2: het verzamelen van runtime-gegevens onder een bepaalde werkbelasting, en het verbeteren van de nauwkeurigheid van het QoS-voorspellingsmodel onder een huidige werkbelasting door middel van zelfafstemmende controle; stap S3: het construeren van een fitness-functie door het combineren van Quality of Serice (QoS) en kosten van cloudbronnen (Cost), en het zoeken naar een schema voor de toewijzing van doelmiddelen met behulp van een verbeterde deeltjeszwerm optimalisatie-algoritme; stap S4: vergelijken van een huidige situatie bij de toewijzing van middelen met het gezochte schema voor de toewijzing van doelmiddelen om een verschil tussen beide te verkrijgen, en aanpassen van middelen volgens een bepaalde verhouding; en stap S5: het herhalen van de stappen S2 tot en met S4 totdat de huidige toewijzing van middelen gelijk aan het schema voor de toewijzing van doelmiddelen, en dus het voltooien van de aanpassing van de middelen.A resource allocation method for cloud software services based on self-tuning of a QoS model, characterized in that the method comprises the steps of: step S1: online self-learning to obtain a QoS prediction model; step S2: collect runtime data under a given workload, and improve the accuracy of the QoS prediction model under a current workload through self-tuning check; step S3: construct a fitness function by combining Quality of Service (QoS) and cost of cloud resources (Cost), and find a target resource allocation scheme using an improved particle swarm optimization algorithm; step S4: comparing a current state of resource allocation with the searched target resource allocation scheme to obtain a difference between them, and adjusting resources according to a certain ratio; and step S5: repeating steps S2 through S4 until the current resource allocation equals the target resource allocation schedule, thus completing the adjustment of resources. 2. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 1, gekenmerkt doordat de stap SI specifiek het volgende omvat: eerst een mapping functie van QoS voor de responstijd vaststellen, zodat de QoS beter kan worden weergegeven, en vervolgens door middel van machinaal leren een relatiemodel vaststellen tussen werkbelasting, toegewezen bronnen en de QoS, en het verkregen QoS-voorspellingsmodel initialiseren voor een volgende stap S2.The resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 1, characterized in that the step S1 specifically comprises: first establishing a mapping function of QoS for the response time, so that the QoS can be better represented, and then establish a relationship model between workload, allocated resources and the QoS by machine learning, and initialize the obtained QoS prediction model for a next step S2. 3. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 1, gekenmerkt doordat in stap S1 het QoS-voorspellingsmodel een belastingsverzoek (R) en een toegewezen virtuele machine (VM) als inputs neemt, en de Quality of Service (QoS) als output neemt, om zo een verenigd niet-lineair regressiemodel op te stellen zoals weergegeven in de volgende formule: 26 m+n QoS => wx? {=0 ( 1) waarbij de onafhankelijke variabele X een reeks belastingverzoeken # en toegewezen virtuele machines VM is; de werkbelasting R= fre Yeon) geeft aan dat er 7 soorten belastingverzoeken zijn, waarin Yet staat voor de hoeveelheid van het /-de belastingverzoek; de toewijzing van middelen is VM= Woo Vegen J geeft aan dat er M soorten virtuele machines zijn, waarin Xen staat voor de hoeveelheid van het /-de type van de virtuele machines; de exponentiële variabele Parameter =p Pr Pain} is een exponentiële parameter van de onafhankelijke variabele X; en wanneer de waarden van Parameter z2lle 1 zijn, wordt de bovenstaande formule een lineair regressiemodel, en de parameter” 7 WW} in de formule is de parameter die moet worden opgelost en gecorrigeerd.The resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 1, characterized in that in step S1, the QoS prediction model takes a load request (R) and a dedicated virtual machine (VM) as inputs and takes the Quality of Service (QoS) as output, to construct a unified non-linear regression model as shown in the following formula: 26 m+n QoS => wx? {=0 ( 1) where the independent variable X is a set of load requests # and assigned virtual machines VM; the workload R= fre Yeon) indicates that there are 7 types of tax requests, where Yet represents the quantity of the /th tax request; the resource allocation is VM= Woo Sweep J indicates that there are M types of virtual machines, where Xen is the quantity of the /th type of the virtual machines; the exponential variable Parameter =p Pr Pain} is an exponential parameter of the independent variable X; and when the values of Parameter z2lle are 1, the above formula becomes a linear regression model, and the parameter” 7 WW} in the formula is the parameter to be solved and corrected. 4. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 1, gekenmerkt doordat stap S2 twee delen omvat: recursieve schatting van parameters en parameterberekening, waarbij de recursieve schatting van parameters een voortdurende schatting is van parameters van het QoS-voorspellingsmodel op basis van invoer- en uitvoerinformatie van een systeem, en de parameterberekening een berekening en afstemming is van oorspronkelijke parameters van het QoS-voorspellingsmodel en nieuwe parameterschattingen, en het bijwerken van het QoS-voorspellingsmodel met de definitieve berekeningsresultaten, zodat de voorspellingsprestaties van het QoS-voorspellingsmodel een beste staat bereiken of een beste staat benaderen.The resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 1, characterized in that step S2 comprises two parts: recursive estimation of parameters and parameter calculation, wherein the recursive estimation of parameters is a continuous estimation is of parameters of the QoS prediction model based on input and output information of a system, and the parameter calculation is a calculation and tuning of original parameters of the QoS prediction model and new parameter estimates, and updating the QoS prediction model with the final calculation results so that the prediction performance of the QoS prediction model reaches or approaches a best state. 5. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 3, gekenmerkt doordat stap S2 specifiek de volgende stappen omvat: stap S21: voor een bepaalde werkbelasting, in een continu proces van aanpassing van de middelen, ervan uitgaande dat ¥ groepen runtime-gegevens worden verzameld, met inbegrip 27The resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 3, characterized in that step S2 specifically comprises the following steps: step S21: for a particular workload, in a continuous process of adjustment of resources, assuming ¥ groups of runtime data are collected, including 27 . ee. . . .. Jos van werkbelasting, toewijzing van virtuele machines en werkelijke waarden QOS aca van QoS ‚ op basis van de werkbelasting en de toewijzing van virtuele machines, het verkrijgen m+n QoS = > owl van de volgende ¥ QoS-voorspellingsvergelijkingen volgens een formule 1=0 : — 347 ee £2 weir go Spredictedt = Wg FW 1% 4 + wax, ++ Wam om — ar Ee ee 2 wint QOSpredicted2 = Wg + WiXoy + Wa, ++ Waamd nim - _ ae ee a nt 0 Spredicted3 = Wg + WiXsy + WaXss +... + WatmXa, om — #1 42 , Erm QOS, redictedu = Wg + WiX 4 + W2X 3 ++ Waamd, nom (2): stap S22: het uitdrukken van formule (2) als volgt in een vector-matrixvorm omzetten: ST 2 Frm —_ —- 1 X x ves x ) / (JO Spredicted 4 1,1 1,2 1ntm Wo 1 IC 1 „02 vn , (Ja Sp redicted 2 1 A1 Yaz x 2,n+m Wi oe _ Wo (Jo Sp redicted 31 = 1 xt KP? LL Prim x 2. ee. . . .. Jos of workload, assignment of virtual machines and actual values QOS aca of QoS ‚ based on the workload and assignment of virtual machines, obtaining m+n QoS = > owl of the following ¥ QoS prediction equations according to a formula 1 =0 : — 347 ee £2 weir go Spredictedt = Wg FW 1% 4 + wax, ++ Wam om — ar Ee ee 2 wins QOSpredicted2 = Wg + WiXoy + Wa, ++ Waamd nim - _ ae ee a nt 0 Spredicted3 = Wg + WiXsy + WaXss +... + WatmXa, om — #1 42 , Erm QOS, redictedu = Wg + WiX 4 + W2X 3 ++ Waamd, nom (2): step S22: expressing formula (2) convert to vector matrix form as follows: ST 2 Frm —_ —- 1 X x ves x ) / (JO Spredicted 4 1,1 1,2 1ntm Wo 1 IC 1 „02 vn , (Ja Sp redicted 2 1 A1 Yaz x 2,n+m Wi oe _ Wo (Jo Sp redicted 31 = 1 xt KP? LL Prim x 2 : 3.1 3,2 “and : . : : Wam Qo Spredicted U | 1 a? vP2 vin or i “ul Tw HN 3) : laat ¥ een vector bestaande uit de door # voorspelde output QoS-waarden zien, zijnde een parametervector met ”+m+l dimensies, en laat © een inputmatrix met u*(n+m+]) dimensies zien, d.w.z. laat: a 1 72 ves Pater R05, regicted 1 Wg 1 Fix X1,2 Xin > ‘ Dt p2 Daden Q9Spredicted 2 Wi 1 oxy, Xa 7 Moi : 7 Va a Lo Y= QoS, reiicreds HW = Wz D= 1 vit v>? oan am : : 3,1 3.2 "Zn ’ Woo : : : : : dos, redictedu Em 1 x” : x2 vax or on hip ko ee LE FLITE 4) : formule (3) te vereenvoudigen tot de volgende vector-matrixvergelijking: V=oW (3; 28 voor de verzamelde werkelijke waarden van de QoS is de werkelijke waarde QOS sea een OOS predicted sed f : Ww beste schatting van predicted aangeduid als + ; laat een beste schatting van ’” | dan aanduiden: Yy =0W (6) ; stap S23: het uitvoeren van parameterschatting door middel van een kleinste kwadratenmethode, waarbij het gekwadrateerde verschil van het residu tussen een voorspelde en een werkelijke QoS-waarde tot een minimum moet worden beperkt, en waarbij een vectorvorm van het residu als volgt wordt uitgedrukt: ei} GoSssredictedt - 00S; cua 1 £3 20S, vedictedn == 005, ctunit g = 3 = Os dicted 3 — 008 twain: 3.1 3.2 “and : . : : Wam Qo Spredicted U | 1 a? vP2 vin or i “ul Tw HN 3) : shows ¥ a vector consisting of the output QoS values predicted by #, being a parameter vector with ”+m+l dimensions, and shows © an input matrix with u*(n+m+ ]) dimensions, i.e. show: a 1 72 ves Pater R05, regicted 1 Wg 1 Fix X1,2 Xin > ' Dt p2 Deeds Q9Spredicted 2 Wi 1 oxy, Xa 7 Moi : 7 Va a Lo Y= QoS, reiicreds HW = Wz D= 1 vit v>? oan am : : 3,1 3.2 "Zn ' Woo : : : : : dos, redictedu Em 1 x” : x2 vax or on hip ko ee LE FLITE 4) : simplify formula (3) to the following vector-matrix equation: V=oW (3; 28 for the collected actual values of the QoS, the actual value QOS sea is an OOS predicted sed f : Ww best guess of predicted denoted as + ; let a best guess of '” | then denote: Yy =0W (6); Step S23: Perform parameter estimation by a least squares method, where the squared difference of the residual between a predicted and an actual QoS value is to be minimized, and a vector form of the residual is as follows is expressed: ei} GoSssredictedt - 00S;cua 1 £3 20S, vedictedn == 005, ctunit g = 3 = Os dicted 3 — 008 twain 2. ' - SH 005, edicted u 005; ctuatt 7 : het gekwadrateerde verschil van het residu, d.w.z. de indexfunctie wordt als volgt aangeduid: J=ele=(Y 0-0) (g) oJ Het nemen van een afgeleide van 7 met betrekking tot W dwz. het nemen van OW, zodat dat kan worden opgelost: stap S24: het uitvoeren van een proportionele afstemming op de oorspronkelijke coéfficiéntvector W en de W in stap S23 verkregen, zoals weergegeven in de volgende formule: W =n +17 ©) waarin 7 een parameter is, en een hogere waarde van 7? wijst op een hogere betrouwbaarheidsverhouding voor de oorspronkelijke parameter.2. ' - SH 005, edicted u 005; ctuatt 7 : the squared difference of the residual i.e. the index function is denoted as follows: J=ele=(Y 0-0) (g) oJ Taking a derivative of 7 with respect to W ie. taking OW so that it can be solved: step S24: performing a proportional fit on the original coefficient vector W and the W obtained in step S23, as shown in the following formula: W = n +17 ©) where 7 is a parameter is, and a higher value of 7? indicates a higher confidence ratio for the original parameter. 6. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 1, gekenmerkt doordat stap S3 specifiek de volgende stappen omvat: stap S31: ervan uitgaande dat er m soorten virtuele machines zijn, en de hoeveelheid van elk 29 type virtuele machine wordt uitgedrukt als VI waarin 1<7<m; en wordt de deeltjescode van een bepaald schema voor de toewijzing van middelen gedefinieerd als de volgende formule: VM = {vm vm, ,vm,,... vin} (10) ; het initialiseren van de waarden van relevante parameters, met inbegrip van maar niet beperkt tot een deeltjeszwermgrootte, een maximumaantal iteraties en een initiële deeltjeszwermgrootte; stap S32: berekening van een fitnesswaarde van elk voorbeeld volgens de volgende formule, het instellen van elk deeltje als zijn eigen persoonlijk beste deeltje, en het instellen van een deeltje met een minimale fitnesswaarde als een globaal beste deeltje: Fitness = Objective =F 1 +1, Cost Qos an; waarin ’i staat voor de afweging van de QoS, en "> staat voor de afweging van de kosten van cloudbronnen; stap S33: het bijwerken van de deeltjes volgens mutatie- en crossoverberekeningen, en het herberekenen van een fitnesswaarde van elk deeltje; stap S34: als de fitnesswaarde van het bijgewerkte deeltje beter 1s dan zijn persoonlijk beste deeltje, wordt het persoonlijk beste deeltje vervangen door het bijgewerkte deeltje; stap S35: als de fitnesswaarde van het bijgewerkte deeltje beter is dan een globaal beste deeltje, wordt het globaal beste deeltje vervangen door het bijgewerkte deeltje; stap S36: terugkeren naar stap S33 totdat aan een stopvoorwaarde is voldaan.The resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 1, characterized in that step S3 specifically includes the following steps: step S31: assuming there are m kinds of virtual machines, and the quantity of each type of virtual machine is expressed as VI where 1<7<m; and the particle code of a given resource allocation scheme is defined as the following formula: VM = {vm vm, ,vm,,... vin} (10) ; initializing the values of relevant parameters, including but not limited to a particle swarm size, a maximum number of iterations and an initial particle swarm size; step S32: calculation of a fitness value of each example according to the following formula, setting each particle as its own personal best particle, and setting a particle with a minimum fitness value as a global best particle: Fitness = Objective =F 1 + 1, Cost Qosan; where 'i is QoS tradeoff, and '> is cloud resource cost tradeoff; step S33: update the particles according to mutation and crossover calculations, and recalculate a fitness value of each particle; step S34 : if the fitness value of the updated particle is better than its personal best particle, the personal best particle is replaced by the updated particle; step S35: if the fitness value of the updated particle is better than a global best particle, the global best particle becomes replaced with the updated particle Step S36: Return to step S33 until a stop condition is met. 7. De werkwijze voor de toewijzing van middelen voor cloud-softwarediensten op basis van zelfafstemming van een QoS-model volgens conclusie 1, gekenmerkt doordat stap S4 specifiek de volgende stappen omvat: stap S41: met formule (12) de toegewezen middelen VM cea aanduiden, met formule (13) het in elke omloop verkregen schema voor de toewijzing van de doelmiddelen VM ojee aanduiden, en met formule (13) het verschil VM pige tussen de toegewezen middelenThe resource allocation method for cloud software services based on self-tuning of a QoS model according to claim 1, characterized in that step S4 specifically includes the following steps: step S41: with formula (12), designate the allocated resources VM cea , denote with formula (13) the scheme obtained in each round for the allocation of the target resources VM ojee, and with formula (13) the difference VM pige between the allocated resources AM ee VM opeerwe . VM ocatea en het schema voor de toewijzing van de doelmiddelen oteewe aanduiden: TA find yap A A VM eased == {vm > vin, 3 Vn, 2 vi, } (12) ;AM ee VM oper . Indicate VM ocatea and the target resource allocation scheme oteewe: TA find yap A A VM eased == {vm > vin, 3 Vn, 2 vi, } (12) ; “=. 3 TA, Sd apn eran? 13a VM opjeeiive ={vm ‚VA, ‚VA; Vm} (13) : > > A Gd 0 ad 0 VM pigerenee = VI VM, ‚VM; VAL, VA VBL „VA, VA, } (14) : + 3 stap S42: berekening van een algehele veranderingstrend tussen de toegewezen middelen en het schema voor de toewijzing van de doelmiddelen in elke omloop met behulp van de volgende formule: mn VM sn = DVM pence (D) } I= (15) ; VM, >0 . . Wanneer sum , het aanduidt dat de virtuele machinehulpbronnen van de cloud-softwarediensten als geheel moeten worden verhoogd, en het aantal virtuele machines“=. 3 TA, Sd apn on it? 13a VM opjeeiive ={vm ‚VA, ‚VA; Vm} (13) : > > A Gd 0 ad 0 VM pigerenee = VI VM, ‚VM; VAL, VA VBL „VA, VA, } (14) : + 3 Step S42: Calculation of an overall change trend between the resources allocated and the target resource allocation schedule in each round using the following formula: mn VM sn = DVM pence (D) } I= (15) ; VM, >0 . . When sum , it denotes that the virtual machine resources of the cloud software services as a whole should be increased, and the number of virtual machines . . / VAM <0 . . op dit moment niet wordt verlaagd; en wanneer wn = het aanduidt dat de virtuele machinehulpbronnen van de cloud-softwarediensten een resterende rekencapaciteit hebben, en het aantal virtuele machines op gepaste wijze moet worden verlaagd in plaats van het aantal virtuele machines op dit moment te verhogen; stap S43: ervan uitgaande dat het aandeel van de aanpassing van de middelen Proportion ‚en 0 < Proportion <1 , een afronding is vereist om ervoor te zorgen dat de telkens aangepaste hoeveelheid voor elk type virtuele machine een geheel getal is; zoals aangegeven in formule (16) is de hoeveelheid van het ! de type virtuele machine die moet worden aangepast, en VM en >0 VM, : wanneer adstment = betekent dit dat adssment virtuele machines van dit type worden VM ,, justment 1 1 1 1 toegevoegd; en omgekeerd, ïsmer virtuele machines van dit type worden verminderd, waarin part ig een afrondingsfunctie; _ 7] xr "fT VM ajustement () - Intpart(+ A A psi oronce (7) P. r op orl on) ( 1 6) 31. . / VAM < 0 . . is not being lowered at this time; and when wn = it indicates that the virtual machine resources of the cloud software services have residual computing capacity, and the number of virtual machines should be appropriately reduced rather than increasing the number of virtual machines at this time; step S43: Assuming the proportion of the adjustment of the resources Proportion ‚ and 0 < Proportion < 1 , a rounding is required to ensure that the adjusted amount for each type of virtual machine is an integer; as indicated in formula (16), the amount of the ! the type of virtual machine to be modified, and VM and >0 VM, : when adstment = it means adssment virtual machines of this type will be added VM ,, justment 1 1 1 1; and conversely, if more virtual machines of this type are reduced, where part ig is a rounding function; _ 7] xr "fT VM ajustement () - Intpart(+ A A psi oronce (7) P. r op orl on) ( 1 6) 31
NL2029431A 2021-10-15 2021-10-15 Cloud software service resource allocation method based on qos model self-correction NL2029431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL2029431A NL2029431B1 (en) 2021-10-15 2021-10-15 Cloud software service resource allocation method based on qos model self-correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL2029431A NL2029431B1 (en) 2021-10-15 2021-10-15 Cloud software service resource allocation method based on qos model self-correction

Publications (1)

Publication Number Publication Date
NL2029431B1 true NL2029431B1 (en) 2023-05-04

Family

ID=86270101

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2029431A NL2029431B1 (en) 2021-10-15 2021-10-15 Cloud software service resource allocation method based on qos model self-correction

Country Status (1)

Country Link
NL (1) NL2029431B1 (en)

Similar Documents

Publication Publication Date Title
CN110138612B (en) Cloud software service resource allocation method based on QoS model self-correction
AU2024200810A1 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
US11222288B2 (en) Building deep learning ensembles with diverse targets
CN110415462B (en) ATM equipment banknote adding optimization method and device
CN112052071B (en) Cloud software service resource allocation method combining reinforcement learning and machine learning
CN111950810B (en) Multi-variable time sequence prediction method and equipment based on self-evolution pre-training
CN115689069B (en) Power grid dispatching control method and system based on artificial intelligence
CN113031983A (en) Intelligent software upgrading method and device based on deep reinforcement learning
CN116644804A (en) Distributed training system, neural network model training method, device and medium
CN111695725A (en) ATM (automatic teller machine) money adding method and device based on heuristic search
NL2029431B1 (en) Cloud software service resource allocation method based on qos model self-correction
CN113537614A (en) Construction method, system, equipment and medium of power grid engineering cost prediction model
CN110362378A (en) A kind of method for scheduling task and equipment
EP3851921A1 (en) Distributed computer control system and method of operation thereof via collective learning
CN117236427A (en) Decision constraint rule characterization method for task actions
CN114648178B (en) Operation and maintenance strategy optimization method of electric energy metering device based on DDPG algorithm
CN113220437B (en) Workflow multi-target scheduling method and device
CN116975753A (en) Data category based prediction method, device, equipment and medium
CN110826695A (en) Data processing method, device and computer readable storage medium
WO2023070274A1 (en) A method and an apparatus for continual learning
EP4246375A1 (en) Model processing method and related device
CN115422486A (en) Cloud service online page optimization method based on artificial intelligence and big data system
CN115544033A (en) Method, device, equipment and medium for updating weight checking vector library and data weight checking
CN114581220A (en) Data processing method and device and distributed computing system
CN111641974A (en) Method and storage device based on 5G small-sized cellular hybrid renewable energy network