Generating Adaptation Policies for Multi-Tier Applications in Consolidated Server Environments College of Computing Georgia Institute of Technology Gueyoung.

Slides:



Advertisements
Similar presentations
VM Interference and Placement for Server Consolidation Umesh Bellur IIT Bombay.
Advertisements

Performance Testing - Kanwalpreet Singh.
Hadi Goudarzi and Massoud Pedram
Class-constrained Packing Problems with Application to Storage Management in Multimedia Systems Tami Tamir Department of Computer Science The Technion.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
CS 795 – Spring  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.
Detecting Transient Bottlenecks in n-Tier Applications through Fine- Grained Analysis Qingyang Wang Advisor: Calton Pu.
Green Cloud Computing Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology,
Proactive Prediction Models for Web Application Resource Provisioning in the Cloud _______________________________ Samuel A. Ajila & Bankole A. Akindele.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
CloudScale: Elastic Resource Scaling for Multi-Tenant Cloud Systems Zhiming Shen, Sethuraman Subbiah, Xiaohui Gu, John Wilkes.
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
COMMA: Coordinating the Migration of Multi-tier applications 1 Jie Zheng* T.S Eugene Ng* Kunwadee Sripanidkulchai† Zhaolei Liu* *Rice University, USA †NECTEC,
Online Performance Auditing Using Hot Optimizations Without Getting Burned Jeremy Lau (UCSD, IBM) Matthew Arnold (IBM) Michael Hind (IBM) Brad Calder (UCSD)
Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS PRIMERGY Servers and Windows Server® 2008 R2 Benefit from an efficient, high performance and flexible platform.
SLA-aware Virtual Resource Management for Cloud Infrastructures
Karl Schnaitter and Neoklis Polyzotis (UC Santa Cruz) Serge Abiteboul (INRIA and University of Paris 11) Tova Milo (University of Tel Aviv) Automatic Index.
Ashish Gupta, Marcia Zangrilli, Ananth I. Sundararaj, Peter A. Dinda, Bruce B. Lowekamp EECS, Northwestern University Computer Science, College of William.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Hardness of Approximation and Greedy Algorithms for the Adaptation Problem in Virtual Environments Ananth I. Sundararaj, Manan Sanghi, John R. Lange and.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
A Multi-Agent Learning Approach to Online Distributed Resource Allocation Chongjie Zhang Victor Lesser Prashant Shenoy Computer Science Department University.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automated Workload Management in.
Windows Server Virtualization Infrastructure Planning and Design Series.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
Towards Autonomic Hosting of Multi-tier Internet Services Swaminathan Sivasubramanian, Guillaume Pierre and Maarten van Steen Vrije Universiteit, Amsterdam,
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Black-box and Gray-box Strategies for Virtual Machine Migration Timothy Wood, Prashant.
Self-Adaptive QoS Guarantees and Optimization in Clouds Jim (Zhanwen) Li (Carleton University) Murray Woodside (Carleton University) John Chinneck (Carleton.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Copyright © 2010 Platform Computing Corporation. All Rights Reserved.1 The CERN Cloud Computing Project William Lu, Ph.D. Platform Computing.
AUTONOMOUS RESOURCE PROVISIONING FOR MULTI-SERVICE WEB APPLICATIONS Jiang Dejun,Guillaume Pierre,Chi-Hung Chi WWW '10 Proceedings of the 19th international.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Adaptive Control of Virtualized Resources in Utility Computing Environments HP Labs: Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal University.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
Virtual Machine Hosting for Networked Clusters: Building the Foundations for “Autonomic” Orchestration Based on paper by Laura Grit, David Irwin, Aydan.
How to Resolve Bottlenecks and Optimize your Virtual Environment Chris Chesley, Sr. Systems Engineer
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Database Replication Policies for Dynamic Content Applications Gokul Soundararajan, Cristiana Amza, Ashvin Goel University of Toronto EuroSys 2006: Leuven,
Cloud Computing Energy efficient cloud computing Keke Chen.
Storage Management in Virtualized Cloud Environments Sankaran Sivathanu, Ling Liu, Mei Yiduo and Xing Pu Student Workshop on Frontiers of Cloud Computing,
Improving Network I/O Virtualization for Cloud Computing.
Profile Driven Component Placement for Cluster-based Online Services Christopher Stewart (University of Rochester) Kai Shen (University of Rochester) Sandhya.
RECON: A TOOL TO RECOMMEND DYNAMIC SERVER CONSOLIDATION IN MULTI-CLUSTER DATACENTERS Anindya Neogi IEEE Network Operations and Management Symposium, 2008.
Autonomic SLA-driven Provisioning for Cloud Applications Nicolas Bonvin, Thanasis Papaioannou, Karl Aberer Presented by Ismail Alan.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
From Virtualization Management to Private Cloud with SCVMM 2012 Dan Stolts Sr. IT Pro Evangelist Microsoft Corporation
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
1 Xen and Co.: Communication-aware CPU Scheduling for Consolidated Xen-based Hosting Platforms Sriram Govindan, Arjun R Nath, Amitayu Das, Bhuvan Urgaonkar,
© 2008 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. System Tomography Gradient-based.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
“Trusted Passages”: Meeting Trust Needs of Distributed Applications Mustaque Ahamad, Greg Eisenhauer, Jiantao Kong, Wenke Lee, Bryan Payne and Karsten.
Zibin Zheng DR 2 : Dynamic Request Routing for Tolerating Latency Variability in Cloud Applications CLOUD 2013 Jieming Zhu, Zibin.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Modeling Virtualized Environments in Simalytic ® Models by Computing Missing Service Demand Parameters CMG2009 Paper 9103, December 11, 2009 Dr. Tim R.
Managing Web Server Performance with AutoTune Agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigus Presented by Changha Lee.
© 2002 IBM Corporation IBM Research 1 Policy Transformation Techniques in Policy- based System Management Mandis Beigi, Seraphin Calo and Dinesh Verma.
Technical Reading Report Virtual Power: Coordinated Power Management in Virtualized Enterprise Environment Paper by: Ripal Nathuji & Karsten Schwan from.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
CISC Machine Learning for Solving Systems Problems Presented by: Eunjung Park Dept of Computer & Information Sciences University of Delaware Solutions.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Architecture for Resource Allocation Services Supporting Interactive Remote Desktop Sessions in Utility Grids Vanish Talwar, HP Labs Bikash Agarwalla,
© 2010 VMware Inc. All rights reserved Why Virtualize? Beng-Hong Lim, VMware, Inc.
Reinforcement Learning Based Virtual Cluster Management
Transparent Adaptive Resource Management for Middleware Systems
Utility-Function based Resource Allocation for Adaptable Applications in Dynamic, Distributed Real-Time Systems Presenter: David Fleeman {
Presentation transcript:

Generating Adaptation Policies for Multi-Tier Applications in Consolidated Server Environments College of Computing Georgia Institute of Technology Gueyoung Jung, Calton Pu AT&T Labs Research Kaustubh Joshi, Matti Hiltunen, Richard Schlichting

Page 2April 24, 2009 Challenges  Prior Approaches On-line controller (with stochastic models, reinforcement learning, control theory) Rule-based expert systems Problem: Dynamically re-configuring systems to rapidly changing conditions ☞ lack transparency and predictability ☞ hard to maintain linkage to underlying systems Hybrid approach to bridge both worlds

Page 3April 24, 2009 Challenges (contd.)  Promising cost-effectiveness and high resource utilization Focus: Dynamic resource provisioning in virtualized consolidated data centers hosting multiple multi-tier applications However, with unpredictable workloads  More complex models required  Larger optimization space of possible system configurations  More sophisticated adaptation policies required

Page 4April 24, 2009 Runtime Resource Management Monitoring - Request Rates - Resource utilization - Response times etc. Making decisions - Evaluating monitoring results - Adaptive systems Acting/Adapting - Start/stop processes (e.g., adjust replication degree of a component) - Migrate processes - Adjust CPU allocation (e.g., virtual machine technology) Shared Resource Pool with applications

Page 5April 24, 2009 How to Use Models for Decision Making Making decisions Model Inline (MIL)  Model(s) evaluated at runtime given current system workload as input  The rewards for alternative configurations can be calculated to determine a better configuration Model Offline (MOL)  Model(s) evaluated before system deployment using various workloads as inputs  Optimal configuration determined for each different workload mix  Adaptation rules generated based on model outputs

Page 6April 24, 2009 MOL vs. MIL MOL  Rules can be inspected by system administrators and domain experts  Resulting rules can be used by existing rule-based management systems  The time and compute intensive model evaluation is out of critical path (offline), while rules can be evaluated very quickly at runtime MIL  Potentially more accurate (evaluate exactly with the current load and configuration)  Model parameters can be updated at runtime

Page 7April 24, 2009  Proposing a hybrid approach  Automatically generating adaptation rules offline  Efficiently supporting an adaptive system for dynamic resource provisioning MOL in Action: Our Contributions ☞ Layered queueing models for Xen-based virtualization ☞ Novel optimization technique ☞ Accurate even with a subset of possible scenarios ☞ Compact, human-readable ☞ Best of both worlds ☞ Fine-grained resource (re)allocation

Page 8April 24, 2009 Approach Overview Formal problem statement, then discuss steps bottom up. Application 2 Application 1 modeling Model solver (LQNS) Optimizer Rule constructor workload optimal feasible configuration response time, utilization workload, configuration rules request rate actions

Page 9April 24, 2009 Formal Problem Statement (1/2) Given  A set of computing resources R  A set of applications A: each application consists of a set of components (tiers) each component has a set of possible replication degrees each application supports multiple transaction types  For each transaction type: transaction graph describing interactions between components and service time in each component  For each transaction of each application: Utility function defined using the desired (mean) response time and the reward/penalty for meeting/missing this time

Page 10April 24, 2009 Example: RUBiS RUBiS: a Java-based 3 tier auction site benchmark, CPU-intensive ClientsApache Tomcat MySQL AboutMe Transaction 1 Home Transaction 26 different transaction types with different behaviors Clients ApacheTomcatMySQL Apache

Page 11April 24, 2009 Formal Problem Statement (2/2) Measured at runtime:  Workload (request rate) of each transaction type Goal:  Configure the set of applications A on the resources R  Maximize utility U = ∑ i∈A ∑ j∈Ti U ij U ij = w ij R ij [or P ij ] (TRT ij − MRT ij )  Configuration: Degree of replication for each component Virtual machine parameters (e.g., CPU reservation) Placement of VMs on the physical machines R ( a VM contains a replica of a component of an application)

Page 12April 24, 2009 Example: RUBiS ApacheTomcatMySQL Application components: Logical configuration: Apache Tomcat Apache TomcatMySQL Tomcat Physical configuration: Hardware Hypervisor Hardware Hypervisor Hardware Hypervisor

Page 13April 24, 2009 Application Modeling  Modeling layered, multi-tier software systems  Modeling virtualization overhead Xen-based virtual machine monitor  Modeling simultaneous resource possession between components Application 2 Application 1 modeling

Page 14April 24, 2009 Layered Queueing Model Modeling CPU, network I/O, Disk I/O, and the per-message delay of virtual machine monitor Parameterizing models at training phase without intrusive instrumentation

Page 15April 24, 2009 Model Validation (1/3) Model predicts response time at different request rates (fixed configuration)

Page 16April 24, 2009 Model Validation (2/3) Model predicts response time at different CPU allocations

Page 17April 24, 2009 Model Validation (3/3) Model predicts CPU utilization at different tiers at different request rates (fixed configuration)

Page 18April 24, 2009 Optimization For a given workload, find the configuration with the maximum utility Huge parameter space to explore, NP-Complete problem Key Techniques:  Decouple logical configuration from physical component placement  Start from maximum configuration, search an optimal path that fits logical configuration into physical resources Observations:  Response time is monotonic function of number of replicas and CPU fraction Model solver Optimizer response time, utilization workload, configuration

Page 19April 24, 2009 Optimization Algorithm Maximum configuration: – Each component of each application has the maximum number of replicas, each with 100% of a CPU of their own. – Use model solver to get actual resource utilizations  and the response times (for calculating utility U). Algorithm: 1.Use bin-packing algorithm to find out if the utilizations  can be fitted in the actual resources R. 2.If not, evaluate possible alternatives for reducing utilization: Reduce number of replicas for some component Reduce CPU fraction for some virtual machine by 5% 3.Determine the actual utilizations and utility for the different options. 4.Choose the one that maximizes: 5.Repeat until configuration found

Page 20April 24, 2009 Optimality of Generated Policies Compare selected configuration against 20,000 random configurations

Page 21April 24, 2009 Rule-Set Construction Rule Constructor:  Randomly generates a set of workloads WS based on SLA for each application  Invokes optimizer to find optimal configuration c for each w  WS  Gives (w, c) pairs (raw rule-set) still need interpolation for workloads  WS  Use decision tree learner to generate decision tree  Linearize into nested “if-then-else” rule-set Optimizer Rule constructor workload optimal feasible configuration rules if (app0-Home <= ) if (app1-Home <= ) if (app1-Browse > ) if (app0-Home > ) if (app1-Browse <= ) if (app0-BrowseRegions <= ) config = "h0a0c2h1a1c2a0c0h2a0c1a1c1a1c0"; if (app0-BrowseRegions > ) if (app1-Browse <= ) if (app1-Browse <= ) config = "h0a0c2h1a1c2a0c0a1c0h2a0c1a1c1"; …….

Page 22April 24, 2009 Size of Rule-Set The size of the rule set increases when the number of training set data points increases

Page 23April 24, 2009 Utility Error The utility error decreases, and then stabilizes, with number of training set data points

Thank you! Questions?