310 likes | 564 Views
2010 IEEE 3 rd International Conference on Cloud Computing. Optimal Resource Allocation in Clouds. 9 th October, 2012 Presented by, Chidambara Nadig. Fangzhe Chang, Jennifer Ren, Ramesh Viswanathan Bell-Labs, Alcatel-Lucent. Abstract.
E N D
2010 IEEE 3rd International Conference on Cloud Computing Optimal Resource Allocation in Clouds 9th October, 2012 Presented by, Chidambara Nadig. Fangzhe Chang, Jennifer Ren, Ramesh Viswanathan Bell-Labs, Alcatel-Lucent
Abstract • Cloud Platforms lease computing power in the form of virtual machines to enterprises. • It is a challenge for the enterprise users to decide HOW MANY and WHAT KINDS of virtual machines are needed from the clouds. • This paper endeavors to provide enterprise users with an APPROXIMATION ALGORITHM which can help reduce the leasing cost and reduce administration overheads. Such as setting up of VPNs or Configuring a Cluster. Optimal Resource Allocation in Clouds
It does not matter how many resources you have if you don’t know how to use them! Optimal Resource Allocation in Clouds
Introduction • Computing Power can now be packaged in the form of Virtual Machines (VMs) on cloud platforms and leased to individual or enterprise users. • This way enterprises can save equipment cost by provisioning its private network for only average demand of computing power. • They can extend their network to leased machines in public clouds during peak demand. • Problem lies in deciding how many and what kinds of virtual machines and other resources the enterprise will need. Optimal Resource Allocation in Clouds
Some bases and assumptions • The authors of this paper have assumed for simplicity purposes that computational tasks arrive in a sequential order. • Hence, tasks which come later can make use of the same resources which has already been used and released by an earlier task. • Sequence of tasks create a sequential batch of resource requests. • For a Batch of k tasks we get the set R = { R1, R2, R3….Rk } • Each Rihas a sequence of mi requests xi1, xi2, xi3…. ximi Optimal Resource Allocation in Clouds
Batch R of k tasks Optimal Resource Allocation in Clouds
Facts • Tasks are Heterogeneous. • Heterogeneity appears in different types of resources they request. Example – VMs, Block Storage, Message Queues and Data Bases. • Or, Heterogeneity can appear in different configurations of the same type of resource. Example – VMs configured to have different number of CPUs or Memory capacity. Optimal Resource Allocation in Clouds
What is the main reason you bought the computer you’re using right now?? Optimal Resource Allocation in Clouds
Classification Resource requirements • At Configuration level • At attribute level • One can easily convert attribute-based requirements to configuration name based requirements. Optimal Resource Allocation in Clouds
Table 1The amazon ec2 (elastic compute cloud) Check out www.aws.amazon.com/ec2 Optimal Resource Allocation in Clouds
The resource universe - B • The Resource Universe Bis a multiset as it contains many copies of a same resource. • The notation B is used to represent the base set of B. • A multiplicity function mB(b) to represent the number of copies a resource b ∈ B (i.e., B = {b ∈ B| mB(b) > 0}). • Each slot xij ∈ 2B × N describes what types of resource configurations are requested together with the number of copies to satisfy the requirement from j-th slot of task Ri. • Where 2B denotes the power set of B and N denotes the set of natural numbers. Optimal Resource Allocation in Clouds
Subsumption • Subsumption relationships among resources exists in real world. • For instance, a m1.large machine is subsumed by a m1.xlarge machine. • Therefore, request for two m1.large machines can be satisfied by • Two m1.xlarge machines. • Two m1.large machines. • One m1.xlarge and One m1.large machines. • Subsumption relations are modeled as partial order relationships. • The above relationship can be written as ({m1.large, m1.xlarge},2) Optimal Resource Allocation in Clouds
Table 2An example resource requirements What they asked for…. Optimal Resource Allocation in Clouds
Table 3requirements with Subsumption What they were given… The arguments can be represented by the notations xij.fst and xij.snd Optimal Resource Allocation in Clouds
resource allocation - A • Resources are allocated to meet the demands from all slots of all tasks. • A Resource Allocation Ais a function with A (i,j) ⊆ B identifying which resources and how many copies are allocated for the j-th slot of task Ri. • A(i) denotes all resources allocated to a task Ri . • A(i) = {(b,∑1≤j≤mi mA(i,j)(b))} Optimal Resource Allocation in Clouds
Batch resource allocation with cost problem (B,R,c) • A monetary cost c(b) is associated for each resource b ∈ B. • This is a flat rate nonnegative real number cost for each • resource configurations by function c : B → R+) and try to • The total cost |B(A)|cis given by |B(A)|c = ∑b∈B(A) c(b) × mB(A)(b). Optimal Resource Allocation in Clouds
Problem complexity • Flow Graph Gi(S) = (V, E, s, t, c) • V = {s,t} U V1 U V2 • V1 – One vertex for each slot position of Ri • V2 – S : Base set of S • E = E1 U E2 U E2 • E1 – One edge from {s} to each slot • E2 – One edge from slot j to all resources which can satisfy that slot requirements (considering subsumption of machines). • The Max Flow of this graph is given by M(Gi(S)) Optimal Resource Allocation in Clouds
Theorems • Theorem 1 :A task Ri = [xi1, xi2, … ximi ] is satisfiable by resources S iff M(Gi(S)) =∑j=1…..mixij.snd A task Ri is satisfiable by resource allocation multiset S, if and only if the Max Flow of the graph Gi(S) is equal to the sum of all the resources required by Ri • Theorem 2 : The batch resource allocation problem (B, R, c) is NP-complete. One of the non-optimal heuristic repeatedly computes a least cost allocation for every task of a batch using min-cost max flow and then takes the multiset union of computed resource allocation for each task. It is denoted as the maximum feasibility algorithm (MaxF) and use it as the baseline to see how much improvement can be made. • Theorem 3 :A batch R is satisfiable by a resource multiset S iff fR(S) = FR. A batch of tasks R is satisfiable by a resource multiset S if and only if the sum over all tasks of max flow of S is equal to the sum of all resources by all tasks. fR(S) = ∑i=1…..kM(Gi(S)) - Sum of the max flow of the graph G(S) for each task FR = ∑i=1…..k∑j=1…..mixij.snd - Sum of all resource requirements in each slot of every task Optimal Resource Allocation in Clouds
An approximation algorithm for resource allocation • FR – Total Requirements of R • fR(S) – Resources allocated so far. • c(b) – cost of the resource b Optimal Resource Allocation in Clouds
Sub modular multiset cover • Let B be a multiset and f : P(B) → R be a real-valued function defined on all multisets that are subsets of B. • 1) The function f is monotone if for all multisets X,Y ⊆ B, we have that if X ⊆ Y then f(X) ≤ f(Y). • 2) The function f is submodular if for all multisets X,Y⊆ B, we have that f(X) + f(Y) ≥ f(X ∪ Y) + f(X ∩ Y) Optimal Resource Allocation in Clouds
Sub modular multiset cover • An instance of the Submodular Multiset Cover (SMC) problem is given by (B, f, c), where B is a multiset, f : P(B) → R is monotone and submodular, and c : B → R is a cost function on the underlying set of B. With respect to such an instance (B, f, c) of the SMC problem, we define the following: • A feasible solution is a multiset S ⊆ Bsuch that f(S) = f(B). • The cost of a feasible solution S⊆ Bis given by c(S) = ∑b∈B mS(b)c(b). • The optimization problem is to find the minimum value of c(S) among all feasible solutions S. • Intuitively, the function f defines the coverage of any solution and a feasible solution is one that has the same coverage as the universe B. • The SMC problem is then to find the smallest cost solution with the most coverage. Optimal Resource Allocation in Clouds
An algorithm for sub modular multiset cover • The element b picked in each iteration is the “greedy” one in the sense that b maximizes the coverage increase per cost among those not yet selected, Optimal Resource Allocation in Clouds
Comparing size of the allocation • The Approximation algorithm reduces the allocation size by more than 50% of the base line. Optimal Resource Allocation in Clouds
Comparing cost of allocation • In this case, the approximation algorithm yields a reduction in cost around 60% Optimal Resource Allocation in Clouds
conclusion • Cloud computing enable enterprises to reserve a group of resources and use them to establish common platforms (e.g., VPNs, clusters) to run computation tasks. • This paper investigates the issue of deciding how many and what kinds of resources need to be reserved for these computations after the computations have been linearized into the form of a sequence of tasks. • This algorithm can be used by both enterprises and cloud providers to reduce cost or to allow a higher degree of resource sharing. Optimal Resource Allocation in Clouds
Questions? Optimal Resource Allocation in Clouds
Thank you! Optimal Resource Allocation in Clouds