Day 4 Cloud Resource Provisioning Plans
Agenda for Today • Cloud service providers offer cloud consumers a variety of service provisioning plans for computing resources. • Today, we will look at these service provisioning plans that include – Short term planning (on-demand plan) – Advance Reservation planning – Opportunistic planning • Formulate simple problem statement and discuss the opportunities and the challenges they bring • List many open research problems
Introduction • A resource provisioning mechanism is used in cloud computing to enable cloud consumers to rent a set of resources on a short term or a long term bases • Cloud service providers such as Amazon EC2, generally offer pricing schemes in the form of – On-Demand, – Reserved, and – Spot instances (Preemptible VMs in Google) • We will focus on the Amazon pricing plan here.
Cloud Data Center Model • The Cloud resource provisioning enables virtualized resources to be allocated to Cloud consumers based on three provisioning plans. Result Virtualized Resources Cloud consumer request Service Provisioning J1 Jn J1 Advance Spot On-demand Reservation Instances Advanced Reservation – it is a long- term plan that allows customers to pre-reserve resources. On-Demand Instances – it is an intermediate-term plan that Spot Instances - it is a short-term allows customers to pay hourly plan that allows customers to bid for resource usage on pay-as-you- on unused resources. go bases.
Advanced Reservation • Some applications such as interactive multimedia require end-to-end reservation for resources. • Advance reservation techniques are very useful in federated cloud as well, particularly for the co-allocation of various resources.
Advanced Reservation • All major Cloud service providers offer advanced reservation of cloud datacenter resources – Advanced Reservation enables Cloud customers to reserve resources in advance for a specific duration. – Reservation is accepted for a fixed contract duration (e.g. for a 1 year contract or for a 3 year contract) with a one- time upfront payment for the duration of the contract • Reservation is significantly cheaper than the on- demand fee structure. • In Amazon EC2, reserved instances are available in light, medium, and heavy utilization types.
Advanced Reservation Challenges • Advanced reservation plan is good for Cloud users as it can substantially reduce the total resource provisioning cost. • The major challenges include – Uncertainty of consumer's future demand and providers' resource prices. – Under-provisioning and overprovisioning problems • How to solve the above challenges have been an active research area. • Specifically, how can we develop such advanced reservation algorithms to enhance user experiences?
Reservation cost • We need to determine the cost of the reservation for provisioning the resource type requested by the user. • Let ℛ denote the set of resources provided to the user by the Cloud provider. The cost is expressed as follows: 𝑑 𝑠𝑓𝑡 = 𝓈 𝑗𝑠 ∙ 𝑑 𝑠 𝑠∈𝑆 • Where – 𝓈 𝑗𝑠 is the amount of resource of type r from class i used by the Cloud user. – 𝑑 𝑠 is the cost of resource of type r
Reservation cost • For example, an end user reserves the following VMs – ℛ ={medium and extra large}. – 𝓈 𝑗𝑠 = {three medium and two extra large}. – 𝑑 𝑠 ={$132, $552} • The cost is follows: 𝑑 𝑠𝑓𝑡 = 𝓈 𝑗𝑠 ∙ 𝑑 𝑠 = 3 ∗ 132 + (2 ∗ 552) 𝑠∈𝑆
Extra Reservation Cost • We need to take into account the case where under reservation can occur. In this case, a short time provision is requested at a higher cost. • The extra cost is expressed as follows: 𝑑 𝑓𝑦𝑢𝑠 = 𝓈 𝑗𝑠 ∙ 𝑑 𝑠 ∙ 𝑢 𝑠 𝑠∈𝑆 • Where – ℛ denote the set of resource types which can be provided by the cloud provider. – 𝓈 𝑗𝑠 is the amount of resource of type r required by the VM in class i. – 𝑑 𝑠 is the cost of resource of type r – 𝑢 𝑠 is the cost of resource of type r per hour
Problem Formulation • The Cloud provider offers K = 𝑙 1 , 𝑙 2 , ⋯ , 𝑙 |𝐿| different types of reservation contracts. • Let us determine the possible cost that a user with advanced reservation can incur • Let the cost due to over-reservation be 𝒟 𝑝𝑤𝑓𝑠 • Let the cost for under-reservation be 𝒟 𝑣𝑜𝑒𝑓𝑠 • The total cost to the user for using cloud resources will be 𝒟 𝑢𝑝𝑢𝑏𝑚 = 𝒟 𝑝𝑤𝑓𝑠 + 𝒟 𝑣𝑜𝑒𝑓𝑠
Problem Formulation • The aim of the resource provisioning algorithm is expressed as follows: 𝑛𝑗𝑜𝑗𝑛𝑗𝑨𝑓 𝒟 𝑢𝑝𝑢𝑏𝑚 • Under the following conditions – the consumer’s demand for reserved resources must be met. – maintain that the amount of extra resources utilized to be less than or equal to the number of reserved resources, and – the allocation of resources must be less than the maximum resource capacity offered by a Cloud provider.
Problem Formulation • It is important that the resource provisioning algorithm should be designed to minimize the total cost of resource provisioning to end users – by reducing the on-demand cost – By reducing oversubscribed cost of both under- provisioning and over-provisioning. • The algorithm should also consider both – the demand uncertainty from cloud consumer side, and – price uncertainty from cloud providers • We look at the optimization strategy discussed in [3] to minimize the overall resource usage costs to the user.
Reservation Contract Types • The Cloud service provider offers 𝐿 = 𝑙 1 , 𝑙 2 , ⋯ , 𝑙 |𝐿| different types of reservation contracts for a fixed period ( 1 year or 3 years) with a fixed price. • Cloud users can contract with the service provider based on one or more of 𝐿 contracts. • Each type of contract 𝑙 𝑗 ∈ 𝐿 is defined by the following tuple 𝑙 𝑗 = 𝑆 𝑙 , 𝑠 𝑙 , 𝑢 𝑙 • Where – 𝑆 𝑙 is a one time reservation cost – 𝑠 𝑙 is the usage cost per hour – 𝑢 𝑙 is the duration of the contract
Simplifying Assumptions • It is assumed that an application is run through different stages (t) as shown below t2 t3 t1 t4 T Stages h • ‘h’ indicates the size of a specific stage. The size is determined by the number of hours per stage. • As an example, an application can have the following sequences – Read a file over the network – Process the data – Write the results to a remote disk.
Applications resource demand • Reading the file requires access to network and memory resources • Processing the data requires CPU, temporary storage and memory resources • Writing a result requires network resources and storage resources. • The future value of the application demand for resources is assumed to be known in advance.
Simplifying Assumptions • For each activity above, the application can use the reserved resources based on the contract – If the demand for resources at a given stage t exceeds the reserved amount, the extra resources are fulfilled using the on-demand instances. • The following diagram shows the case where the application exceeds its reserved resource needs at stage t3 t2 t1 t3 t4 T On-demand Stages h
Application resource demand • The application’s resource demand (D) to run at every stage is known a priori. t2 t3 t1 t4 T On-demand 𝑠 𝑙 Stages h • The applications resource demand duration may be more than the duration of contract ( 𝑠 𝑙 ) at any stage of the application execution • This case will trigger the on-demand resource provisioning at a higher additional cost.
Simplifying Assumptions • At every stage (t), we need to decide the following – 𝑌 𝑢,𝑆 𝑙 : decide the number of instances to be reserved under contract 𝑙 . – 𝑌 𝑢,𝑠 𝑙 : determine the number of reserved instances to be launched from contract 𝑙 . – 𝑌 𝑢,𝑝 : determine the number of ‘on - demand’ instances to be launched. • Note that the ‘on -demand ’ instance cost per hour is much higher than the reserved instance cost ( 𝑝 > 𝑠 𝑙 )
Simplifying Assumptions • We can determine the cost at any stage (t) as follows: 𝐿 𝐷 𝑢 = 𝑌 𝑢,𝑆 𝑙 ∙ 𝑆 𝑙 + 𝑌 𝑢,𝑠 𝑙 ∙ 𝑠 𝑙 ∙ ℎ + 𝑌 𝑢,𝑝 ∙ 𝑝 ∙ ℎ 𝑙=1 – 𝑌 𝑢,𝑆 𝑙 ∙ 𝑆 𝑙 : The product of the number of instances to be reserved under contract 𝑙 ( 𝑌 𝑢,𝑆 𝑙 ) and the one time reservation cost ( 𝑆 𝑙 ) represents the cost of reservation under contract k, – 𝑌 𝑢,𝑠 𝑙 ∙ 𝑠 𝑙 ∙ ℎ : The product of the resource usage cost per hour ( 𝑠 𝑙 ) and the number of reserved instances to be launched from contract 𝑙 ( 𝑌 𝑢,𝑠 𝑙 ) and the number of hours per stage (h) stands for the cost of using reserved instances, and – 𝑌 𝑢,𝑝 ∙ 𝑝 ∙ ℎ : the number of ‘on - demand’ instances to be launched ( 𝑌 𝑢,𝑝 ) and the usage charge per hour for an on-demand instance ( 𝑝 ) and the number of hours per stage (h) stands for the cost of using on-demand instances.
Recommend
More recommend