A Truthful (1-)-Optimal Mechanism for On-demand - - PowerPoint PPT Presentation

a truthful 1 optimal mechanism for on demand cloud
SMART_READER_LITE
LIVE PREVIEW

A Truthful (1-)-Optimal Mechanism for On-demand - - PowerPoint PPT Presentation

A Truthful (1-)-Optimal Mechanism for On-demand Cloud Resource Provisioning Xiaoxi Zhang 1, Chuan Wu 1, Zongpeng Li 2, Francis C.M.


slide-1
SLIDE 1

A ¡Truthful ¡(1-­‑ε)-­‑Optimal ¡Mechanism ¡ ¡ ¡ for ¡On-­‑demand ¡Cloud ¡Resource ¡ Provisioning ¡ ¡

Xiaoxi ¡Zhang ¡1, ¡Chuan ¡Wu ¡1, ¡Zongpeng ¡Li ¡2, ¡Francis ¡C.M. ¡Lau ¡1 ¡ ¡

1 ¡Department ¡of ¡Computer ¡Science, ¡The ¡University ¡of ¡Hong ¡Kong ¡

2 ¡Department ¡of ¡Computer ¡Science, ¡University ¡of ¡Calgary ¡

slide-2
SLIDE 2

Outline ¡

Background ¡ How ¡our ¡ mechanism ¡ works ¡ Challenges ¡ Why ¡Auction ¡

slide-3
SLIDE 3
  • ¡Background ¡

CPU ¡ RAM ¡ Storage ¡

* Cloud ¡providers ¡provide ¡computing ¡resources ¡distributed ¡in ¡ multiple ¡data ¡centers ¡ * Users ¡are ¡geo-­‑graphically ¡distributed ¡ * Users ¡want ¡various ¡types ¡of ¡resources ¡

slide-4
SLIDE 4

VM ¡ * Virtualization ¡technology ¡packs ¡ resources ¡into ¡VMs ¡

  • ¡Background ¡
slide-5
SLIDE 5

* Pre-­‑determined ¡types ¡ ¡

vCPU: ¡16 ¡ ¡ Mem: ¡16 ¡GB ¡ ¡ Data: ¡160GB ¡ ¡ ¡

  • ¡Background ¡
slide-6
SLIDE 6

vCPU: ¡16 ¡ ¡ Mem: ¡16 ¡GB ¡ ¡ Data: ¡160GB ¡ ¡ ¡

  • ¡Background ¡

* Pre-­‑determined ¡types ¡ ¡

slide-7
SLIDE 7
  • Current ¡Development ¡

¡

* More ¡VM ¡types ¡ ¡ ¡ * Fixed ¡pricing ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

slide-8
SLIDE 8
  • Problems ¡

* How ¡many ¡VM ¡types ¡do ¡we ¡need? ¡ ¡ ¡ ¡ ¡-­‑-­‑ ¡Difficult ¡to ¡estimate ¡ ¡since ¡users’ ¡demands ¡are ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡widely ¡different ¡ ¡ ¡-­‑-­‑ ¡Users ¡want ¡customized ¡VM ¡types ¡ ¡ * Under ¡fixed ¡pricing ¡for ¡each ¡type ¡of ¡VMs, ¡it ¡is ¡impossible ¡to: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑-­‑ ¡come ¡up ¡with ¡the ¡appropriate ¡prices ¡ ¡ ¡ ¡-­‑-­‑ ¡maximize ¡the ¡social ¡welfare ¡ ¡

¡ ¡ ¡ ¡

¡

slide-9
SLIDE 9
  • Why ¡Auction ¡

* How ¡many ¡VM ¡types ¡do ¡we ¡need? ¡ ¡ ¡ ¡

¡-­‑-­‑ ¡Difficult ¡to ¡estimate ¡ ¡since ¡users’ ¡demands ¡are ¡widely ¡different ¡ ¡-­‑-­‑ ¡Users ¡want ¡customized ¡VM ¡types ¡

¡ ¡ ¡ ¡ ¡How ¡to ¡address ¡it? ¡ ¡

² ¡ ¡Users ¡determine ¡their ¡own ¡VM ¡types ¡

¡ * Under ¡fixed ¡pricing ¡for ¡each ¡type ¡of ¡VMs, ¡it ¡is ¡difficult: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

¡-­‑-­‑ ¡come ¡up ¡with ¡the ¡appropriate ¡prices ¡ ¡ ¡ ¡-­‑-­‑ ¡maximize ¡the ¡social ¡welfare ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡How ¡to ¡address ¡it? ¡ ¡

² ¡ ¡Providers ¡price ¡according ¡to ¡the ¡current ¡demand ¡ and ¡supply ¡relationship ¡

¡ ¡ ¡ ¡

¡

slide-10
SLIDE 10

* Model: ¡ N ¡users, ¡ ¡I ¡bids ¡ (Each ¡user ¡submits ¡as ¡many ¡bids ¡as ¡he ¡wishes ¡with ¡at ¡most ¡

  • ne ¡accepted) ¡

K ¡types ¡of ¡resources ¡ D ¡data ¡centers ¡(capacities ¡known) ¡ Bidding ¡Language: ¡Bi ¡= ¡( ¡bi ¡, ¡{Rkd} ¡) ¡ Achieves: ¡ * (1-­‑ε)-­‑optimal ¡social ¡welfare ¡ * Polynomial ¡running ¡time ¡in ¡expectation ¡ * Truthfulness ¡in ¡expectation ¡

  • Our ¡Auction ¡Model ¡
slide-11
SLIDE 11

¡

Achieves: ¡ * (1-­‑ε)-­‑optimal ¡social ¡welfare ¡ * Polynomial ¡running ¡time ¡in ¡expectation ¡ Allocation ¡is ¡An ¡NP-­‑hard ¡combinatorial ¡optimization ¡ problem ¡ ¡ * Truthfulness ¡in ¡expectation ¡ VCG ¡requires ¡an ¡exact ¡optimal ¡allocation ¡

  • Challenges ¡with ¡Auction ¡
slide-12
SLIDE 12

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡
slide-13
SLIDE 13

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡

User ¡

slide-14
SLIDE 14

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡

User ¡ Multiple ¡bids ¡in ¡a ¡bundle ¡

slide-15
SLIDE 15

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡

User ¡ Multiple ¡bids ¡in ¡a ¡bundle ¡ Demand ¡

slide-16
SLIDE 16

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡

User ¡ Multiple ¡bids ¡in ¡a ¡bundle ¡ Demand ¡ Capacity ¡

slide-17
SLIDE 17

* VM ¡Allocation: ¡

  • How ¡Our ¡Mechanism ¡Works ¡

User ¡ Multiple ¡bids ¡in ¡a ¡bundle ¡ Demand ¡ Capacity ¡ XOR ¡bid ¡constraint ¡

slide-18
SLIDE 18
  • How ¡Our ¡Mechanism ¡Works ¡

—— ¡Big ¡Picture ¡

* Optimization ¡Model: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Multi-­‑dimensional ¡Knapsack ¡Problem ¡ ¡

¡2-­‑dimensional ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡No ¡FPTAS ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Allocation ¡is ¡difficult ¡ ¡

* Allocation: ¡ ¡

Randomized ¡Perturbation ¡+ ¡Exact ¡Algorithm ¡+ ¡Sampling ¡ ¡ ¡ ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Maximal-­‑in-­‑distributional ¡Range ¡(MIDR) ¡Mechanism ¡ ¡ * Payment ¡: ¡ ¡ ¡Randomized ¡VCG ¡

slide-19
SLIDE 19
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡allocation ¡problem ¡ ¡ ¡ 2: ¡Exactly ¡solve ¡the ¡perturbed ¡problem ¡to ¡obtain ¡its ¡optimal ¡ solution ¡xp ¡ ¡ ¡ ¡ 3: ¡Sample ¡allocation ¡solution ¡yε ¡following ¡a ¡distribution: ¡ ¡ ¡ ¡ ¡ ¡

slide-20
SLIDE 20
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡allocation ¡problem ¡ How ¡to ¡perturb? ¡ ¡ 2: ¡Exactly ¡solve ¡the ¡perturbed ¡problem ¡to ¡obtain ¡its ¡optimal ¡ solution ¡xp ¡ ¡ How ¡to ¡exactly ¡solve ¡it? ¡ ¡ 3: ¡Sample ¡allocation ¡solution ¡yε ¡following ¡a ¡distribution: ¡ ¡ ¡ ¡ ¡ ¡ Why ¡sampling? ¡

slide-21
SLIDE 21
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡Allocation ¡Problem ¡ How ¡to ¡perturb? ¡ ¡ ¡ ¡

Random ¡Variables ¡ are ¡independently ¡and ¡uniformly ¡ ¡ chosen ¡from ¡

Exact ¡Algorithm ¡ works ¡on: ¡

slide-22
SLIDE 22
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡allocation ¡problem ¡ How ¡to ¡perturb? ¡ ¡ 2: ¡Exactly ¡solve ¡the ¡perturbed ¡problem ¡to ¡obtain ¡its ¡optimal ¡ solution ¡xp ¡ ¡ How ¡to ¡exactly ¡solve ¡it? ¡ ¡ 3: ¡Sample ¡allocation ¡solution ¡yε ¡following ¡a ¡distribution: ¡ ¡ ¡ ¡ ¡ ¡ Why ¡sampling? ¡

slide-23
SLIDE 23

Pareto ¡Optimal ¡Solution ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡a ¡Pareto ¡Optimal ¡Solution ¡if ¡and ¡only ¡if ¡: ¡

  • 1. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡feasible ¡to ¡Allocation ¡Problem ¡
  • 2. ¡There ¡is ¡no ¡a ¡feasible ¡solution ¡that ¡simultaneously ¡achieves: ¡

Ø ¡a ¡larger ¡social ¡welfare ¡than ¡ ¡ ¡ ¡ ¡ ¡ ¡ Ø ¡a ¡smaller ¡total ¡demand ¡than ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡for ¡each ¡type ¡of ¡resource. ¡ Pareto ¡Optimal ¡Set ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡the ¡set ¡of ¡all ¡the ¡Pareto ¡Optimal ¡Solutions ¡when ¡ considering ¡the ¡first ¡i ¡bids, ¡i.e., ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  • Two ¡Concepts ¡of ¡an ¡Exact ¡Algorithm ¡to ¡

Solve ¡Perturbed ¡Problem ¡

slide-24
SLIDE 24
  • Sketch ¡of ¡an ¡Exact ¡Algorithm ¡to ¡Solve ¡

Perturbed ¡Problem ¡

¡If ¡first ¡bid’s ¡demand ¡does ¡not ¡exceeds ¡resource ¡capacity, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡; ¡otherwise, ¡ For ¡i=2, ¡…, ¡L ¡do: ¡ ¡ ¡ ¡ ¡ ¡ ¡For ¡all ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡ ¡add ¡1 ¡after ¡the ¡(i-­‑1) ¡element ¡of ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡to ¡get ¡a ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(e.g., ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡= ¡1101, ¡then ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡= ¡11011) ¡; ¡ ¡If ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡feasible, ¡put ¡it ¡into ¡ ¡ ¡Add ¡0 ¡after ¡the ¡(i-­‑1) ¡element ¡of ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡to ¡get ¡a ¡ ¡ ¡Merge ¡all ¡the ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡prune ¡all ¡the ¡solutions ¡are ¡not ¡ ¡Pareto ¡Optimal ¡Solutions ¡to ¡get ¡ ¡ Choose ¡the ¡optimal ¡solution ¡in ¡ ¡ Dynamic ¡Programming ¡Approach ¡

slide-25
SLIDE 25
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡allocation ¡problem ¡ How ¡to ¡perturb? ¡ ¡ 2: ¡Exactly ¡solve ¡the ¡perturbed ¡problem ¡to ¡obtain ¡its ¡optimal ¡ solution ¡xp ¡ ¡ How ¡to ¡exactly ¡solve ¡it? ¡ ¡ ¡Pareto ¡Optimal-­‑based ¡DP ¡ ¡ 3: ¡Sample ¡allocation ¡solution ¡yε ¡following ¡a ¡distribution: ¡ ¡ ¡ ¡ ¡ ¡ Why ¡sampling? ¡

slide-26
SLIDE 26

So ¡we ¡cannot ¡directly ¡use ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡as ¡the ¡Allocation ¡Solution ¡to ¡the ¡

  • riginal ¡Allocation ¡Problem. ¡We ¡need ¡to ¡find ¡another ¡feasible ¡

solution ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡such ¡that ¡ ¡ ¡ ¡ ¡ Optimal ¡value ¡of ¡the ¡original ¡ Allocation ¡Problem ¡

  • Why ¡to ¡Sample ¡

Optimal ¡value ¡of ¡Perturbed ¡Problem ¡ Perturbation ¡Matrix ¡

slide-27
SLIDE 27
  • Sketch ¡of ¡the ¡Allocation ¡Algorithm ¡

1: ¡Perturb ¡bidding ¡prices ¡in ¡the ¡allocation ¡problem ¡ How ¡to ¡perturb? ¡ ¡ 2: ¡Exactly ¡solve ¡the ¡perturbed ¡problem ¡to ¡obtain ¡its ¡optimal ¡ solution ¡xp ¡ ¡ How ¡to ¡exactly ¡solve ¡it? ¡ ¡ ¡Pareto ¡Optimal-­‑based ¡DP ¡ ¡ 3: ¡Sample ¡allocation ¡solution ¡yε ¡following ¡a ¡distribution: ¡ ¡ ¡ ¡ ¡ ¡ Why ¡sampling? ¡

slide-28
SLIDE 28

¡ ¡

  • How ¡to ¡Achieve ¡Polynomial ¡Expected ¡

Running ¡Time? ¡

Probability ¡Density ¡ Smoothed ¡Analysis ¡can ¡prove ¡that ¡our ¡Exact ¡Algorithm ¡has ¡an ¡ expected ¡polynomial ¡running ¡time ¡in ¡solving ¡the ¡randomized ¡ ¡ perturbed ¡problem. ¡

High-­‑level ¡idea: ¡

Adversary ¡chooses ¡ ¡ ¡ ¡ ¡ ¡ We ¡slightly ¡perturb ¡it ¡at ¡random ¡ Worst-­‑case ¡instances ¡are ¡ruled ¡out ¡ ¡ ¡

slide-29
SLIDE 29
  • 1. ¡ ¡Calculate ¡ ¡ ¡ ¡ ¡ ¡
  • 2. ¡ ¡Payment ¡rule: ¡opportunity ¡cost ¡according ¡to ¡

¡ ¡

  • Randomized ¡VCG ¡Payment ¡
slide-30
SLIDE 30

¡ ¡

  • How ¡to ¡Guarantee ¡Truthfulness? ¡

Ø It ¡has ¡been ¡proved ¡that ¡Maximal-­‑in-­‑distributional ¡Range ¡ (MIDR) ¡Mechanism ¡combined ¡with ¡Randomized ¡VCG ¡ payment ¡yields ¡a ¡truthful ¡mechanism ¡ Ø Our ¡Allocation ¡Algorithm ¡can ¡be ¡proved ¡to ¡be ¡an ¡MIDR ¡ ¡

slide-31
SLIDE 31

* Each ¡job ¡in ¡Google ¡Cluster ¡Data ¡contains ¡multiple ¡tasks, ¡with ¡ information ¡on ¡resource ¡demands ¡(CPU, ¡RAM, ¡Disk). ¡We ¡ translate ¡each ¡job ¡into ¡a ¡bundle ¡bid, ¡and ¡each ¡task ¡in ¡the ¡job ¡ into ¡a ¡VM ¡in ¡the ¡bundle ¡bid. ¡ ¡ * Default ¡Parameters: ¡ ¡ ¡ ¡ ¡ ¡ε=0.05, ¡# ¡of ¡users ¡= ¡500, ¡# ¡of ¡data ¡centers ¡= ¡8, ¡ ¡ ¡ ¡ ¡average ¡# ¡of ¡bids ¡ ¡each ¡user ¡submits ¡=4, ¡ ¡ ¡ ¡ ¡capacity ¡of ¡each ¡type ¡of ¡resource ¡in ¡each ¡data ¡center ¡= ¡ ¡ ¡ ¡ ¡ ¡(overall ¡amount ¡of ¡this ¡resource ¡required ¡in ¡this ¡data ¡center ¡ ¡ ¡ ¡ ¡ ¡ ¡in ¡all ¡the ¡submitted ¡bid ¡bundles) ¡× ¡(a ¡random ¡factor) ¡ ¡

  • Evaluation ¡Setup ¡
slide-32
SLIDE 32
  • Performance ¡Evaluation ¡
slide-33
SLIDE 33
  • Performance ¡Evaluation ¡
slide-34
SLIDE 34
  • Performance ¡Evaluation ¡

Compared ¡with ¡Zhang ¡et. ¡al ¡in ¡their ¡INFOCOM’14 ¡paper ¡

slide-35
SLIDE 35
  • Summary ¡
  • 1. Polynomial ¡expected ¡running ¡time ¡and ¡(1-­‑ε)-­‑approximation ¡

ratio ¡are ¡achieved ¡by ¡perturbation-­‑based ¡randomized ¡ algorithm ¡for ¡resource ¡allocation ¡(MIDR) ¡

  • 2. Truthfulness ¡is ¡guaranteed ¡by ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡MIDR ¡allocation ¡rule ¡+ ¡randomized ¡VCG ¡payment ¡ ¡

  • 2. Performance ¡is ¡evaluated ¡by ¡trace-­‑driven ¡simulations ¡
slide-36
SLIDE 36

Thank ¡you! ¡

Q&A ¡