auctions in cloud computing
play

Auctions in Cloud Computing Zongpeng Li Department of Computer - PowerPoint PPT Presentation

Auctions in Cloud Computing Zongpeng Li Department of Computer Science, University of Calgary June 23 2015, SSDS 2015, Shanghai, China 1 Road Map Cloud computing Auctions Case studies infocom 2014, a randomized auction


  1. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference System Model • We consider auction-based dynamic resource provisioning and VM allocation. The cloud provider (the auctioneer ) leases resources packed in VMs to cloud users through round-by-round auctions. The cloud provider has a pool of t types of resources. The total amount of type k resource is c k . The cloud provider o ff ers m types of VMs, VM 1 , ..., VM m . A VM j instance consumes r k j amount of type k resource. • Let B denote the set of cloud users, acting as bidders in the auction. Each user i ∈ B can submit as many bids as it wishes. Let B i denote the set of bids submitted by cloud user i , and { B i } i ∈ B contains all bids from all users. Each bid specifies a desired VM bundle S = ( n S 1 , · · · , n S m ) along with the bidding price b i ( S ), where n S j is the number of VM j instances that cloud user i requests in S . 11 / 32

  2. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference System Constraints We adopt the XOR bidding language, in which a user can win at most one bid even if it submits multiple bids [6], leading to the first constraint for VM allocation: X x i ( S ) ≤ 1 , ∀ i ∈ B (1) S ∈ B i 12 / 32

  3. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference System Constraints The finite supply of each type of cloud resource translates into the capacity constraint at the cloud provider: X X x i ( S ) n S j ≤ N j , ∀ 1 ≤ j ≤ m i ∈ B S ∈ B i (2) m X N j r k j ≤ c k , ∀ 1 ≤ k ≤ t j =1 where N j is the number of VM j instances provisioned. The two groups of inequalities in (2) can be merged into an equivalent, more compact capacity constraint: m X X X n S j r k x i ( S )( j ) ≤ c k , ∀ 1 ≤ k ≤ t (3) i ∈ B S ∈ B i j =1 13 / 32

  4. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Social Welfare Maximization Problem The social welfare maximization problem can now be formulated: X X maximize DP ( B ) = b i ( S ) x i ( S ) (4) i ∈ B S ∈ B i subject to: X x i ( S ) ≤ 1 , ∀ i ∈ B (4 a ) S ∈ B i m X X X n S j r k x i ( S )( j ) ≤ c k , ∀ 1 ≤ k ≤ t (4 b ) j =1 i ∈ B S ∈ B i x i ( S ) ∈ { 0 , 1 } , ∀ i ∈ B , S ∈ B i (4 c ) 14 / 32

  5. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference NP hardness Theorem 2 The social welfare maximization problem defined in IP (4) is NP-hard. Proof Sketch : The proof is based on a polynomial-time reduction from the knapsack problem, a classic combinatorial optimization problem that is proven NP-hard. Theorem 2 reveals that solving IP (4) to optimal is NP-hard, implying that applying the VCG auction for truthfulness is computationally expensive. 15 / 32

  6. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference LP Relaxation Theorem 2 reveals that solving IP (4) is NP-hard, and is computationally infeasible for a large input. Nonetheless, we may consider the LP relaxation of IP (4) by relaxing its last constraint (4c) to: x i ( S ) ≥ 0 , ∀ i ∈ B , S ∈ B i (4c’) 16 / 32

  7. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A Randomized Auction Mechanism Suppose that we already have designed an e ffi cient cooperative approximation algorithm that achieves a small approximation factor α . (we will show this algorithm later) This approximation algorithm assumes that truthful bids are given for free, and is not applicable in a cloud market with strategic users driven by their own economic interests, who may not voluntarily reveal their true evaluation of a desired VM bundle. 17 / 32

  8. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A Randomized Auction Mechanism Capitalizing on the cooperative algorithm for approximate social welfare maximization under dynamic resource provisioning, we now design a randomized combinatorial VM auction that achieves the same social welfare approximation ratio α , while simultaneously ensuring truthful bidding from cloud users. 18 / 32

  9. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A Randomized Auction Mechanism Algorithm 1 A Randomized Combinatorial VM Auction 1: Simulating the fractional VCG auction. — Compute the fractional VCG allocation x ∗ and payment Π F , through 2: solving the LPR of IP (4). 3: Decomposing fractional solution into integer solutions — Decompose the scaled down fractional solution x ∗ / α to a convex 4: combination of integer solutions, i.e. , x ∗ / α = P l ∈ I β l x ( l ), through solving a pair of primal-dual LPs in (6) and (7) using the ellipsoid method, leveraging the cooperative approximation algorithm as a separation oracle. 5: Randomized VM allocation — Select each x ( l ) randomly with probability β l . 6: 7: Charging scaled fractional VCG prices — for each winning cloud user i ∈ B : charge a price Π i = Π F i / α . 8: 19 / 32

  10. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference The Fractional VCG Auction The Fractional VCG Auction We first resort to a fractional version of the VCG auction for achieving both computational e ffi ciency (polynomial time complexity) and economic e ffi ciency (social welfare maximization), by applying the VCG mechanism to the LPR instead of IP (4).The optimal solution x ∗ to the LPR constitutes the VM allocation solution in the fractional VCG auction. The Fractional VCG payments The fractional VCG payment for user i equals i ’s externality, or the di ff erence in social welfare with and without i ’s bid [7, 3]: Π F X X b i 0 ( S ) x ⇤ i = V i − i 0 ( S ) (5) i 0 6 = i , i 0 2 B S 2 B i 0 where V i is the optimal DP F ( B ) to the LPR when cloud user i bids zero. 20 / 32

  11. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Decomposing the Fractional Solutions We next decompose x ∗ into a convex combination of integer solutions, using a LP duality based decomposition technique for packing type of optimization problems due to Carr et al. [8] and Lavi et al. [9]. Our goal is to find β l and x ( l ) such that x ∗ / α = P l ∈ I β l x ( l ), where Z ( DP ) = { x ( l ) } l ∈ I is the set of integer solutions to IP (4), I is the index set, and β l ≥ 0 , P l ∈ I β l = 1. Since the integrality gap is at most α , there exists at least one integer solution, e.g. , DP ( B ) ∗ , dominating the scaled down fractional solution. Consequently, scaling down the fractional solution x ∗ by α can guarantee the existence of such a decomposition. The following primal and dual LPs are solved for decomposing x ∗ : 21 / 32

  12. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A pair of tailored primal and dual LPs X Primal: minimize (6) β l subject to: l ∈ I X β l x i ( S , l ) = x ∗ i ( S ) / α ∀ i ∈ B , S ∈ B i (6 a ) l ∈ I X β l ≥ 1 (6 b ) l ∈ I β l ≥ 0 ∀ l ∈ I (6 c ) Primal (6 a ) (6 b ) β m Dual (7 a ) ν λ 1 X x ∗ Dual: maximize i ( S ) ν i ( S ) + λ (7) α i ∈ B , S ∈ B i subject to: X x i ( S , l ) ν i ( S ) + λ ≤ 1 ∀ l ∈ I (7 a ) i ∈ B , S ∈ B i λ ≥ 0 (7 b ) ν i ( S ) unconstrained ∀ i ∈ B , S ∈ B i (7 c ) 22 / 32

  13. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A pair of tailored primal and dual LPs However ν i ( S ) may be negative, making the cooperative algorithm work improperly. Instead of using ν i ( S ) directly, we set ν i ( S ) + = max( ν i ( S ) , 0) to circumvent this issue. IP (4) satisfies the nice packing property, i.e. , if a ∈ Z ( DP ) , b ≤ a then b ∈ Z ( DP ). Using the packing property, the following lemma ensures that using ν i ( S ) + does not violate the constraints in the dual (7). Lemma 3 Given an integer solution x 0 ∈ Z ( DP ) , we can obtain x ( l ) so that i ( S , l ) ν i ( S ) + = P P i 2 B , S 2 B i x 0 i 2 B , S 2 B i x i ( S , l ) ν i ( S ) . Lemma 4 If β ⇤ is an optimal solution to the primal (6), then P l 2 I β ⇤ l = 1 . 23 / 32

  14. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference The Randomized Auction Mechanism Given the convex decomposition x ∗ / α = P l ∈ I β l x ( l ), as shown in Algorithm 1, we select each valid integer solution x ( l ) randomly with probability β l , and set the prices Π i = Π F i / α . Theorem 5 The randomized auction in Algorithm 1 is truthful in expectation, and achieves the same α -approximation in social welfare as the the cooperative algorithm does. Proof : The expected utility of a given bidder i is: X β l x ( l )) − Π i = u i ( x ∗ / α ) − Π F i / α = ( u i ( x ∗ ) − Π F u i ( i ) / α l ∈ I The second equality is due to the linearity of u i ( x ). This means the expected utility is scaled down by α from the utility in the fractional VCG auction. Truthfulness of the randomized auction thus follows from that of the fractional VCG auction. 24 / 32

  15. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A Primal-dual Cooperative Approximation Algorithm We next design a primal-dual approximation algorithm as the cooperative algorithm used in Algorithm 1. Introducing dual variable vectors y and z to constraints (4 a ) and (4 b ) respectively, we can formulate the dual of the LPR, to be used in the primal-dual algorithm design. t X X minimize y i + c k z k (8) i ∈ B k =1 subject to: t m X X n S j r k y i + j z k ≥ b i ( S ) ∀ i ∈ B , S ∈ B i (8 a ) k =1 j =1 y i ≥ 0 , z k ≥ 0 ∀ i ∈ B , 1 ≤ k ≤ t (8 b ) 25 / 32

  16. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference A Primal-dual Cooperative Approximation Algorithm Algorithm 2 The Primal-Dual Approximation Algorithm 1: // Initialization 2: Λ = min 1 ≤ k ≤ t c k / R k ; p = 0; U = ; ; 3: 8 i , 8 S : x i ( S ) = 0; 8 i : y i = 0; 8 k : z k = 1 / c k ; 4: // Iterative update of primal and dual variables: 5: while P t k =1 c k z k < t exp( Λ � 1) AND U 6 = B do for all i 2 B \ U do 6: S i = arg max S ∈ B i { b i ( S ) } ; 7: 8: end for b i ( S i ) � µ = arg max i ∈ B\U ; 9: j =1 n S i P t P m r k j z k k =1 j x µ ( S µ ) = 1; y µ = b µ ( S µ ); 10: p = p + b µ ( S µ ); U = U [ { µ } ; 11: for all 1  k  t do 12: S µ z k = z k · ( t exp( Λ � 1)) ( P m r k j =1 n j ) / ( c k − R k ) ; 13: j end for 14: 15: end while 26 / 32

  17. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Solution Feasibility Theorem 6 Algorithm 2 computes a feasible solution to IP (4). Proof: Please refer to the paper for detailed proof. 27 / 32

  18. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Dual Fitting Even if the primal solution is always feasible during the execution, the dual is not necessarily so. The following lemma shows that the dual variables can be made feasible through scaling by a carefully chosen factor. Lemma 7 If ( y τ − 1 , z τ − 1 ) is the (possibly infeasible) dual solution at the beginning of the ⌧ -th iteration, then ( y τ − 1 , ✏ f ( z τ − 1 , S τ ) z τ − 1 ) is a feasible solution to the dual (8), where f ( z , S ) , b i ( S ) / ( P t P m j =1 n S j r k j z k ) , ✏ , k =1 P m j =1 n S 1 j / P m j =1 n S 2 j r k j r k max S 1 , S 2 ∈ B i , i ∈ B , k ∈ [1 , t ] j . We omit the detailed proof due to space limitation. 28 / 32

  19. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Approximation Ratio Employing the dual fitting result in Lemma 7 and LP duality, we next prove that Algorithm 2 guarantees an ↵ -approximation of social welfare, Λ − 1 ( et 1 / ( Λ − 1) � 1). Λ where ↵ = 1 + ✏ Theorem 8 Algorithm 2 computes an ↵ -approximate solution to IP (4) in polynomial-time, where ↵ = 1 + ✏ Λ − 1 ( et 1 / ( Λ − 1) − 1) . Λ In practice, the volume of a cloud provider’s resource pool is substantially larger than a single user demand, i.e. , Λ � 1. The number of resource types t is a small constant (3 to 5). Consequently, Λ Λ − 1( et 1 / ( Λ − 1) − 1)) = 1 + ✏ ( e − 1) Λ →∞ ↵ = lim lim Λ →∞ (1 + ✏ which suggests that the approximation ratio ↵ is close to 1 + ✏ ( e � 1). When ✏ = 1, ↵ ⇡ 2 . 72. 29 / 32

  20. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Approximation Ratio 7 Approximation Ratio 6 5 4 3 2 5 10 20 15 15 20 10 5 25 0 No. of resource types Λ Figure : The approximation ratio α quickly decreases as Λ increases, and closely approaches e ∼ 2 . 72 as long as the number of resource types t is not too large and each user only submits one bid. 30 / 32

  21. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Conclusion • Focusing on dynamic resource provisioning and heterogeneous types of VMs, we first propose a cooperative primal dual approximation algorithm with a small approximation ratio. • Employing the cooperative approximation algorithm as a building block, we then design a novel randomized auction using a pair of tailored primal and dual LPs to decompose an optimal fractional solution into a summation of a series of weighted valid integer solutions. The randomized auction achieves the same approximation ratio in social welfare as the cooperative algorithm does. 31 / 32

  22. Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference Reference [1] S. Zaman and D. Grosu, “Combinatorial Auction-Based Dynamic VM Provisioning and Allocation in Clouds,” in Proc. of IEEE CloudCom , 2011. [2] ——, “Combinatorial Auction-based Allocation of Virtual Machine Instances in Clouds,” Journal of Parallel and Distributed Computing , vol. 73, no. 4, pp. 495 – 508, 2013. [3] W. Vickrey, “Counterspeculation, Auctions, and Competitive Sealed Tenders,” The Journal of finance , vol. 16, no. 1, pp. 8–37, 1961. [4] E. Clarke, “Multipart Pricing of Public Goods,” Public Choice , vol. 11, no. 1, pp. 17–33, 1971. [5] T. Groves, “Incentives in Teams,” Econometrica: Journal of the Econometric Society , pp. 617–631, 1973. [6] Z. Li, B. Li, and Y. Zhu, “Designing Truthful Spectrum Auctions for Multi-hop Secondary Networks,” IEEE Transactions on Mobile Computing , vol. 12, 2013. [7] Y. Zhu, B. Li, and Z. Li, “Truthful Spectrum Auction Design for Secondary Networks,” in Proc. of IEEE INFOCOM , 2012. [8] R. Carr and S. Vempala, “Randomized Metarounding,” Random Struct. Algorithms , vol. 20, no. 3, pp. 343–352, May 2002. [9] R. Lavi and C. Swamy, “Truthful and Near-Optimal Mechanism Design via Linear Programming,” in Proc. of IEEE FOCS , 2005. [10] M. Gr¨ otschel, L. Lov´ asz, and A. Schrijver, Geometric Algorithms and Combinatorial Optimization . Springer-Verlag, 1988. 32 / 32

  23. An Online Auction Framework for Dynamic Resource Provisioning in Cloud Computing Weijie Shi, Linquan Zhang, Chuan Wu, Zongpeng Li, Francis Lau ACM SIGMETRICS 2014 1

  24. User demands different cloud resources in different geo locations ...... ...... ......

  25. Current practice in resource provisioning ✦ Amazon EC2 ✴ fixed instance types ✴ fixed prices

  26. What we want ✦ Customized VM instances from different datacenters ✦ A price for the customized VM that caters to the supply- demand relationship at this moment

  27. What we want /what we will do ✦ Customized VM instances from different datacenters ✦ A price for the customized VM that caters to the supply- demand relationship at this moment

  28. What we want /what we will do ✦ Customized VM instances from different datacenters ✴ dynamic resource provisioning (i.e., dynamic VM assembly) ✦ A price for the customized VM that caters to the supply- demand relationship at this moment

  29. What we want /what we will do ✦ Customized VM instances from different datacenters ✴ dynamic resource provisioning (i.e., dynamic VM assembly) ✦ A price for the customized VM that caters to the supply- demand relationship at this moment ✴ a new pricing scheme through an online auction that discovers the “right” price requires no estimation brings more social welfare than fixed pricing

  30. What others have been doing ✦ Amazon Spot Instances ✴ no service guarantees ✦ “When cloud meets eBay” (Wang et al., INFOCOM 2012) ✴ one-round static auction ! ✦ COCA (INFOCOM 2013) ✴ “A Framework for Truthful Online Auctions in Cloud Computing with Heterogeneous User Demands”, Zhang et al. ✴ one type of VMs considered

  31. Our Contribution ✦ An online auction mechanism for dynamic resource provisioning ✴ users’ demands arrive over time; provider responds instantly, without a priori information ✴ nice properties truthful computationally efficient guaranteeing a competitive ratio 3.30 in long-term social welfare in typical scenarios

  32. Model ������ �������� datacenter q user n d b ( t ) bid: d ( t ) n,k,m,q , n,k bund user ma 2VM 1 +3VM 2 +5VM 3 bundle 1 or VM 1 +2VM 2 +7VM 3 bundle 2

  33. Model ������ �������� datacenter q user n d b ( t ) bid: d ( t ) n,k,m,q , n,k bund user ma # of type-m VMs in datacenter q in her k-th bundle at t

  34. Model ������ �������� datacenter q user n d b ( t ) bid: d ( t ) n,k,m,q , n,k bund user ma # of type-m VMs in valuation of user n for datacenter q in her her k-th bundle at t k-th bundle at t

  35. Model ������ �������� datacenter q user n d b ( t ) bid: d ( t ) n,k,m,q , n,k bund user ma 2VM 1 +3VM 2 +5VM 3 $10 bundle 1 or VM 1 +2VM 2 +7VM 3 $8 bundle 2

  36. Model ������ �������� s, y ( t ) datacenter q n,k ∈ user n wins bu allocation decision:

  37. Model ������ �������� s, y ( t ) datacenter q n,k ∈ user n wins bu user n gets her allocation decision: k-th bid bundle;

  38. Model ������ �������� s, y ( t ) datacenter q n,k ∈ user n wins bu user n gets her allocation decision: k-th bid bundle; user n does not get her k-th bid bundle

  39. Model ������ �������� s, y ( t ) datacenter q n,k ∈ user n wins bu wins%at%most% one%bundle%in% user n gets her allocation decision: each%round k-th bid bundle; user n does not get her k-th bid bundle

  40. Model cloud%provider% user n maximizes%social%welfare% has an overall budget B n (=%total%valua9on)

  41. Model cloud%provider% user n maximizes%social%welfare% has an overall budget B n (=%total%valua9on) b ( t ) n,k y ( t ) X X X maximize (1) n,k t ∈ [ T ] n ∈ [ N ] k ∈ [ K ] subject to y ( t ) X n,k ≤ 1 , ∀ n ∈ [ N ] , t ∈ [ T ] , k ∈ [ K ] b ( t ) n,k y ( t ) X X n,k ≤ B n , ∀ n ∈ [ N ] , k ∈ [ K ] t ∈ [ T ] c ( t ) n,k,r,q y ( t ) n,k ≤ A ( t ) X X ∀ q ∈ [ Q ] , r ∈ [ R ] , t ∈ [ T ] , q,r , n ∈ [ N ] k ∈ [ K ] y ( t ) n,k ∈ { 0 , 1 } , ∀ n ∈ [ N ] , k ∈ [ K ] , t ∈ [ T ]

  42. Model cloud%provider% user n maximizes%social%welfare% has an overall budget B n (=%total%valua9on) b ( t ) n,k y ( t ) X X X maximize (1) Alloca9on%decision% n,k t ∈ [ T ] n ∈ [ N ] k ∈ [ K ] n’s%valua9on% subject to for%k=th%bundle y ( t ) X n,k ≤ 1 , ∀ n ∈ [ N ] , t ∈ [ T ] , k ∈ [ K ] b ( t ) n,k y ( t ) X X n,k ≤ B n , ∀ n ∈ [ N ] , Total%resource% r%at%dc%q%at%t k ∈ [ K ] t ∈ [ T ] c ( t ) n,k,r,q y ( t ) n,k ≤ A ( t ) X X ∀ q ∈ [ Q ] , r ∈ [ R ] , t ∈ [ T ] , q,r , n ∈ [ N ] k ∈ [ K ] amount%of%resource%r%at% y ( t ) n,k ∈ { 0 , 1 } , ∀ n ∈ [ N ] , k ∈ [ K ] , t ∈ [ T ] dc%q%in%n’s%k=th%bundle

  43. Online Problem • ✦ The budget couples decisions in different rounds of the auction – Example: greedy vs. optimal allocation strategy – User A B n =$20 User B B n =$20 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2

  44. Online Problem ✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy • User A User B Round 1 $6 Round 1 $3 Remaining Remaining Budget: $14 Budget: $20

  45. Online Problem ✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy • User A User B Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Remaining Remaining Budget: $7 Budget: $20

  46. Online Problem ✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy • What difficulties could the budget bring? User A User B Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2 Remaining Remaining Budget: $7 Budget: $18

  47. Online Problem ✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy • User A B n =$20 User B B n =$20 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2 Greedy algorithm: social welfare $15

  48. Online Problem ✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy • What difficulties could the budget bring? User A B n =$20 User B B n =$20 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2 Greedy algorithm: social welfare $15 Optimal solution: social welfare $22

  49. Online Problem ✦ Lessons learned: do NOT exhaust a user’ budget early ✴ may lose all the opportunities later on the user ✴ but, how to seize the best opportunities to maximize social welfare over long term: classical online optimization dilemma • What difficulties could the budget bring? User A B n =$20 User B B n =$20 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2 Greedy algorithm: social welfare $15 Optimal solution: social welfare $22

  50. Budget Coefficient ✦ Higher priority for allocating resource to user with higher • remaining budget • in each round: (remaining) budget – Original valuation × Budget coefficient – × 1

  51. The Online Algorithm Framework A online A 1: x (0) ← 0 , ∀ n ∈ [ N ] n 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: ( if x ( t � 1) 0 ≥ 1 n w ( t ) n,k = , ∀ n ∈ [ N ] , k ∈ [ K ] . b ( t ) n,k (1 − x ( t � 1) ) otherwise n Run A round . Let N be the set of winning users, and 5: k n be the index of their corresponding winning bundle, for each winning user n ∈ N . 6: for all n ∈ N do 7: ! b ( t ) b ( t ) n,k n n,k n x ( t ) n ← x ( t � 1) 1 + + n B n B n ( γ − 1) 8: end for 9: for all n / ∈ N do x ( t ) n ← x ( t � 1) 10: n 11: end for 12: end for 13: x n ← x ( T ) n , ∀ n ∈ [ N ]

  52. The Online Algorithm Framework A online A 1: x (0) ← 0 , ∀ n ∈ [ N ] n 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: ( if x ( t � 1) 0 ≥ 1 n w ( t ) n,k = , ∀ n ∈ [ N ] , k ∈ [ K ] . b ( t ) n,k (1 − x ( t � 1) ) otherwise adjusted%bundle% n valua9on%used%for% Run A round . Let N be the set of winning users, and 5: resource%alloca9on% k n be the index of their corresponding winning bundle, in%this%round for each winning user n ∈ N . 6: for all n ∈ N do 7: ! b ( t ) b ( t ) n,k n n,k n x ( t ) n ← x ( t � 1) 1 + + n B n B n ( γ − 1) 8: end for 9: for all n / ∈ N do x ( t ) n ← x ( t � 1) 10: n 11: end for 12: end for 13: x n ← x ( T ) n , ∀ n ∈ [ N ]

  53. The Online Algorithm Framework A online A 1: x (0) ← 0 , ∀ n ∈ [ N ] n 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: ( if x ( t � 1) 0 ≥ 1 n w ( t ) n,k = , ∀ n ∈ [ N ] , k ∈ [ K ] . b ( t ) n,k (1 − x ( t � 1) ) otherwise adjusted%bundle% n valua9on%used%for% Run A round . Let N be the set of winning users, and 5: resource%alloca9on% k n be the index of their corresponding winning bundle, in%this%round for each winning user n ∈ N . 6: for all n ∈ N do 7: ! b ( t ) b ( t ) n,k n n,k n x ( t ) n ← x ( t � 1) 1 + + n B n B n ( γ − 1) 8: end for %%%%%Update%budget% 9: for all n / ∈ N do coefficient%%based%on% x ( t ) n ← x ( t � 1) 10: n the%ra9o%of%consumed% 11: end for budget%to%the%total% 12: end for budget 13: x n ← x ( T ) n , ∀ n ∈ [ N ]

  54. The Online Algorithm Framework A online An%example%run:% • only%one%item;%A round% simply%chooses%the%user%with% the%larger%adjusted%valua9on%as%the%winner%% – User A B n =$20 User B B n =$20 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2

  55. The Online Algorithm Framework A online An%example%run:% only%one%item;%A round% simply%chooses%the%user%with% the%larger%adjusted%valua9on%as%the%winner%% User A B n =$20 x n =0 User B B n =$20 x n =0 Round 1 $6 Round 1 $3 Adjusted: Adjusted: $6*(1-0)= $6 $3*(1-0)= $3 Update: x n =0.24

  56. The Online Algorithm Framework A online An%example%run:% only%one%item;%A round% simply%chooses%the%user%with% the%larger%adjusted%valua9on%as%the%winner%% User A B n =$20 x n =0.24 User B B n =$20 x n =0 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Adjusted: Adjusted: $7*(1-0.24)= $5.32 $6*(1-0)= $6 Update: x n =0.24

  57. The Online Algorithm Framework A online An%example%run:% only%one%item;%A round% simply%chooses%the%user%with% the%larger%adjusted%valua9on%as%the%winner%% User A B n =$20 x n =0.24 User B B n =$20 x n =0.24 Round 1 $6 Round 1 $3 Round 2 $7 Round 2 $6 Round 3 $10 Round 3 $2 Adjusted: Adjusted: $10*(1-0.24)= $7.6 $2*(1-0.24)= $1.52 Update: x n =0.76 Greedy algorithm: social welfare $15 Optimal solution: social welfare $22 Online algorithm: social welfare $22

  58. One-Round Auction A round ✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism)

  59. One-Round Auction A round ✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Main design objective: truthfulness

  60. One-Round Auction A round ✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Main design objective: truthfulness ✦ Payment mechanism is the key to guarantee truthfulness ✴ can be very difficult to design

  61. One-Round Auction A round ✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Main design objective: truthfulness ✦ Payment mechanism is the key to guarantee truthfulness ✴ can be very difficult to design ✴ VCG auction is a truthful mechanism charges bidder the opportunity cost needs to compute the exact optimal allocation (cannot be approximate solution)

  62. One-Round Resource Allocation Problem w ( t ) n,k y ( t ) X X maximize n,k n ∈ [ N ] k ∈ [ K ] subject to An NP hard y ( t ) X n,k  1 8 n 2 [ N ] problem! k ∈ [ K ] c ( t ) n,k,r,q y ( t ) n,k  A ( t ) X X 8 q 2 [ Q ] , r 2 [ R ] ( q,r n ∈ [ N ] k ∈ [ K ] y ( t ) n,k 2 { 0 , 1 } 8 n 2 [ N ] , k 2 [ K ] X w ( t ) n,k y :%adjusted%user%n’s%valua9on%for%k=th%bundle% ∈ c ( t ) n,k,r,q y :%amount%of%resource%r%at%dc%q%in%n’s%k=th%bundle%  A ( t ) :%total%resource%r%at%dc%q%at%t% q,r ) k y ( t ) :%decision%variable,%bundle%allocated%or%not% n,k

  63. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

  64. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

  65. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

  66. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same X minimize � l l ∈ L s.t. X � l y ( t ) l n,k = y ( t ) F n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  67. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same X minimize � l probability%to%choose% l ∈ L s.t. X the%respec9ve% � l y ( t ) l n,k = y ( t ) F integer%solu9on n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  68. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same X minimize � l probability%to%choose% l ∈ L s.t. X the%respec9ve% � l y ( t ) l n,k = y ( t ) F integer%solu9on n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  69. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same X minimize � l probability%to%choose% l ∈ L s.t. X the%respec9ve% � l y ( t ) l n,k = y ( t ) F integer%solu9on n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  70. Fractional VCG s, y ( t ) ✦ Relax n,k ∈ wins bu ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism ✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user ✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same X minimize � l probability%to%choose% l ∈ L s.t. X the%respec9ve% � l y ( t ) l n,k = y ( t ) F integer%solu9on n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L scale=down%factor X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  71. Randomized Decomposition User A User B User C Fractional solution: 0.3 0.8 0.5 Decomposed 1 1 0 Pr = 0.3 Integer solution 0 1 1 Pr = 0.5 0 0 0 Pr = 0.2 X minimize � l l ∈ L s.t. X � l y ( t ) l n,k = y ( t ) F n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

  72. Randomized Decomposition ✦ How to decide the scale-down factor nd λ (1 ✦ How to find a set of integer solution and the y ( t ) l n,k v corresponding probabilities � l X minimize � l l ∈ L s.t. X � l y ( t ) l n,k = y ( t ) F n,k / � , 8 n 2 [ N ] , k 2 [ K ] , l ∈ L X � l � 1 , l ∈ L � l � 0 , 8 l 2 L .

Recommend


More recommend