on the use of fuzzy logic controllers to comply with
play

On the use of Fuzzy Logic Controllers to Comply with Virtualized - PowerPoint PPT Presentation

On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud Kyriakos M. Deliparaschos Themistoklis Charalambous Cyprus University of Technology Chalmers University of Technology, Sweden


  1. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud Kyriakos M. Deliparaschos Themistoklis Charalambous Cyprus University of Technology Chalmers University of Technology, Sweden k.deliparaschos@cut.ac.cy themistoklis.charalambous@chalmers.se Evangelia Kalyvianaki Christos Makarounas City University London Cyprus University of Technology evangelia.kalyvianaki.1@city.ac.uk. christos.makarounas@cut.ac.cy.

  2. Outline of the presentation ❖ Introduction ❖ Motivation ❖ System Model: ‣ mRT model ‣ System Usage and Allocation ❖ Adaptive Neuro-Fuzzy Inference ‣ The Adaptive Neuro-Fuzzy controller ‣ Training on Kalman and H ∞ controllers ❖ Performance Evaluation and comparison with linear controllers ‣ Gradual Workload Changes ‣ Saw-tooth demand for CPU usage ❖ Conclusions and Future Work On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 2

  3. Introduction Modern omnipresent server applications are complex programs that provide diverse services to thousands of users, e.g., Amazon and Google services. Traditionally, • disjoints sets of machines are dedicated to different applications. • over-provision applications - machines to cope with their demanding workloads. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 3

  4. Motivation • Over-provisioning causes machine under-utilization in modern data centers as shown by several reports: servers typically run at 15-20% of their capacity . • Maintaining under-used machines at scales of contemporary data centers, has severe financial consequences in capital expenses and additional power costs. • To alleviate these issues, current data centers employ server consolidation - multiple applications running on the same machines - to run fewer but more utilized machines. • To fully capitalize on these mechanisms, methods for adaptive resource allocation subject to applications' resource demands are required. • If each application is properly provisioned, unused resources can be allocated otherwise, e.g., to run additional applications. • However, the application demands are difficult to estimate in advance since their characteristics typically change over time. #++(%#"$(/&1 #++(%#"$(/&2 #++(%#"$(/&1 #++(%#"$(/&2 #++(%#"$(/&1 #++(%#"$(/&2 ! " ! " ! " -./#0$%&'()*+(#, -./#0$%&'()*+(#, !"#"$%&'()*+(#, Resource management example in virtualized applications: the resource allocation needs to adapt to the new resource demands On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 4

  5. System model A. mRT model A metric for measuring server performance is the client mean request response times (mRT). A graphical illustration of the demand model in a server is given in the figure: * & ) & % &'( !"#$"# Model of the demand D in a server. mRT is given as a function of the ratio between workload demand D and allocation a and it is depicted in the following figure: 3 2.5 2 mRT (s) 1.5 1 0.5 0 0 0.2 0.4 0.6 0.8 1 CPU Demand/CPU allocation mRT model with respect to CPU usage. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 5

  6. System model B. The CPU Usage and Allocation Utilization (u k ) modeled as a random walk u k +1 = u k + r k - r k : the utilization between successive intervals caused by workload changes, 
 e.g., requests being added, doing work from previous intervals, or leaving the server. Aim: to maintain good server performance in the presence of workload changes by adjusting the allocation ( α k ) to values above the utilization, i.e., u k = c × a k where c<1 is a pre-specified constant that shows the desired gap between allocation and usage. Problem targeted by aiming to minimize the MMSE (Kalman filter), and to minimize the maximum error (H ∞ filter) On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 6

  7. The Fuzzy Controller A 5-layer SISO neuro-fuzzy model with a zero-order T-S inference structure is used. Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 µ A 1 ( x ) w 1 w 1 � N f 1 A 1 w 1 f 1 w 2 y x � w 2 f 2 w 1 µ A 2 ( x ) w 2 w 2 � N A 2 f 2 Layer 1 is the fuzzification layer. Each neuron in this layer represents the fuzzy sets expressing the linguistic terms in the antecedents of the fuzzy rules. Layer 2 forms the rule layer. Each neuron is analogous to a single Sugeno type fuzzy rule. Layer 3 is the normalization layer where each neuron receives inputs from Layer 2 and determines the contribution w i Layer 4 represents the defuzzification layer, where each neuron calculates a weighted consequent value of a given rule On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 7

  8. The Fuzzy Controller A 5-layer SISO neuro-fuzzy model with a zero-order T-S inference structure is used. Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 µ A 1 ( x ) w 1 w 1 � N f 1 A 1 w 1 f 1 w 2 y x � w 2 f 2 w 1 µ A 2 ( x ) w 2 w 2 � N A 2 f 2 Layer 5 sums all outputs from the defuzzification neurons and produces the overall ANFIS defuzzified crisp output y as a weighted average of the contribution of each rule: n P n i =1 w i f i X y = y i = P n i =1 w i i =1 On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 8

  9. Training • Trained on representative data sets formed by the observed allocation and utilization with Kalman and H ∞ filters • The membership function parameters of the fuzzy inference system were trained for 20 epochs to adopt to the training data • The chosen scheme includes most of the range of values of % CPU demanded and with different rates of changes • The SISO fuzzy estimator maintains a low 120 Demand: training Demand: 2 complexity with, 100 Demand: 3 • 5 triangular type MFs on the aggregate part Demand: 4 CPU demand (%) 80 • 5 singletons on the consequence part • 5 rules 60 40 • Training algorithm uses the least squares 20 method in the forward pass to identify the 0 consequent parameters on Layer 4, while in 0 10 20 30 40 50 60 70 80 90 100 time interval the backwards pass the errors are propagated % CPU demand on which the controllers have been trained and the antecedents parameters are updated and tested. The range of values of % CPU demand is [0, 105], wide enough to include most of the range of values of % CPU by gradient descent. demanded. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 9

  10. Performance Evaluation A. Gradual workload changes 100 Τ he fuzzy controller was evaluated against 80 data that fluctuate around the training data. 60 CPU (%) The Kalman and the H ∞ filters were not able 40 to follow the required demand (abrupt Fuzzy controller 20 changes), increasing the mRT considerably. H ∞ fi lter Kalman fi lter 0 0 10 20 30 40 50 60 70 80 90 100 time interval The neuro-fuzzy controller is trained on the 120 Fuzzy controller response of the Kalman and H ∞ filter and H ∞ fi lter 100 Kalman fi lter outperforms both on the same exact data. 80 mRT (s) 60 40 20 RMSE AND mRT VALUES FOR WORKLOAD DEMAND SCHEMES SIMILAR TO THE 0 0 10 20 30 40 50 60 70 80 90 100 TRAINING SCHEME. time interval Gradual workload changes: The CPU allocation and mRT response of the The neuro-fuzzy controller responds a bit fuzzy controller when evaluated with data (dataset 2) that is different than the better by allocating slightly more training data, but follow the same % CPU demand. resources than the other controllers, thus reducing the mRT overshoot. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 10

  11. Performance Evaluation B. Saw-tooth demand for CPU usage 90 The utilization changes rapidly from very 80 large to very small values. In this case it is 70 CPU (%) important for the controller to adapt the 60 50 allocations in a timely fashion. To achieve 40 good performance the error during contention Fuzzy controller 30 H ∞ fi lter should be minimized. Kalman fi lter 20 0 10 20 30 40 50 60 70 80 90 100 time interval The neuro-fuzzy controller is able to capture 30 Fuzzy controller some nonlinearities that the Kalman and H ∞ H ∞ fi lter 25 Kalman fi lter filters cannot due to their linear nature. 20 mRT (s) 15 10 5 The neuro-fuzzy controller has worse RMSE, but outperforms both the Kalman and H ∞ filters when 0 0 10 20 30 40 50 60 70 80 90 100 time interval comparing the mRT, which is the main metric in server consolidation, even if the noise is normally distributed, Saw-tooth workload changes: The CPU allocation and mRT response of the proposed controller when evaluated with data (dataset 4) that is due to the good adaptation in sudden changes. different than the % CPU demand in the training data. On the use of Fuzzy Logic Controllers to Comply with Virtualized Application Demands in the Cloud 11

Recommend


More recommend