Optimization of Resource Provisioning Cost in Cloud Computing

28
Optimization of Resource Provisioning Cost in Cloud Computing presented by Sivadon Chaisiri (Boom) 1 supervised by Assoc Prof Bu-Sung Lee 1,2 and Asst Prof Dusit Niyato 1 supervised by Assoc. Prof. Bu Sung Lee and Asst. Prof. Dusit Niyato 1 School of Computer Engineering, Nanyang Technological University, Singapore 2 HP Labs Singapore presented in PDCC Seminar, Parallel & Distributed Computing Centre, Friday 21 st , 2011

description

The slide is about how we can optimally provision servers with combination of reservation and on-demand plans offered by multiple cloud providers. The slide content is from the journal paper published in IEEE Transactions on Service Computing It was firstly presented in PDCC, School of Computer Engineering, Nanyang Technological University, Singapore.

Transcript of Optimization of Resource Provisioning Cost in Cloud Computing

Page 1: Optimization of Resource Provisioning Cost in Cloud Computing

Optimization of Resource ProvisioningCost in Cloud Computing

presented by Sivadon Chaisiri (Boom)1

supervised by Assoc Prof Bu-Sung Lee1,2 and Asst Prof Dusit Niyato1supervised by Assoc. Prof. Bu Sung Lee and Asst. Prof. Dusit Niyato1School of Computer Engineering, Nanyang Technological University, Singapore2HP Labs Singapore

presented inPDCC Seminar, Parallel & Distributed Computing Centre, Friday 21st, 2011

Page 2: Optimization of Resource Provisioning Cost in Cloud Computing

About This PresentationB d th f ll i d iBased on the following under-review paper

S. Chaisiri, B. S. Lee, and D. Niyato, Optimization of Resource Provisioning Cost in Cloud Computing, submitted to IEEE T ti S i C ti (TSC) b itt d i M hTransactions on Services Computing (TSC), submitted in March 2010, received major revision in September 2010, received minor revision on Christmas 2010, [Still under review], Accepted in February 2011 to appearin February 2011, to appear

Other relevant published conference papersS. Chaisiri, B. S. Lee, and D. Niyato, Robust Cloud Resource Provisioning for Cloud Computing Environments, presented in IEEE Int. Conf. on Service Oriented Computing and Applications (SOCA), Perth, Australia, December 2010S. Chaisiri, B. S. Lee, and D. Niyato, Optimal Virtual Machine Placement across Multiple Cloud Providers, presented in IEEE Asia-Pacific Services Computing Conference (APSCC), SSingapore, December 2009

2

Page 3: Optimization of Resource Provisioning Cost in Cloud Computing

OutlineOverview of Cloud Computing

Provisioning plans

Challenge of Resource Provision in the CloudUncertainty

Optimal Cloud Resource Provisioning (OCRP)OCRP ModelOCRP FormulationOCRP FormulationBenders DecompositionSample Average ApproximationNumerical Results

Summary

3

Page 4: Optimization of Resource Provisioning Cost in Cloud Computing

Overview of Cloud Computing

Pool of resourcesSoftware

Hardware infrastructure • Large distributed system

• Large pool of resources

Physical compute resourcesStorage

Network

• Multiple provider• Multiple data-centers• Virtualization

Cloud Computing

Cloudprovider

Cloudprovider

Cloudprovider

Cloudprovider

Cloudprovider

• Internet access• Pay-per-use basis• Provisioning options/plansCloud Computing • Provisioning options/plans

• On-demand• ReservationE l A G G id

Cloudconsumer

Cloudconsumer

Cloudconsumer

Cloudconsumer

Cloudconsumer

• Examples: Amazon, GoGrid,Flexiscale, Rackspace, …

4

Page 5: Optimization of Resource Provisioning Cost in Cloud Computing

Overview of Cloud Computing: Provisioning plansO d d l ff d b A EC2• On-demand plan offered by Amazon EC2

• Reservation plan offered by Amazon EC2• Reservation plan offered by Amazon EC2

Reservation can reduce the total provisioning costOn-demand (Small Instance): 0.085x365x24 = $744.60 for 1yr contract Reservation: 227.50+(0.03x365x24) = $490.30 for 1yr contract

34% h b 49% h f 3or 34% cheaper but 49% cheaper for 3yr contractSource: http://aws.amazon.com/ec2 5

Page 6: Optimization of Resource Provisioning Cost in Cloud Computing

Challenge of Resource Provision in the Cloud• Resource provision = activity to provide / supply

resource (to accommodate users/systems)• Goal: How many VMs (i.e., how much resource)

do we need to provision in advance (i.e., provision with reservation plan) ?provision with reservation plan) ?

• ChallengeM lti l l d id & Q S & SLAMultiple cloud providers & QoS & SLAMultivariate uncertainty e.g., demand, price, availabilityOptimal solution under uncertaintyOptimal solution under uncertainty Computational complexity

Note VMs = virtual machine or (virtualized) servers with installed required software

6

Note VMs = virtual machine or (virtualized) servers with installed required software

Page 7: Optimization of Resource Provisioning Cost in Cloud Computing

Challenge of Resource Provision in the Cloud: Uncertainty

• Uncertainty of price• On-demand price might be fluctuatedp g

• Uncertainty of availability• Free / cheap resources offered by a cloud provider

might be provided based on weak SLAs• Internet bandwidth is not reliable until cloud

resources might not be accessibleresources might not be accessible

7

Page 8: Optimization of Resource Provisioning Cost in Cloud Computing

Challenge of Resource Provision in the Cloud: Uncertainty

U t i t f d dDecision Realization time

• Uncertainty of demand

Actual demand is N VMs

Reserve N VMs Utilize N VMsNo on-demand

provisioning

Decision Realization time

Actual demand is N VMs

(a) Best provisioning

Decision Realizationtime

Utilize N VMs Provision 2N VMson-demand

Reserve N VMsUtilize N/2 VMsReserve N VMs No need

on-demand provisioning

Actual demand is 3N VMs

(b) Underprovisioning problem

Actual demand is N/2 VMs

(c) Overprovisioning problem

provisioning

Higher on-demand cost Higher oversubscribed cost

8

Higher on demand cost Higher oversubscribed cost

Page 9: Optimization of Resource Provisioning Cost in Cloud Computing

Optimal Cloud Resource ProvisioningOCRP algorithm is proposedTo minimize the expected resource provisioning cost in multiple provisioning stages e g 4 stages in quarter plan 12 stages inprovisioning stages e.g., 4 stages in quarter plan, 12 stages in 1-Y plan, 36 stages in 3-Y plan, etc.To consider multivariate uncertainty

Optimal solution is obtained by formulating and solving stochastic integer programming with multi-stage recourseTechniques to solve OCRP: deterministic equivalenceTechniques to solve OCRP: deterministic equivalence, benders decomposition, sample-average approximationSeveral experiments show that OCRP can minimize the cost under uncertainty

9

Page 10: Optimization of Resource Provisioning Cost in Cloud Computing

OCRP ModelSystem model of cloud computing

Cloud provider’s infrastructureCloud providers

Cloudprovider

Cloudprovider

Cloudprovider

Virtual machines

Physical compute resources

Virtual machines

Vi t l hi CloudconsumerOCRP

Virtual machine repositoryCloud broker

Virtual machines

10

Page 11: Optimization of Resource Provisioning Cost in Cloud Computing

Provisioning Phases

P i i i h ti i t l hProvisioning phase: time interval when resources need to be provisioned or utilized

1. Reservation phase: reserve resources1. Reservation phase: reserve resources2. Expending phase: utilized the reserved resources3. On-demand phase: provision more resources on-demand

11

Page 12: Optimization of Resource Provisioning Cost in Cloud Computing

Provisioning Stages

P i i i t ti h h l d b kProvisioning stage: time epoch when cloud broker makes a decisionExamplesExamplesTwo stages: current and future (e.g., now and next month)Twelve stages: Yearly plan = January to December

12

Page 13: Optimization of Resource Provisioning Cost in Cloud Computing

Reservation Contracts

Reservation contract: signed contract stating the time duration of availability of reserved resourceDuring the contract period, price is discountedExamples: 3-month (K1) and 6-month (K2) contracts

13

Page 14: Optimization of Resource Provisioning Cost in Cloud Computing

Uncertainty

Stochastic programming requires uncertainty parameters, namely scenarios given by setScenarios can be described by a probability distributionS h fi i i h b bili iSet has finite support with probabilities where

14

Page 15: Optimization of Resource Provisioning Cost in Cloud Computing

OCRP Formulation: stochastic programming model

15

Page 16: Optimization of Resource Provisioning Cost in Cloud Computing

OCRP Formulation: deterministic equivalence

16

Page 17: Optimization of Resource Provisioning Cost in Cloud Computing

Benders Decomposition

• Benders decomposition breaks down i i i bl i llan optimization problem into smaller

problems which can be solved independently (parallelly) p y (p y)

• Given the results obtained from master & subproblems, the lower & upper b d f l ti b l l t dbounds of solution can be calculated

• Convergence bounds checked bywhere andwhere and

17

Page 18: Optimization of Resource Provisioning Cost in Cloud Computing

Benders Decomposition: master & subproblemsM bl• Master problem

• Subproblems

18

Page 19: Optimization of Resource Provisioning Cost in Cloud Computing

Sample-Average Approximation

• If the number of scenarios ( ) is numerous, it may not be efficient to obtain the solution of OCRP

• SAA addresses the problem by sampling Ni h SAA b d OCRP f l iscenarios, then SAA-based OCRP formulation

is solved given the N samplesW d l d OCRP b d SAA h t• We modeled OCRP based on SAA approach to choose N that yields the acceptable approximated solutionapproximated solution

• SAA can be parallelized as well

19

Page 20: Optimization of Resource Provisioning Cost in Cloud Computing

Sample-Average Approximation: SSA formulation

20

Page 21: Optimization of Resource Provisioning Cost in Cloud Computing

Numerical Results: provisioning cost

21

Page 22: Optimization of Resource Provisioning Cost in Cloud Computing

Numerical Results: comparisons

22

Page 23: Optimization of Resource Provisioning Cost in Cloud Computing

Numerical Results: sampling

Actual number scenarios is 244,140,625 but 750 samples

23

pcan yield an acceptable solution

Page 24: Optimization of Resource Provisioning Cost in Cloud Computing

SummaryResource provisioning algorithms based on stochastic programming and robust optimization have been proposedTh l ith b li d i l ld t i i iThe algorithms can be applied in real world to minimize provisioning costsResource management framework for cloud computing will g p gbe composedWork-in-progress: resource provisioning for hybrid cloud

Scenario tree constr ction and red ctionScenario tree construction and reductionReal data from HPC@NTU as a practical showcaseCost-benefit analysis between private cloud vs. hybrid cloud

Future work (just plan to do in this year)Framework for Map/Reduce on hybrid processors & hybrid cloudCost-benefit-analysis of certain applications on the hybrid cloudCost-benefit-analysis of certain applications on the hybrid cloud

24

Page 25: Optimization of Resource Provisioning Cost in Cloud Computing

THANK YOUTHANK YOU

Contact: [email protected] ; [email protected]://about.me/javaboom

25

Page 26: Optimization of Resource Provisioning Cost in Cloud Computing

Major Contributions1. Optimal Virtual Machine Placement (OVMP)

Two-stage recourse stochastic programmingOptimal provisioning resources under uncertaintyOptimal allocating VMs to cloud providers

2. Optimal Cloud Resource Provisioning (OCRP)Multi-stage recourse stochastic programmingAlso modeling OCRP by Benders decomposition andAlso modeling OCRP by Benders decomposition and sample-average approximation

3. Robust Cloud Resource Provisioning (RCRP)Robust optimization modeling

26

Page 27: Optimization of Resource Provisioning Cost in Cloud Computing

Overview of Cloud Computing: Multiple data-centers

• Multiple data-centers: Availability Zones organized by Amazon EC2

Picture courtesy of Amazon

27

Page 28: Optimization of Resource Provisioning Cost in Cloud Computing

Overview of Cloud Computing: Pay-per-useC t f li t ff d b A S3• Cost of on-line storage offered by Amazon S3

Source: http://aws.amazon.com/s328