Zhen Xiao, Qi Chen, and Haipeng Luo May 2013

Slides:



Advertisements
Similar presentations
Tight Bounds for Online Class- constrained Packing Hadas Shachnai Bell Labs and The Technion IIT Tami Tamir The Technion IIT.
Advertisements

Class-constrained Packing Problems with Application to Storage Management in Multimedia Systems Tami Tamir Department of Computer Science The Technion.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
SLA-Oriented Resource Provisioning for Cloud Computing
Operating Systems Process Scheduling (Ch 3.2, )
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Energy-efficient Virtual Machine Provision Algorithms for Cloud System Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer.
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
Dynamic Resource Allocation using Virtual Machine for Cloud Computing Environment Zhen Xiao, Weijia Song, and Qi Chen Dept. of Computer Science Peking.
Google App Engine Cloud B. Ramamurthy 7/11/2014CSE651, B. Ramamurthy1.
Automatic Resource Scaling for Web Applications in the Cloud Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer Science.
Towards High-Availability for IP Telephony using Virtual Machines Devdutt Patnaik, Ashish Bijlani and Vishal K Singh.
1 Class Constrained Packing We need to pack items into bins. All the bins have the same capacity. Each bin can accommodate items from a bounded number.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Energy Efficient Web Server Cluster Andrew Krioukov, Sara Alspaugh, Laura Keys, David Culler, Randy Katz.
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool Presented by: David Finkel Computer Science Department Worcester.
DESIGN CONSIDERATIONS OF A GEOGRAPHICALLY DISTRIBUTED IAAS CLOUD ARCHITECTURE CS 595 LECTURE 10 3/20/2015.
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Black-box and Gray-box Strategies for Virtual Machine Migration Timothy Wood, Prashant.
HeteroPar 2013 Optimization of a Cloud Resource Management Problem from a Consumer Perspective Rafaelli de C. Coutinho, Lucia M. A. Drummond and Yuri Frota.
Department of Computer Science Engineering SRM University
PARAID: The Gear-Shifting Power-Aware RAID Charles Weddle, Mathew Oldham, An-I Andy Wang – Florida State University Peter Reiher – University of California,
Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
November , 2009SERVICE COMPUTATION 2009 Analysis of Energy Efficiency in Clouds H. AbdelSalamK. Maly R. MukkamalaM. Zubair Department.
Improving Network I/O Virtualization for Cloud Computing.
A Broker for Cost-efficient QoS aware Resource Allocation in EC2. Kurt Vermeersch Coordinator: Kurt Vanmechelen.
An Autonomic Framework in Cloud Environment Jiedan Zhu Advisor: Prof. Gagan Agrawal.
Critical Power Slope Understanding the Runtime Effects of Frequency Scaling Akihiko Miyoshi, Charles Lefurgy, Eric Van Hensbergen Ram Rajamony Raj Rajkumar.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Power-Aware Scheduling of Virtual Machines in DVFS-enabled Clusters
Joint Power Optimization Through VM Placement and Flow Scheduling in Data Centers DAWEI LI, JIE WU (TEMPLE UNIVERISTY) ZHIYONG LIU, AND FA ZHANG (CHINESE.
Copyright © 2011, Performance Evaluation of a Green Scheduling Algorithm for Energy Savings in Cloud Computing Truong Vinh Truong Duy; Sato,
A dynamic optimization model for power and performance management of virtualized clusters Vinicius Petrucci, Orlando Loques Univ. Federal Fluminense Niteroi,
Data Replication and Power Consumption in Data Grids Susan V. Vrbsky, Ming Lei, Karl Smith and Jeff Byrd Department of Computer Science The University.
Efficient Live Checkpointing Mechanisms for computation and memory-intensive VMs in a data center Kasidit Chanchio Vasabilab Dept of Computer Science,
June 30 - July 2, 2009AIMS 2009 Towards Energy Efficient Change Management in A Cloud Computing Environment: A Pro-Active Approach H. AbdelSalamK. Maly.
Accounting for Load Variation in Energy-Efficient Data Centers
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Load Rebalancing for Distributed File Systems in Clouds.
Cloud Computing Andrew Stromme and Colin Schimmelfing.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
SEMINAR ON.  OVERVIEW -  What is Cloud Computing???  Amazon Elastic Cloud Computing (Amazon EC2)  Amazon EC2 Core Concept  How to use Amazon EC2.
1 Automated Power Management Through Virtualization Anne Holler, VMware Anil Kapur, VMware.
GreenCloud: A Packet-level Simulator of Energy-aware Cloud Computing Data Centers Dzmitry Kliazovich, Pascal Bouvry, Yury Audzevich, and Samee Ullah Khan.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Security Group Amazon RDS Mysql Media Request S3
Jacob R. Lorch Microsoft Research
Reinforcement Learning Based Virtual Cluster Management
Green cloud computing 2 Cs 595 Lecture 15.
Hybrid Cloud Architecture for Software-as-a-Service Provider to Achieve Higher Privacy and Decrease Securiity Concerns about Cloud Computing P. Reinhold.
Frequency Governors for Cloud Database OLTP Workloads
Overview Introduction VPS Understanding VPS Architecture
Managing Clouds with VMM
Above the Clouds A Berkeley View of Cloud Computing
Lecture 21: Introduction to Process Scheduling
Outline Virtualization Cloud Computing Microsoft Azure Platform
Effective VM Sizing in Virtualized Data Centers
Cloud Computing and its Implementation
Abeer Ali, Dimitrios Pezaros, Christos Anagnostopoulos 
Syllabus and Introduction Keke Chen
Admission Control and Request Scheduling in E-Commerce Web Sites
Cloud Computing Architecture
Lecture 21: Introduction to Process Scheduling
STEP VIRTUAL MACHINE MIGRATION FOR DYNAMIC RESOURCE ALLOCATION IN CLOUD COMPUTING ENVIRONMENT Guided By 2 2 STEP ParticipantsName Register Number K. Dileswara.
Presentation transcript:

Zhen Xiao, Qi Chen, and Haipeng Luo May 2013 Automatic Scaling of Internet Applications for Cloud Computing Services Zhen Xiao, Qi Chen, and Haipeng Luo May 2013 To appear in IEEE Transactions on Computers

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Benefits of Cloud Computing Auto-scaling: Cloud computing allows business customers to scale up and down their resource usage based on needs L7 Switch Hypervisor Hypervisor Hypervisor Hypervisor

When and where to start a VM for an application? Myth about Cloud Computing Myth #1: Cloud computing provides infinite resource on demand --- Reality: just statistical multiplexing L7 Switch Hypervisor Hypervisor Hypervisor Hypervisor When and where to start a VM for an application?

Goals of Scheduling Achieve good demand satisfaction The percentage of application demand that is satisfied should be maximized when a large number of applications experience their peak demand around the same time. Support green computing the number of servers used should be minimized as long as they can still satisfy the needs of all VMs. Idle servers can be turned off to save energy.

Goals of Scheduling

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Related Work Auto scaling in Amazon EC2 -- Scalr Google AppEngine For one application Load balancing Google AppEngine Support Java & Python Secure sandbox environment has strict limitations Can not support existing applications Microsoft Windows Azure Applications should be stateless Users maintain the number of Instances

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

System Architecture … Requests Switch Application Scheduler Plugin Appl info Appl info Load distribution Reqs Instance list Algorithm adjustment Appl placement Dispatcher Request counter Monitor Usher CTRL Dom 0 Dom U Dom 0 Dom U Dom 0 Dom U Usher LNM Usher LNM … Usher LNM Xen Hypervisor Xen Hypervisor Xen Hypervisor

Fast start Complicated applications can take a long time to finish all the initializations (several minutes) Suspend && Resume Resumption time is independent of the start up time It depends on how fast the server can read the suspended VM file from the disk, which is quite short (several seconds) with modern disk technology Start up time is reduced by 70% for a VM with 1G memory Memory file VM1 VM1 Disk VM1 VM2

Green computing Put idle servers into standby mode so that they can be waken up quickly in an on-demand manner TPC-W workloads Fully utilized server consumes about 205 Watts Idle server consumes about 130 Watts Server in standby mode consumes about 20 Watts Putting idle server into standby mode save 85% energy Wake-on-LAN (WOL) technology Standby to active transition time is 1-2 seconds Suspend (in ram) to active transition time is 3-5 seconds

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Problem definition  

Our design Bin packing Class Constrained Bin-Packing Problem (CCBP) Items with different sizes are packed into a min number of bins Class Constrained Bin-Packing Problem (CCBP) The size of each item is one unit Each bin has capacity v Items are divided into classes Each bin can accommodate items from at most c distinct classes Model our problem as CCBP Each server is a bin Each class represents an application Items from a specific class represent the resource demands The capacity of a bin is the amount of resource at a server Class constraint: the max number of appls a server can run simultaneously

Our design App 3 c = 2 v = 5 App 3 App 1 App 3 App 1 App 3 App 1 App 2 Server1 Server2

Our design Enhanced color set algorithm All sets contain exactly c colors except the last one Items from different color sets are packed independently using a greedy algorithm Resource needs of appls can vary with time Applications can join and leave A key observation of our work: Not all item movements are equally expensive Creating a new application instance is expensive Adjusting the load distribution is cheaper

Demand varies with time Load increase: arrivals of new items c = 4 v = 5 App 2 App 3 App 2 App 1 App 3 App 3 App 1 App 2 App 2 App 3 App 3 App 1 App 1 App 2 App 3 App 3 App 1 App 1 App 2 App 3 bin1 bin2 unfilled bin

Demand varies with time Load decrease: departure of already packed items c = 4 v = 5 App 2 App 3 App 2 App 1 App 3 App 3 App 1 App 2 App 2 App 3 App 3 App 1 App 1 App 3 App 2 App 3 App 1 App 1 App 2 App 3 bin1 bin2 unfilled bin

Mathematical analysis   R is determined mostly by c * t (the total load of all appls in a color set)

Practical considerations Server equivalence class Divide the servers into “equivalence classes” based on their hardware settings Run our algorithm within each equivalence class Periodical execution Optimizations Each color set has at most one unfilled bin Use them to satisfy the appls whose demands are not completely satisfied

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Simulations  

1000 servers and 1000 applications. Appl demand ratio 1000 servers and 1000 applications.

Scalability Increase both #server and #appl from 1000 to 10,000

Appl number Fix #server to 1000, vary #appl from 200 to 2000

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Experiments 30 Dell PowerEdge servers with Intel E5620 CPU (8 cores) and 24GB of RAM run xen-4.0 and linux 2.6.18 Web applications: Apache servers serving CPU intensive PHP scripts Clients: httperf to invoke the PHP scripts

Load shifting

Auto scaling Green Computing Flash Crowd

Auto scaling Compared with the Scalr (Amazon EC2) Flash Crowd

Auto scaling Our algorithm restores to the normal QoS in less than 5 min. While Scalr still suffers much degraded performance even after 25 min.

Outlines 1. Introduction 2. Related Work 3. System Architecture 4. Our Design 5. Simulations 1. Introduction 6. Experiments 7. Conclusion

Conclusion We presented the design and implementation of a system that can scale up and down the number of application instances automatically based on demand An enhanced color set algorithm to decide the application placement and the load distribution Achieve high satisfaction ratio even when the load is very high Save energy by reducing the number of running instances when the load is low

Thank You!

Application joins and leaves Application leaves Load decrease: demand → 0 Shutdown the instances Remove the color from the set Application joins Sort the unfilled color sets: #color↓ Use a greedy algorithm to add new colors into those sets If #unfilled set > 1, then Sort the unfilled color sets: #color ↓ Use the last set in the list to fill the first set Repeat until #unfilled set <= 1 If #new color > 0, then Partition them into additional color sets

Scheduling Model App 2 App 2 App 3 App 2 App 1 Server1 Server2 Server3