Combinatorial Auction-Based Allocation of Virtual Machine Instances in Clouds Sharrukh Zaman and Daniel Grosu Department of Computer Science Wayne State University Detroit, Michigan 48202, USA sharrukh@wayne.edu, dgrosu@cs.wayne.edu CloudCom 2010 December 01, 2010 Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Outline 1 Motivation 2 Virtual Machine Allocation Problem 3 CA-LP: A Linear Programming-Based Mechanism 4 CA-GREEDY: A Greedy-Based Mechanism 5 A Fixed-Price Mechanism 6 Experimental Results 7 Conclusion Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Outline 1 Motivation 2 Virtual Machine Allocation Problem 3 CA-LP: A Linear Programming-Based Mechanism 4 CA-GREEDY: A Greedy-Based Mechanism 5 A Fixed-Price Mechanism 6 Experimental Results 7 Conclusion Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Fixed-price Mechanisms (e.g., Windows Azure) Pay fixed price for resource usage Not economically efficient Cannot guarantee that the user who values a bundle of VM instances the most, gets it Cannot guarantee optimal revenue What if some users want to pay more? Or less? Cannot distribute loads evenly over time You pay the same price at 9am and at 2am! Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Auctions in Clouds Example: Amazon EC2 Spot Instances Employed to sell unused resources All winning bidders pay the same (per unit) price Not a combinatorial auction Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Combinatorial Auctions in Practice Combinatorial auctions: Auctions where users bid for bundles of items and bundles are considered as units of allocations. Enable bidders to express their valuations in a more meaningful way Proved more efficient where bundles are involved Successful implementations: selling wireless spectrum, transportation procurement Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Combinatorial Auctions in Clouds Different types of resources (virtual machines) available Users request for combination (bundle) of VM instances Bidding for bundle is more realistic Available combinatorial auction mechanisms do not apply directly to VM instance allocation problem Our goal: Design suitable combinatorial auction-based mechanisms for allocating VM instances in clouds Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Outline 1 Motivation 2 Virtual Machine Allocation Problem 3 CA-LP: A Linear Programming-Based Mechanism 4 CA-GREEDY: A Greedy-Based Mechanism 5 A Fixed-Price Mechanism 6 Experimental Results 7 Conclusion Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Model Resources to allocate m virtual machine types, VM 1 , . . . , VM m k instances of each VM type w 1 , . . . , w m : computing power of VMs (relative) Assumption: w 1 = 1, w 1 ≤ . . . ≤ w m Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Model (Cont.) Auction participants n users, u 1 , . . . , u n User u j bids B j = ( r j 1 , . . . , r j m , v j ) r j i : Number of VM i instances requested by u j v j : user u j ’s valuation for the bundle ( r j 1 , ..., r j m ) Maximum willingness to pay for the bundle Value she ‘gets’ if the bundle is allocated Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Bidders Assumption: The bidders are single-minded. Valuation function of a single-minded bidder for any bundle S : � v j if S j ⊆ S v ( S ) = 0 otherwise S j = bundle requested v j = valuation of S j Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Virtual Machine Allocation Problem (VMAP) Determine the set of winning users and the prices they need to pay W : Set of winners u j ∈ W means user u j gets her requested bundle p = ( p 1 , . . . , p n ): Price each user pays to auctioneer 0 ≤ p j ≤ v j , if u j ∈ W p j = 0, if u j / ∈ W Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Characteristics of a Good Solution Efficient: Maximize social welfare � max v j u j ∈ W Truthful: Reporting true value maximizes user’s utility Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Characteristics of a Good Solution Efficient: Maximize social welfare � max v j u j ∈ W Truthful: Reporting true value maximizes user’s utility Utility: Net value obtained � v j − p j , if u j ∈ W U j ( W , p j ) = 0 , otherwise Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Challenges Winner determination in CA is NP-hard Not all approximate solutions guarantee truthfulness Existing CA mechanisms cannot solve VMAP directly Need to extend existing mechanisms or design new mechanisms for solving VMAP Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Outline 1 Motivation 2 Virtual Machine Allocation Problem 3 CA-LP: A Linear Programming-Based Mechanism 4 CA-GREEDY: A Greedy-Based Mechanism 5 A Fixed-Price Mechanism 6 Experimental Results 7 Conclusion Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism A linear programming-based approximation mechanism CA-LP: generalizes the mechanism proposed in [Archer et al 2005] Archer et al mechanism: bidders can request at most one copy of each item CA-LP: bidders can request multiple copies of each item Truthful in expectation (as the original mechanism) Reference A. Archer, C. Papadimitriou, K. Talwar, and E. Tardos, An approximate truthful mechanism for combinatorial auctions with single parameter agents, Internet Mathematics , vol. 1, no. 2, pp. 129-15, 2005. Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 1 Collect bids B j = ( r j 1 , . . . , r j m , v j ) from users r j r j Winner Price j v j x j y j 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 1 Collect bids B j = ( r j 1 , . . . , r j m , v j ) from users r j r j Winner Price j v j x j y j 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 1 Collect bids B j = ( r j 1 , . . . , r j m , v j ) from users r j r j Winner Price j v j x j y j 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 2 Determine winners Solve linear program n � max x j v j j =1 subject to n � x j r j i ≤ k ′ i = 1 , . . . m j =1 0 ≤ x j ≤ 1 j = 1 , . . . n where k ′ = (1 − ǫ ) k Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 2 Determine winners Solve linear program Sort users by descending order of x j r j r j j v j x j y j Winner Price 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 2 Determine winners Solve linear program Sort users by descending order of x j Generate random numbers, y j r j r j Winner Price j v j x j y j 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
CA-LP Mechanism: Step 2 Determine winners Solve linear program Sort users by descending order of x j Generate random numbers, y j u j is a winner if x j ≥ y j and resources exist r j r j j v j x j y j Winner Price 1 2 1 2 4 3.74 1.00 0.33 Y 3.05 2 4 0 7.46 1.00 0.65 Y 6.10 3 4 2 6.11 0.50 0.00 N 0.00 4 2 1 1.38 0.00 0.24 N 0.00 5 4 2 1.60 0.00 0.65 N 0.00 6 3 4 2.05 0.00 0.28 N 0.00 CA-LP Example Setting: two types of VM instances ( m = 2), six users ( n = 6), and eight instances of each type ( k = 8) Sharrukh Zaman, Wayne State University Combinatorial Auctions in Clouds
Recommend
More recommend