Towards Optimal Performance and Resource Management in Web ...

2 downloads 96 Views 163KB Size Report
ing and performance management of a system, including the user requirements, system ... the use of control theory to control web server systems. [8], [12] ...
Towards Optimal Performance and Resource Management in Web Systems via Model Predictive Control Tharindu Patikirikorala, Liuping Wang and Alan Colman Abstract— Management of the performance quality attributes and shared computing resources in a web system environment is vital to many business domains in order to achieve business objectives. These systems need to provide agreed levels of quality of service to their clients while allocating limited available resources among them. This paper proposes a new selfoptimizing scheme based on predictive control with constraints for managing such systems. It firstly addresses the issue of building a multi-input multi-output (MIMO) system model when the equality constraints on the total amount of resources are considered. Then, the same performance management and resource allocation problem is reformulated with inequality constraints to improve the system model identification and runtime control. With the dynamic model built, the resource management problem in a shared resource environment is solved using model predictive control with constraints to provide runtime control and constraint optimization. The performance of the proposed control system is validated on a prototype system implementing a real world scenario under different operation conditions.

I. I NTRODUCTION The increasing complexity and scale of the software systems demand effective and efficient mechanisms to manage them in a systematic way. Many web based systems such as e-commerce systems, banking systems and utility computing environments rely on software systems to deliver desired functional services, while maintaining the non-functional properties. Response time, throughput, availability and security are some of these non-functional (quality of service) attributes such systems must maintain at an acceptable level to avoid customer dissatisfaction. Among many challenges that arise in maintaining such properties is the runtime management of system performance to achieve/guarantee particular service levels when the systems are hosted in shared resources environments [11], [12], [10]. Many factors impact on the resource provisioning and performance management of a system, including the user requirements, system characteristics and resource constraints. Firstly, the system typically needs to provide services to multiple client classes and achieve the service level agreements (SLAs) with them. Workloads (request rates) from these different client classes may vary overtime in an unpredictable fashion. Furthermore, a resource allocation decision for one client class should not affect the other classes (so called performance isolation) or should provide Tharindu Patikirikorala is with Swinburne University of Technology, Australia [email protected] Liuping Wang is with RMIT University, Australia,

[email protected] Alan Colman is with Swinburne University of Technology, Australia

[email protected]

differentiated service levels depending on the priority of the client class [11], [12]. Secondly, the inherent nonlinear characteristic and behavior of software systems make runtime performance management difficult [8], [11], [17]. Thirdly, resources need to be efficiently allocated at runtime, taking into account the total available resources and any minimum levels of resources needed to ensure a viable service delivery to individual client classes. In summary, the problem is to guarantee performance objectives of multiple client classes while allocating limited amount of resources with constraints. The performance management of such a software system is therefore a multiobjective optimization and control problem at runtime. The existing traditional methods such as manual tuning, fixed/adhoc/threshold based management policies is proven to be costly, error-prone and inefficient [4]. Thus, it is important to devise a methodology that addresses these limitations by integrating runtime decision making (self-managing) capabilities into software systems, with reduced or no human interventions. Feedback control mechanisms have been looked at in the last few years as one such design technique to incorporate self-management into software systems in order to achieve performance quality objectives [8]. These attempts include the use of control theory to control web server systems [8], [12], cache/storage systems [14], data centres/server clusters [19]. In addition, [9], [18], [13] use predictive control mechanism to manage performance in software systems. However, many existing approaches deal with single-inputsingle-output (SISO) systems (e.g. [14], [15], [19]). Although work in [3], [6] focuses on multi-input-multi-output (MIMO) modelling of web servers, the inputs are independent of each other and the constraints are not considered. The work in [11], [10] utilizes online MIMO model estimation with constraint optimization for shared resource environments. Typically, in these models client class specific resource shares become the inputs while the relevant performance metrics (e.g. response time and throughput) become the outputs of the MIMO model. Furthermore, a common constraint in many approaches (e.g. [5], [11], [10], [12]) is the summation of allocated resource shares among all client classes should exactly equal to 100%. That is, the inputs of the model should add up to 100%. As a consequence, the inputs of the system are dependent on each other. The objective of this work is to design and implement an optimal performance and resource management system using model predictive control (MPC). To our best knowledge, the analysis shown in this paper has demonstrated for the

first time that equality constraint (caused by considering the summation of the allocated resource shares exactly equal to 100%) deployed in the previous papers hindered the development of mathematical models because of the issue of multicollinearity [2]. In addition to problems encountered at the model development stage, the optimal control implementation with equality constraints is not capable to achieve the required objectives in such web systems. The first contribution of this paper is the reformulation of the performance management and resource allocation problem in a multi-client class shared resource environment with inequality constraints. Secondly, we have formulated a model predictive control and optimization technique to solve this multi-variable optimization and control problem in a shared resource environment. Thirdly, a predicative controller based on Laguerre functions and equipped with Hildreth’s quadratic programming solver is implemented to provide the runtime management of performance and resources of a prototype software system built to simulate a real world scenario. Utilizing the implemented control system, we investigate the performance isolation/differentiation characteristics and runtime resource management capabilities of the proposed control solution and compared it to equality constraint based MPC formulation under two different conditions. II. S CENARIO AND P ROCESS DESCRIPTION

different messages invoking different service methods. When a message is received by the message queue, time stamp (t1) is applied and then the request is classified according to the client class and put to the relevant client queue. The scheduler access these queues in a first come first serve (FIFO) fashion, and assigns these messages to a virtual application instance with client specific method pointers and virtually partitioned resources (e.g. session handlers) to be sent to the 3rd party supplier. When the server receives the response from the 3rd party supplier, it is sent back to the client through the socket. The time stamp (t2), is applied before the response is written to the client socket. The response time for a single request is the time difference between t2 and t1 (measured in seconds). Average response time of the workloads over a 2 second sampling window is used as measured output to trade-off between monitory overhead and reaction to sudden disturbances. From the above details, let us denote the response time of workloads A and B as Ra and Rb respectively. Also, RSLA,A and RSLA,B denote the desired response time values for workloads of agents A and B, respectively. The session allocation between workloads A and B are denoted by Sa and Sb . In addition to the main control objective, the scheduler is constrained with a policy/constraint concerning the minimum number of sessions Sa , Sb ≥ 6 and Sa +Sb =(or ≤) 30. III. S YSTEM MODELING

Message queue (FIFO)

B

Queue

Queue

Request / Reply

Typically, customized web sites of different travel agent

30 Tomcat + Axis 2

Scheduler SOAP messages

Virtual Instances with session handlers

In this section, model identification process is presented, and such models are then converted to state space models later on.

3rd party supplier

Control signal

A

A,B Workload generators

Reply

Classifier

Socket

Request

25

Sa

Sb

Sa + Sb

20 15 10 5

Fig. 1.

Block diagram of the target software system

The software system in Figure 1 illustrates one of the common resource allocation problems in travel (flight) reservation systems. The server has to communicate with a 3rd party supplier to respond to client requests (e.g. check/book flight availabilities). However, the 3rd party supplier only provides a limited number of sessions (20 in the scenario discussed in this paper) to communicate with them. Assume that two client classes (travel agents A and B) are interested in the services provided by this server. The objective of the server is to allocate the limited number of sessions provided by the 3rd party supplier between agents A and B to maintain the response time of the requests at an acceptable/agreed level, under varying workloads (measured by req/sec). Additionally, there are constraints/policies on a minimum number of sessions that have to be maintained for specific client classes to avoid starvation of resources. A prototype of such a reservation system was developed, implementing the architecture shown in Figure 1. The services of the sever can be accessed by connecting to the server socket. After connection is made the clients can send

20

Fig. 2.

40 60 Sample Id

80

100

PRB signals with Sa + Sb = 30

As recommended in [3] and [7] the quality of the MIMO model can be improved by data gathered from an experiment simulating all the inputs simultaneously and observing all system outputs. The gathered data is then fitted into a model using multivariable regression. The design of the input signal in SID is important to excite the dynamics of the system. The pseudo random binary (PRB), sinusoidal or pseudo random signals are extensively used as input signals in the literature. When designing these input signals, the hard (input) constraints should not be violated. Let us design such SID experiment for the scenario presented in section II. The objective is to create a model between (Ra , Rb ) and (Sa , Sb ). If equality conditions are used on the total resource allocation, the constraint becomes Sa + Sb = 30 (or 100% in the case of share). With such hard constraints, design of the input signal is difficult. If we take Sa = 30 − Sb and change Sb from 6 to 24, Sa will change from 24 to 6. This is because the linear

dependency between the input signals, which arises from the equality constraint on the total number of resources. Such constraints are used in many existing approaches (e.g. [5], [11], [10], [12]). The linear dependencies between inputs are well known as multicollinearity, which could lead to mathematically ill-conditioned formulation of multivariable regression [2], [16]. This can also be statistically detected by a correlation analysis between the input signals. For instance, if two PRB signals were designed as illustrated in Figure 2 and the correlation between input signals would be -1, indicating perfect negative correlation. Therefore, a requirement on multi-variable regression will be violated. One possible solution to this problem caused by input dependency is to remove redundant variables. In the case of the scenario, model Ra and Rb with either Sa or Sb . The constructed model will have single input and two outputs. Such systems are called high-dimensional systems/models in the literature. However, the controllers designed from such high-dimensional models cannot achieve the absolute performance specifications for all the outputs. Some outputs have to be maintained within certain bounds (in contrast to absolute value) or neglected, while achieving the specifications for the other outputs. Hence, this option is not suitable for the class of systems under consideration, because the SLAs of some client classes will be violated. Instead, in this work we formulate the system identification and control problem by relaxing the equality condition with inequality conditions on the total resource amount, i.e. Sa + Sb ≤ 30. This is desirable in many systems because it is not always necessary to utilize the entire available resources. In addition, it provides much more freedom to design input signals for SID experiments. Furthermore, we can avoid the issue of multicollinearity by avoiding points that fall under equality conditions. From here on we refer to Sa + Sb ≤ 30 as the constraint on the total number of resources. From the initial identification experiments and the models estimated with these settings indicated two main issues. Firstly, the model fit to gathered data was poor. Secondly, the constructed models were unstable. However, design of any feedback controller, requires stable model with sufficient fit. The possible solution to resolve these issues is to invert the response time. i.e. instead of Ra , Rb , model output is converted R1a , R1 . This is because when the number b of sessions/resources for a workload increases the average response time decreases as a consequence of increase in resources to handle the requests. This implies, Si ∝ R1i , iε {a, b}. Therefore, incorporating this concern would lead to a much linear model, improving the quality of the model. This is a known issue in software QoS performance control literature when the response time is used as the model output. Such conversions are also done in [19], [17]. A. MIMO model identification To derive a MIMO model for the scenario discussed in section II, we designed a MIMO SID experiment by exciting both inputs simultaneously with PRB signals. We selected 10 and 14 sessions as the levels for both signals with switching

frequency of 5 samples. These levels were selected to avoid the violation of any hard constraints. The correlation analysis between the signals showed very low correlation of -0.09 and with insignificant collinearity. Typically, the relationship between resources and response time is highly nonlinear [8], [17], [11]. As a consequence, the model is linearized in a target operating region. In the case of scenario, the response time around 0.4 to 0.6 seconds was assumed as the target region of both client classes. Thus, the signal levels and workloads have to be carefully selected to avoid the highly nonlinear regions and capture the dynamics in the target region [3]. The workloads of 15 req/sec was applied to simulate A and B workloads. With these settings, an experiment was conducted and outputs Ra and Rb were observed for 600 samples. Then the gathered data was divided into two sets. The first 400 samples were used to estimate and construct the model, while the rest were used to validate the model. Autoregressive exogenous input (ARX) models are widely used as transfer functions to represent software systems [3], [8]. We also constructed a MIMO ARX model to represent the system. The gathered data was fitted into first order ARX model shown in equation (1) using multivariable regression, with the goodness of fit (R2 [8]) values over 85% for Ra and Rb . [ ] [ ] y(k + 1) =

0.4244 0.1314

[

where y(k) =

0.1504 0.3726

1 1 Ra (k) Rb (k)

]T

y(k) +

0.0881 −0.0081

−0.0115 0.0971

u(k),

(1)

and u(k) = [Sa (k)Sb (k)]T .

B. State space model In this work, a conversion technique called non-minimum state space realization [16] is utilized, which provides the advantage of using the input and output signals of the control system to formulate the state space variables. As a consequence, the state space variables are directly accessible/measurable. For more [ details see ] [16], [8]. Using the state T

space vector as x(k) = Ra1(k) R 1(k) , the non-minimum state b space realization of the transfer function (equation (1)) is as follows: [ [ ] ] x(k + 1) =

|

0.4244 0.1314

{z A

0.0881 −0.0115 −0.0081 0.0971 y(k) + | } {z } u(k) B [ ] [ ] 1 1 0 R1 (k) 1 0 1 R2 (k) (2) | {z } | {z } C x(k)

0.1504 0.3726

y(k) =

IV. C ONTROLLER DESIGN The control problem is to maintain the agreed level of response time (RSLA,A and RSLA,B ) for client classes under varying workload and resource demands while allocating the limited amount of resources among them, without violating the hard constraints/policies on the system. Model predictive control is a class of control algorithms that perform on-line optimization with a natural ability to deal with the system constraints [1], [16] and its design framework is entirely based on a multi-input and multi-output system. Therefore, this control technology is well suited to tackle the control problem in the multi-input and multi-output web system configuration with operational constraints.

A. Model predictive control In this work, the above MPC formulation is used to achieve the control objectives of the scenario discussed in section II. The main components/variables of the MPC and the control system are shown in Figure 3. The measured response times of the client classes and their desired values (set points) are the inputs to the controller. The controller generates the session allocations for the particular client classes in each sample instance adhering to the constraints. The model predictive controller also needs the A, B and C matrixes of the state space model (equation (2)) derived in section III-B. The controller is also equipped with a quadratic programming solver which requires a standard quadratic cost function and relevant constraints. Model predictive controller Set point

Quadratic program

[ RSLA,A , RSLA,B ]T

State model based predictor

Actuator

Sensor

Control input [Sa Sb] T

Target system

A

Measured output

S

[ Ra R b ] T

Fig. 3.

Block diagram of model predictive control system

B. Constraint problem formulation In this section the details of the cost function and constraints are presented. The standard cost function is as follows: where

Y=

[

U=

[

[

J = (Rs −Y )T (Rs −Y ) + ∆U T Rw ∆U y(k + 1|k)T ∆u(k)T

]

y(k + 2|k)T . . .

∆u(k + 1)T . . .

y(k + NP |k)T

∆u(k + Nc − 1)T

]T ]T

(3) , ,

Rs = 1 1 . . . 1 [r(k)T , is the reference/set point signal ] (for instance r(k) = RSLA,A RSLA,B ), and Rw = rw(m×m) I(m×m) , where rw is the control penalty vector to alter the aggressiveness of the controller. This cost function incorporates the prediction horizon (NP ) and control horizon (Nc ) to computing Y and U. The predictions till the NP future time are computed using the state space model at the kth sample denoted by y(k + ki |k), 1 ≤ ki ≤ NP . With this cost function the constraint problem for our running scenario is Subject to:

[

1 0

Minimize J ] [ ] 0 6 u(k) ≥ , 1 6 [ ] 1 1 u(k) ≤ 30

(4) (5)

However, since the controller operates with ∆u, these constraints have to be expressed with ∆u for consistency. In addition, to solve this constraints problem using a quadratic program solver, they have to be represented in the form of M∆U ≤ γ . These considerations are incorporated as follows: u(k) = u(k − 1) + ∆u(k) (6) Then, using the equation (6), equations (4) and (5) can be ] [ ] converted to [ 1 0 6 − ∆u(k) ≤ − + u(k − 1), 0 1 6 [ ] [ ] 1 1 ∆u(k) ≤ 30 − 1 1 u(k − 1)

(7) (8)

Finally, the above formulated constraints are represented in the M∆U ≤ γ form as follows:   |

−1 0 1

 0 −1  ∆u(k) ≤ 1 {z } M



  −6 1  −6  +  0 30 −1 | {z γ

 0 1  u(k − 1) −1 }

(9)

The constrained control problem in equation (9) imposes constraints on the current input u(k) only, but it can be extended for a longer control horizon as well. In addition, formulated constraint problem includes u(k − 1). Consequently, the γ matrix of the equation (9) has to be updated before executing the optimizer in the each sample instance with the values of Sa (k − 1) and Sb (k − 1). C. Implementation A MPC was implemented following the above formulation, to be integrated into the software system under consideration. L.Wang proposed a Laguerre functions based formulation to design MPC in [16]. The advantage of this approach is that when there is rapid sampling and complicated dynamics in the system, the computation of control inputs does not require a large number of parameters. Furthermore, the computational overhead can be reduced for MIMO systems (for more details refer [16]). In addition, quadratic constraint solver called the Hildreth’s quadratic program was implemented [16]. The details of the MPC formulation and optimization solution can be found in [16]. The N p and Nc were set to 15 and 1 respectively in the implemented controller. The parameters of the Laguerre network for the two input cases were set at (a1 = 0.4 , a2 =0.3 and N1 , N2 = 1). The Rw was fixed to 0.5 × I(2×2) and u(0) = [15 15]T . The state space model was given to the controller implementing equation (2). V. E XPERIMENTAL RESULTS For performance comparison purposes we also design a control system with the same settings as described in section IV-C, but with the equality constraints on total amount of resources (i.e. Sa + Sb = 30). For notational simplicity the control system designed with equality constraints and inequality constraints are called as EQCS and INEQCS respectively. In following sections we evaluate the performance of the control systems in two different condition using the prototype system1 described in section II. A. High workloads separately In this section the performance of the control systems are evaluated by setting RSLA,A and RSLA,B to 0.41 seconds. This setting shows how the available excessive resources are allocated to achieve the desired performance when workloads of agent A and B are increased to the maximum capacity of the system in separate time periods. The experiment begins with A and B sending 15 req/sec. These workload settings 1 The prototype system was deployed on a machine with a Intel Core(TM)2duo E8400 [email protected] GHz 2.99 GHz processor and 2 GB memory. To simulate two client workloads we used tailor made workload generators which was deployed on a separate machine with Core(TM)2duo E6550 [email protected] GHz 2.33 GHz processor and 3 GB memory. The two machines were connected via 1 Gps Ethernet.

require the controller to allocate resources more than the minimum allocation allowed (i.e. Sa , Sb ≥ 6) to achieve the set points. Then at the 30th sample, A workload increases from 15 to 47 req/sec, maintaining the maximum workload capacity. This could be a scenario where travel agent A has advertised special travel plans/fares for a limited amount of time, so that there is a sudden increase of workload. Then at the 80th sample workload of agent A reduces to nominal request rate of 15 req/sec. Finally, at the 100th sample, B workload increases to 47 req/sec from 15 req/sec. The performance of control systems and the control signals generated are shown in Figure 4. The outputs of the EQCS and INEQCS achieves the set point of 0.41 seconds till the 30th sample with very low steady state error. When the high workload disturbance of agent A is applied at the 30th sample, an overshooting was observed in the case of Ra in both control systems. Although with high workload disturbance of 47 req/sec, the MPC shows effective disturbance rejection capabilities by achieving the set point in approximately less than 10 samples. Afterwards, apart from the small deviations due to noisy workloads, the steady state performance is satisfactory. Then at the 80th sample the workload of agent A reduces to 15 req/sec, however the system output is not affected by this because the current resource allocation is sufficient to handle that workload settings. Then, at the 100th sample, agent B’s workload increases to its maximum capacity. This disturbance causes a large overshooting in the case of Rb and the settling time is approximately 15 samples. After settling down, however, the steady state performance is satisfactory even with the noisy workloads. When the performance of EQCS and INEQCS is compared, there is no significant difference, apart from the overshooting at the disturbance. The EQCS shows low overshooting at the 30th sample, and at the 100th sample INEQCS shows less overshooting. The above behavior of the control system can be explained by the control (resource allocation) signals generated by the MIMO MPC shown in Figure 4(c) and 4(d). Till the 30th sample, the session allocation Sa : Sb are around 10 : 10 for case of INEQCS, which are higher than the minimum session allocation constraints, but it is around 15 : 15 in EQCS. As the u(0) = [15 15]T , The control error generated due to startup disturbances (e.g. workload and compilations), makes the both control system to settles down to different allocation settings around u(0). However, INEQCS has freedom in settling down because of the inequality constraints (where Sa + Sb ≥ 30). A possible question is how both control systems achieve the required objectives by settling to totally different allocation settings. This is because in under loaded conditions a control system can settle to many operating points to achieve the required objectives. For instance, under 15 req/sec workload settings, approximately more than 9 sessions are enough to achieve the set point. These resource demands are satisfied by both control systems. This behavior is well known in the software system literature when response time is used as the output of the system in the underloaded conditions (e.g. [17]). Then

after the 30th sample, Sa and Sb gradually settle down to 22 and 8 respectively by both control systems, satisfying the high resource demand of agent A. Similarly, at the 100th more resources were allocated to agent B, to satisfy high demand. The control error generated by the disturbance at the 30th and the 100th was effectively rejected by coming up with these allocations to achieve the steady state performance. The high overshooting and the settling time around 100th sample was observed because of the time taken in the close loop response to reach from one end of the resource allocation setting to the other. i.e. to Sa : Sb = 22 : 8 to to Sa : Sb = 8 : 22. Figure 4(c) and 4(d), also shows that none of the hard constraints were violated by both control systems during the entire experiment. B. With different SLAs (set points) In this section set points are fixed at RSLA,A = 0.5 seconds and RSLA,B = 0.6 seconds, to validate the performance differentiation capabilities of the control system when there are differences in SLAs. For this case 20 and 20 req/sec was applied for agent A and B respectively, till the 50th sample. At the 50th sample, both agent workloads were increased to 30 req/sec. Figure 5 shows the system output and the control signals. The output response of control systems shown in Figure 5(a) and 5(b) are drastically different. EQCS does not achieve any of the runtime control/performance differentiation objectives and has large deviations from the set points. The equality constraint Sa + Sb = 30, restricts the freedom of the controller to settling down to appropriate control settings. Since, Sa is dependent on Sb , when one is changed other one will be affected as well. Thus the resource allocation decisions taken by the control system cannot achieve objectives of both client classes simultaneously, leading to this significant performance issue. Consequently, use of EQCS to achieve such control objective is impractical. The INEQCS on the other hand provide significantly better performance differentiation. Due to less restrictive constraints, the inputs have the required freedom to operate independent from each other and reach the desired resource allocation settings. The workload disturbance of agent A and B at the 50th sample lead to overshooting of Ra and Rb , but reach the steady state around 8 samples. However, the steady state values are not precisely RSLA,A and RSLA,B for Ra and Rb , respectively. There are two main reasons for such deviations from the set point. Firstly, the designed MPC relies on the estimated model of the system for predictions. The dynamics of the system was captured avoiding nonlinear region. 0.5 and 0.6 seconds located near the nonlinear region, so the linear model may not describe the dynamics sufficiently enough in that region. As a consequence, the steady state performance of the control system in both output is not the exact RSLA,i , iε A, B values. The second reason is the phenomenon called as input noise. The controller and the optimizer operate in the continuous domain, but the control signals/decisions have to be discrete values to be implemented in the system. The rounding-off error at the

3

2.5 2 1.5

2.5 2 1.5

1

1

0.5

0.5 20

40

60 80 100 Sample Id

120

140

30

30

25

25 Control signal

3

Control signal

4 3.5 Response time

Response time

4 3.5

20 15

5 40

60 80 100 Sample Id

(a)

120

5 20

140

40

(b) Ra

15 10

10

20

20

60 80 100 Sample Id

120

140

20

40

(c) Rb

Sa

RSLA,A , R SLA,B

Sb

Sa+Sb

60 80 100 Sample Id

120

140

(d) Smin

Fig. 4. Performance of the MIMO MPC under high separate workloads: response of (a)INEQCS, (b)EQCS and control signals of (c)INEQCS, (d) EQCS 30

25

1 0.8

1.2

25

1 0.8

0.6

0.6

0.4

0.4 20

40 60 Sample Id

80

100

20 15 10

20

40 60 Sample Id

80

Rb

40 60 Sample Id

80

(c) R SLA,A

R SLA,B

15

5 20

100

(b) Ra

20

10

5

(a)

Fig. 5.

Control signal

Response time

1.2

Control signal

1.4

1.4 Response time

30 1.6

1.6

Sa

Sb

Sa+Sb

100

20

40 60 Sample Id

80

100

(d) Smin

Performance of the MIMO MPC with different SLAs: response of (a)INEQCS, (b)EQCS and control signals of (c)INEQCS, (d)EQCS

inputs, which can be categorized as input noise, leads to oscillatory behavior in the output. The oscillatory behavior in the control signals shown in Figure 5(c), indicates that there is no single resource allocation setting that could achieve the desired set points. VI. C ONCLUSIONS Runtime management of performance and resources in shared resource software environments under unpredictable workload conditions leads to many research challenges. Utilizing the ability of the model predictive control to handle the multi-input multi-output systems with constraints, this paper propose a performance and resource management technique for a shared resource software environment. It firstly, addresses the issues when the equality constraints on the total amount of resources are considered. Then the same performance management and resource allocation problem is reformulated with inequality constraints to improve the system model identification and runtime control. The performance of the proposed control system is validated on a prototype system and compared to an equality constraint based MPC formulation under different conditions, indicate superior performance and resource management at runtime. R EFERENCES [1] A. Bemporad and M. Morari. Robust model predictive control: A survey. Lecture Notes in Control and Information Sciences, pages 207–226, 1999. [2] S. Chatterjee and B. Price. Regression analysis by example. Wiley, New York, 1977. [3] Y. Diao, N. Gandhi, J. L. Hellerstein, S. Parekh, and D. M. Tilbury. Using mimo feedback control to enforce policies for interrelated metrics with application to the apache web server. In Network Operations and Management Symposium 2002, pages 219–234, 2002. [4] Y. Diao, J. L. Hellerstein, S. Parekh, and J. P. Bigus. Managing web server performance with autotune agents. In IBM Systems Journal, pages 136–149, 2003.

[5] Y. Diao, J. L. Hellerstein, A. J. Storm, M. Surendra, S. Lightstone, S. Parekh, and C. Garcia-Arellano. Using mimo linear control for load balancing in computing systems. In American Control Conference, pages 2045– 2050, 2004. [6] N. Gandhi, D. Tilbury, Y. Diao, J. Hellerstein, and S. Parekh. Mimo control of an apache web server: modeling and controller design. In American Control Conference, pages 4922– 4927, 2002. [7] M. Gevers, L. Miskovic, D. Bonvin, and A. Karimi. Identification of multi-input systems: variance analysis and input design issues. Automatica, pages 559–572, 2006. [8] J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. Feedback Control of Computing Systems. John Wiley & Sons, 2004. 975344. [9] N. Kandasamy, S. Abdelwahed, and J. P. Hayes. Self-optimization in computer systems via on-line control: Application to power management. IEEE Computer Society, 2004. [10] M. Karlsson and C. Karamanolis. Non-intrusive performance management for computer services. In M. van Steen and M. Henning, editors, Middleware 2006, Lecture Notes in Computer Science, pages 22–41. Springer Berlin / Heidelberg, 2006. [11] M. Karlsson, X. Zhu, and C. Karamanolis. An adaptive optimal controller for non-intrusive performance differentiation in computing services. In Control and Automation. [12] C. Lu, Y. Lu, T. F. Abdelzaher, J. A. Stankovic, and S. H. Son. Feedback control architecture and design methodology for service delay guarantees in web servers. IEEE Trans. Parallel Distrib. Syst., pages 1014–1027, 2006. 1159253. [13] C. Lu, X. Wang, and X. Koutsoukos. Feedback utilization control in distributed real-time systems with end-to-end tasks. IEEE Trans. Parallel Distrib. Syst., pages 550–561, 2005. [14] Y. Lu, T. Abdelzaher, C. Lu, and G. Tao. An adaptive control framework for qos guarantees and its application to differentiated caching services. In IWQOS. [15] S. Parekh, N. Gandhi, J. Hellerstein, D. Tilbury, T. Jayram, and J. Bigus. Using control theory to achieve service level objectives in performance management. Real-Time Syst., pages 127–141, 2002. [16] L. Wang. Model Predictive Control System Design and Implementation Using MATLAB. Springer Publishing Company, Incorporated, 2009. 1592901. [17] Z. Wang, X. Zhu, and S. Singhal. Utilization vs. slo-based control for dynamic sizing of resource partitions. IEEE, 2005. [18] W. Xiaorui, C. Ming, and F. Xing. Mimo power control for highdensity servers in an enclosure. pages 1412–1426, 2010. [19] X. Zhu, Z. Wang, and S. Singhal. Utility-driven workload management using nested control design. Hewlett Packard Laboratories, 2006.

Suggest Documents