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

Transcript
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.