Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

23
Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud Οικονομικό Πανεπιστήμιο Αθηνών Επιστήμη των Υπολογιστών Μιλτιάδης Λάσκαρης

description

Cloud Computing platforms providing resources on demand Virtualization technology allows servers and storage devices to be shared and their utilization to be increased Applications can be easily migrated or replicated from a server to another

Transcript of Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Page 1: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Kingfisher: A System for Elastic Cost-aware Provisioning in the CloudΟικονομικό Πανεπιστήμιο Αθηνών

Επιστήμη των Υπολογιστών

Μιλτιάδης Λάσκαρης

Page 2: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Cloud• Computing platforms providing resources on

demand• Virtualization technology allows servers and

storage devices to be shared and their utilization to be increased

• Applications can be easily migrated or replicated from a server to another

Page 3: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Challenges for the customers• Given several available resource

configurations for a particular workload, which one to choose?

• How best to transition from one resource configuration to another to handle changes in workload?

Page 4: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Purpose of the Paper• Dynamically provisioning virtual server

capacity that exploits cloud pricing models and elasticity mechanisms in favour of the customer

• Cost-aware provisioning• Prototype implementation and

experimentation on public and private clouds

Page 5: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Provisioning Problem Hypotheses• An application is distributed with k

interacting componentsStatement• Initial Deployment (is determining how many

cloud servers to provision for each tier and of what type)

• Subsequent provisioning (once an application has been deployed on the cloud, its workload demands may change over time)

Minimize• The rental cost of the servers• The transition cost

Page 6: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Provisioning in the CloudAlgorithm for provisioning• When to provision?

a simple threshold-driven reactive approach

• How much to provision? ARIMA time-series predictor to capture workload trends and estimate the future

workload

• How to choose a configuration that minimizes rental or transition cost?

Integer linear program

Page 7: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Integer linear program•Rental Cost-aware Provisioning

intuition ratio Ci/pi followed by the ILP where Ci and pi denote that capacity(maximum request rate) and the rental cost of server type i

pi denote the rental cost λ denote the peak workload N denote the maximum number of servers that could be needed to satisfy λ T denote the number of the provisioning mechanisms supported by the platforms M denote the number of server types supported by the cloud platform terms xijk is an integer variable in the ILP that can take values of 0 or 1

Page 8: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Integer linear program•Transition Cost-aware Provisioning

transition-aware approach preferrs mechanisms that incur the lower data copying overheads (and hence, lower latencies)

intuition ratio Ci/pi followed by the ILP where Ci and pi denote that capacity(maximum request rate) and the rental cost of server type i

mijk be the cost of transforming server-i to server-j λ denote the peak workload N denote the maximum number of servers that could be needed to satisfy λ T denote the number of the provisioning mechanisms supported by the platforms M denote the number of server types supported by the cloud platform terms xijk is an integer variable in the ILP that can take values of 0 or 1

Page 9: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Kingfisher Prototype

Page 10: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Key components features• Monitoring engine

Ganglia enhanced to also monitor application workloads

• Workload ForecastingARIMA forecasting libraries in Rto predict the

future peak workload

• Capacity plannerThe planner then uses lpsolve to solve the LP

approximation of our ILP, and uses a heuristic to convert the LP solution into an integer solution

Page 11: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Experimental Evaluation•Case study

TPC-W a multi-tier web benchmark that represents an e-commerce web application comprising of a Tomcat application tier and a mysql database tier

Page 12: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Experimental Evaluation•Laboratory based cloud (Private)

8- core 2GHz AMD Opteron 2350 servers and 4-core 2.4 GHz Intel Xeon X3220 systems. In this case, we assumed

a cloud platform with two servers small (S) and large (L),with rental costs of $0.11 and $0.25 per hour,

respectively• EC2 (Public)

For EC2, 1 ECU= 1.2 GHz Xeon or Optron circa 2007

Page 13: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 14: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 15: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 16: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 17: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 18: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Private Cloud Results

Page 19: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

EC 2 Results•Determining Transition Costs in EC2

EC2 system supports only shutdown and migrate on EBS-volume based instances, while on instance store based EC2-instances it only supports replication

Page 20: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

EC 2 Results

Page 21: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

EC 2 Results•Three flavors of transition-aware

provisioning that capture the real-life constraints specific to EC2 TA-RM-1, which only takes into account the number of transitions

and cost of each transition and also the rental cost of final configuration;

TA-RM-2 that considers transition costs and final rental costs for non-EBS instances in EC2,

TA-RM-3 that distinguishes between 32-bit small EC2 instances, and 64-bit larger EC2 instances, and assumes that 32-bit and 64-bit applications are not mixed across the corresponding server types.

Page 22: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

EC 2 Results

Page 23: Kingfisher: A System for Elastic Cost-aware Provisioning in the Cloud

Conclusion• Prototyped a cloud provisioning engine, using

OpenNebula, that implements their approach and evaluated its efficacy on a laboratory-based Xen cloud.

• The experiments demonstrated the cost benefits of their approach over prior cost-

oblivious approaches the benefits of unifying both replication and

migration-based provisioning into a single approach.

• Presented a case study of how their approach can be employed in a public cloud such as Amazon EC2.