SLA-aware Virtual Resource Management for Cloud Infrastructures

Slides:



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

Capacity Planning in a Virtual Environment
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Hadi Goudarzi and Massoud Pedram
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
SLA-Oriented Resource Provisioning for Cloud Computing
System Center 2012 R2 Overview
Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
Power Aware Virtual Machine Placement Yefu Wang. 2 ECE Introduction Data centers are underutilized – Prepared for extreme workloads – Commonly.
ElasticTree: Saving Energy in Data Center Networks Brandon Heller, Srini Seetharaman, Priya Mahadevan, Yiannis Yiakoumis, Puneed Sharma, Sujata Banerjee,
Page 15/4/2015 CSE 30341: Operating Systems Principles Allocation of Frames  How should the OS distribute the frames among the various processes?  Each.
1 Placement (Scheduling) Optimal mapping of VMs – to physical hosts in a data center (cloud) – across multiple clouds Federation and bursting Multi-cloud.
Power-aware Resource Allocation for Cpu- and Memory Intense Internet Services Vlasia Anagnostopoulou Susmit Biswas, Heba Saadeldeen,
Green Cloud Computing Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology,
Reciprocal Resource Fairness: Towards Cooperative Multiple-Resource Fair Sharing in IaaS Clouds School of Computer Engineering Nanyang Technological University,
CloudScale: Elastic Resource Scaling for Multi-Tenant Cloud Systems Zhiming Shen, Sethuraman Subbiah, Xiaohui Gu, John Wilkes.
Xavier León PhD defense
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
Application Models for utility computing Ulrich (Uli) Homann Chief Architect Microsoft Enterprise Services.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
DatacenterMicrosoft Azure Consistency Connectivity Code.
Online Auctions in IaaS Clouds: Welfare and Profit Maximization with Server Costs Xiaoxi Zhang 1, Zhiyi Huang 1, Chuan Wu 1, Zongpeng Li 2, Francis C.M.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
Server-Storage Virtualization: Integration and Load Balancing in Data Centers Aameek Singh, Madhukar Korupolu (IBM Almaden) Dushmanta Mohapatra (Georgia.
Virtualization for Cloud Computing
New Challenges in Cloud Datacenter Monitoring and Management
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Jiazhang Liu;Yiren Ding Team 8 [10/22/13]. Traditional Database Servers Database Admin DBMS 1.
COST IC804 – IC805 Joint meeting, February Jorge G. Barbosa, Altino M. Sampaio, Hamid Harabnejad Universidade do Porto, Faculdade de Engenharia,
Self-Adaptive QoS Guarantees and Optimization in Clouds Jim (Zhanwen) Li (Carleton University) Murray Woodside (Carleton University) John Chinneck (Carleton.
Abstract Cloud data center management is a key problem due to the numerous and heterogeneous strategies that can be applied, ranging from the VM placement.
Extreme Networks Confidential and Proprietary. © 2010 Extreme Networks Inc. All rights reserved.
Advanced Energy Management in Cloud Computing multi data center environments Giuliana Carello, DEI, Politecnico di Milano Danilo.
Department of Computer Science Engineering SRM University
Virtual Machine Hosting for Networked Clusters: Building the Foundations for “Autonomic” Orchestration Based on paper by Laura Grit, David Irwin, Aydan.
Bargaining Towards Maximized Resource Utilization in Video Streaming Datacenters Yuan Feng 1, Baochun Li 1, and Bo Li 2 1 Department of Electrical and.
How to Resolve Bottlenecks and Optimize your Virtual Environment Chris Chesley, Sr. Systems Engineer
Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment.
Network Aware Resource Allocation in Distributed Clouds.
Cloud Computing Energy efficient cloud computing Keke Chen.
Adaptive software in cloud computing Marin Litoiu York University Canada.
OPTIMAL PLACEMENT OF VIRTUAL MACHINES WITH DIFFERENT PLACEMENT CONSTRAINTS IN IAAS CLOUDS L EI S HI, B ERNARD B UTLER, R UNXIN W ANG, D MITRI B OTVICH.
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.
© 2009 IBM Corporation 1 Improving Consolidation of Virtual Machines with Risk-aware Bandwidth Oversubscription in Compute Clouds Amir Epstein Joint work.
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.
Challenges towards Elastic Power Management in Internet Data Center.
Job scheduling algorithm based on Berger model in cloud environment Advances in Engineering Software (2011) Baomin Xu,Chunyan Zhao,Enzhao Hua,Bin Hu 2013/1/251.
A dynamic optimization model for power and performance management of virtualized clusters Vinicius Petrucci, Orlando Loques Univ. Federal Fluminense Niteroi,
Embedded System Lab 김해천 Thread and Memory Placement on NUMA Systems: Asymmetry Matters.
Managing Server Energy and Operational Costs Chen, Das, Qin, Sivasubramaniam, Wang, Gautam (Penn State) Sigmetrics 2005.
VGreen: A System for Energy Efficient Manager in Virtualized Environments G. Dhiman, G Marchetti, T Rosing ISLPED 2009.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
Present by Sheng Cai Coordinating Power Control and Performance Management for Virtualized Server Clusters.
Copyright © 2010, Performance and Power Management for Cloud Infrastructures Hien Nguyen Van; Tran, F.D.; Menaud, J.-M. Cloud Computing (CLOUD),
Accounting for Load Variation in Energy-Efficient Data Centers
A stochastic scheduling algorithm for precedence constrained tasks on Grid Future Generation Computer Systems (2011) Xiaoyong Tang, Kenli Li, Guiping Liao,
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
1 Automated Power Management Through Virtualization Anne Holler, VMware Anil Kapur, VMware.
LIGHTWEIGHT CLOUD COMPUTING FOR FAULT-TOLERANT DATA STORAGE MANAGEMENT
Adaptive Cloud Computing Based Services for Mobile Users
An Equal-Opportunity-Loss MPLS-Based Network Design Model
Overview Introduction VPS Understanding VPS Architecture
Effective VM Sizing in Virtualized Data Centers
ElasticTree: Saving Energy in Data Center Networks
Dynamic Placement of Virtual Machines for managing sla violations
Towards Predictable Datacenter Networks
Presentation transcript:

SLA-aware Virtual Resource Management for Cloud Infrastructures On the Management and Efficiency of Cloud Based Services Eitan Rosenfeld December 8th, 2010

Problem Space Automate the management of virtual servers Why this is challenging: Must take into account high-level SLA requirements of hosted applications Must take into account resource management costs When applications change state, their resource demands are likely to change אופן אוטומטי למכן

High Level Solution Generate a Global Utility function Constraint Programming approach Degree of SLA fulfillment Operating costs Autonomic resource manager built on utility function Decouple resource provisioning and VM placement

Why use (and automate) the Cloud? Static allocation of resources results in 15-20% utilization VMs allow decoupling of applications from physical servers Automation of the management process (scale up and scale down) can reduce cost, and boost/maintain performance

Decoupling in two stages Provisioning stage Allocate resource capacity virtual machines for a given application Driven by performance goals associated with the business-level SLAs of the hosted applications Placement stage Map Virtual Machines to Physical Machines Driven by data center policies regarding resource management costs. A typical example is to lower energy consumption by minimizing the number of active physical servers. Define SLA – Service Level Agreement – average response time, number of jobs completed per unit of time

Allocating new resources with state changes Application Environment A Application Environment B Application Environment C VM1 VM2 VM3 VM4 VM5 VM6 VM7 Draw own picture with multiple VMs per application and multiple VMs on a physical machine Physical Machine1 Physical Machine2 Physical Machine3 Physical Machine4

Automation criteria What are the requirements for successful automation? Dynamic provisioning and placement Support for online applications with stringent QoS requirements batch-oriented CPU-intensive applications Support for a variety of application topologies

Provisioning maps to application specific functions Placement maps to a global decision layer Utility function is their means of communication. Utility function returns a scalar value 0 (unsatisfied) to 1 (satisfied) Application state: Workload, Resource Capacity, SLA Both provisioning and placement are mapped as Constraint Satisfaction Problems Utility function – value 0 to 1, 0 meaning

Some Definitions Satisfaction – whether an application is achieving its performance goals Constraint Programming – solve a problem by stating constraint relations between variables – constraints must be satisfied by the solution

Assumptions Physical machines can run multiple VMs Application Environment (AE) AEs can span multiple VMs SLAs apply to AEs A VM can only run one AE at a time

High Level Architecture Local Decision Module (LDM) for each AE Compute satisfaction with current resources, workload, and service metrics (utility function) Evaluate the opportunity of allocating more VMs or releasing existing VMs to/from the AE Global Decision Module (GDM) Arbitrates resource requirements based on utility functions and performance of VMs and PMs Notify LDMs of changes to VMs and manage the VM lifecycle (start, stop, migrate)

Local Decision Module LDM is associated with two utility functions (1) Fixed service-level - maps the service level to a utility value (2) Dynamic resource-level - maps a resource capacity to a utility value, communicated to GDM Variables Let A =(a1, a2, ..., ai, ..., am) denote the set of AEs, P=(p1,p2,...,pj,...,pq) denote set of PMs in datacenter, S=(s1, s2, ..., sk, ..., sc), denote set of c classes of VMs, where sk=(skcpu, skram) specifies the VM CPU capacity in MHz and the VM memory capacity in megabytes

LDM (cont’d) Utility function (2) ui for application ai: ui = fi(Ni), where Ni is the VM allocation vector of application ai: Ni = (ni1,ni2,...,nik,...,nim) where nik is the number of VMs of class sk attributed to application ai.

Application Constraints Each application also provides upper bound on VMs that it is willing to accept. Each VM class Nimax=(ni1max,ni2max,...,nikmax,...,nimmax) Total Timax (1) 1 ≤ i ≤ m and 1 ≤ k ≤ c (2) 1 ≤ i ≤ m

Global Decision Module Duties (and Constraint Satisfaction Problems) Determining VM allocation vectors Ni for each application (Provisioning) Place VMs on PMs such that number of active PMs is minimized (Packing)

Provisioning VMs allocated to all applications are constrained by capacity physical servers CPU capacity (3) RAM capacity where Cj is the capacity of PM pj

Provisioning Output Provisioning phase output Set of vectors Ni for which constraints 1, 2, 3 are satisfied Comparing new Ni to existing Ni tells GDM which VMs will be created, destroyed, or resized. Global utility Uglobal is maximized via weighted sums of utility and operating costs. where is weight of utility fn for application , and ε is coefficient that allows admin to trade/tweak performance goals for operating cost of Ni …and cost(N) is a function of VM allocation vectors Ni and must share the same scale as application utility functions, i.e (0,1). This cost function is not hardwired into the GDM but can be specified arbitrarily.

Packing (Placement) V = (vm1,vm2,...,vml,...,vmv) lists all VMs running at the current time. For each PM pj ∈ P, bit vector Hj = (hj1,hj2,...,hjl,...,hjv) denotes the set of VMs assigned to pj Example: hjl = 1 if pj is hosting vml R = (r1 , r2 , ..., rl , ..., rv ) is the resource capacity (CPU, RAM) of all VMs, where rl=(rlcpu , rlram )

Packing (physical resource) Constraints The sum of the resource capacities of the VMs on PM pj must be less than or equal to the resource capacity of pj.

Packing Output Packing produces VM placement vectors Hj GDM is run periodically – uses previous Hj to determine which VMs need to be migrated Goal is to minimize number of active PMs X:

Simulation Environment 4 PMs, each with 4000 MHz, 4000 MB 2 applications Cost function:

Simulation 1 Minimize operating cost impact: ε = .05 4 VM classes Given Table II below, A is given priority

Demand DA and DB CPUs RA and RB #Physical Machines Global Utility Response times TA and TB At times t0 and t1, as workloads of A and B are both low, CPU demands are negligible, hence there is only one PM needed. Between times t2 and t3, workloads increase, so the system tends to attribute more resource (CPU) accordingly. However, the workloads are not too heavy, there are still enough resource to keep response time under the SLA goal (τ = 100ms) for all applications. In this interval, almost all PMs are mobilized. The impact of the application weights αi is also illustrated between time t4 and t5, where demands for application A and B are both high. As 0.8 = αA > αB = 0.2, A has the higher resource allocating priority. Since there is not any CPU resource left to provision to application B, the response time of B exceeds the SLA goal. Note that at these intervals, the global utility has slightly decreased (to 0.85) because of the SLA violation of B. At times t6, t7 and t8 a peak of demand for application A corresponds to a trough of demand for application B and vice-versa. CPU capacity is switched between the two applications to maintain an optimal global utility.

Simulation 2: Operating Cost factor ε increases to .3 Simulation (cont’d) As the resource demands increases, the global utility value decreases more. The worst value is reached at t4 and t5 (0.55) when both applications need a maximum amount of resource. We can see at these intervals and even at t7, t8, B descends quicker and than only holds a small amount, as compared to Figure 5, even when nearly all resource was released by A. This behavior is due to the weight αB = 0.2 is negligible against αA = 0.8, and the local utility value of B is not enough to compensate the operating cost which is ”boosted” by ε = 0.3. Consequently, there are some SLA violations of B, notably at time t7.

New utility function for both A and B Simulation 3 New utility function for both A and B

Simulation 3 results Looking at t4 and t5 – CPU resource for B descends faster as compared to the first test Focusing on intervals t4 and t5, as now B uses the utility function 4(a), the CPU resource for B descends faster as compared to the first test (Figure 5), since 4(a) doesn’t have some intermediate value line 4(b) when resource amount is not enough to satisfy the SLA value.

Simulation 4: Changing weight factors αA=0.3, αB=0.7  B obtains enough CPU, A does not  fails to meet SLA The increase of the response time of A (about 250ms) during high workload intervals is the result of its lower contribution the global utility value.

Recommendations Constraint Solver for optimizing provisioning and packing is not discussed.* No mention of any overheads of migrating to a new PM or allocating a new VM. Simulations do not dive into N vectors for VM provisioning No discussion of cost or frequency of running GDM *Choco open source constraint solver is used

Conclusions Dynamic placement and attention to application- specific goals are valuable Modeling on top of Constraints allows for flexibility Utility functions provide a uniform way for applications to self-optimize.