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

auctions in cloud computing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Auctions in Cloud Computing

Zongpeng Li Department of Computer Science, University of Calgary June 23 2015, SSDS 2015, Shanghai, China

1

slide-2
SLIDE 2

Road Map

  • Cloud computing
  • Auctions
  • Case studies

– infocom 2014, a randomized auction – sigmetrics 2014, an online auction – infocom 2015, a (1 − )-optimal auction – sigmetrics 2015, online auctions with server cost

  • Ongoing work: Cloud jobs with hard and soft deadlines

2

slide-3
SLIDE 3

Cloud computing

3

slide-4
SLIDE 4

Cloud computing

4

slide-5
SLIDE 5

Cloud computing

Cloud resources

Cloud users

Heterogeneous user demands

general purpose

Cloud provider

computation- intensive jobs memory- intensive jobs 。。。 。。。 resource provisioning

VM allocation Heterogeneous VMs

5

slide-6
SLIDE 6

Cloud computing

Cloud resources

Core-Selecting Aucion Cloud users

Heterogeneous user demands bid general purpose

Cloud provider

computation- intensive jobs memory- intensive jobs 。。。 。。。 。。。 bid submission

  • 2. payment

charge

  • 1. winner

determination

  • 3. dynamic resource

provisioning control VM allocation Heterogeneous VMs bid bid bid

1,1 1,2 2,1 n,1

6

slide-7
SLIDE 7

Auctions

  • seller
  • buyer
  • auctioneer
  • bid

7

slide-8
SLIDE 8

Auctions

  • bidder valuation, utility
  • seller revenue
  • social welfare
  • truthfulness

8

slide-9
SLIDE 9

Auctions

  • auction, reversed auction, double auction
  • single item auction, combinatorial auction
  • one-round auction, online auction
  • deterministic auction, randomized auction

9

slide-10
SLIDE 10

Auction design goals

  • runs quickly
  • elicits truthful bids
  • achieves (approximately-)optimal social welfare and/or

seller revenue

10

slide-11
SLIDE 11

auction examples

  • first price auction
  • second price auction
  • VCG auction
  • monotone-critical auction
  • post price auction

11

slide-12
SLIDE 12

auction facts

  • the only type of auction that is both truthful and (eco-

nomically) efficient is the VCG auction.

  • a VCG auction requires solving the underlying social

welfare maximization problem, often NP-hard

  • using an approximation algorithm, VCG loses its truthful-

ness guarantee

  • an auction is truthful iff it is bid independent, and iff if

there is a critical bid value

12

slide-13
SLIDE 13

frequently asked questions

  • Auctions have been studied extensively in microeconomics.

What are computer science people doing here?

  • How is your VM auction different from the auction of

antiques, electricity, wireless channels, or online ads?

  • Why do you maximize social welfare, not seller revenue?
  • Is large scale auction in the cyber environment feasible in

practice?

13

slide-14
SLIDE 14

frequently asked questions

  • Auctions have been studied extensively in microeconomics.

What are computer science people doing here?

14

slide-15
SLIDE 15

frequently asked questions

  • Auctions have been studied extensively in microeconomics.

What are computer science people doing here? – the complexity and algorithm design aspects of auctions – most auctions are now executed by computer algorithms in the cyber world

15

slide-16
SLIDE 16

frequently asked questions

  • How is your VM auction different from the auction of

antiques, electricity, wireless channels, or online ads?

16

slide-17
SLIDE 17

frequently asked questions

  • Why do you maximize social welfare, not seller revenue?

– Both are natural, valid goals – Which to maximize, in reality, depends on who you are hired by! – In our work so far, we maximize social welfare 80% of time

17

slide-18
SLIDE 18

frequently asked questions

  • Is large scale auction in the cyber environment feasible in

practice? – Google ad impression, 1000’s of auctions per sec-

  • nd

– myThings, 50,000,000 realtime bids per day – Plethora Mobile, 40,000 bids per second

18

slide-19
SLIDE 19

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Dynamic Resource Provisioning in Cloud Computing: A Randomized Auction Approach

Linquan Zhang, Zongpeng Li1 Chuan Wu2

1University of Calgary, 2The University of Hong Kong

April 29, 2014

1 / 32

slide-20
SLIDE 20

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Outline

1 Introduction 2 System Model and Preliminaries 3 A Randomized Auction Mechanism 4 A Primal-dual Cooperative Approximation Algorithm 5 Reference

2 / 32

slide-21
SLIDE 21

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Introduction

Nowadays, virtualization technologies help cloud providers pack their resources such as CPU, RAM and storage into different types of virtual machines (VMs), for allocation to cloud users.

3 / 32

slide-22
SLIDE 22

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Introduction

Table : Amazon EC2 Virtual Machine Instance Types VM type CPU Memory Storage m1.medium 2 EC2 Compute Units 3.75 GB 410 GB m1.xlarge 8 EC2 Compute Units 15 GB 1680 GB c1.medium 5 EC2 Compute Units 1.7 GB 350 GB c1.xlarge 20 EC2 Compute Units 7 GB 1680 GB m2.xlarge 6.5 EC2 Compute Units 17.1 GB 420 GB hi1.4xlarge 35 EC2 Compute Units 60.5 GB 2048 GB

4 / 32

slide-23
SLIDE 23

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Introduction

The underlying reason for such VM heterogeneity is that: A cloud user’s job often requires cooperation among multiple VM instances, each with its own focus and forte. Example Social games and enterprise applications are often composed of a front-end web server tier, a load balancing tier and a back-end data storage tier, each suited for execution on a VM that is abundant in a particular type of resource: bandwidth, CPU, or storage.

5 / 32

slide-24
SLIDE 24

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Introduction

Unfortunately, existing allocation mechanisms in cloud markets either are based on

  • fixed pricing, which is economically inefficient, or
  • simple, static auctions that treat VMs as type-oblivious commodities.

More specifically, it is usually assumed that either a single type of VMs exists in the cloud market, or VMs are substitutes in that a high-end VM is equivalent to a number of low-end VMs[1, 2]. Example A Type II (2 × Core, 2 GB RAM, 40 GB Disk) VM equals two Type I (1 × Core, 1 GB RAM, 20 GB Disk) VMs.

6 / 32

slide-25
SLIDE 25

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Introduction

This work further departs from the existing literature by explicitly modelling the dynamic provisioning of VM instances from cloud resources.

  • Under static provisioning, the cloud assembles its available resources

into different types of VMs based on simple heuristics or historical VM demand patterns, before the auction starts.

  • Under dynamic provisioning, the cloud conducts VM assembling in an
  • nline fashion upon receiving VM bundle bids [1], targeting maximum

possible social welfare given the current bid profile.

7 / 32

slide-26
SLIDE 26

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Our Contributions

  • For the social welfare maximization problem under dynamic resource

provisioning, we design an efficient cooperative primal-dual approximation algorithm that achieves a small approximation factor α, which is close to 2.72 in most practical settings.

  • We design a randomized combinatorial auction for dynamic resource

provisioning, which is computationally efficient, truthful in expectation, and surprisingly, simultaneously achieves the strong property of guaranteeing the same social welfare approximation factor of α as does the cooperative approximation algorithm.

8 / 32

slide-27
SLIDE 27

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Definition of Truthfulness

Definition 1 A (randomized) auction is truthful (in expectation) if for any bidder i, reporting its true valuation in the bid maximizes its (expected) utility, regardless of the bids submitted by other bidders. That is, under a truthful auction, selfish buyers have no incentive to submit falsified and strategic bids.

9 / 32

slide-28
SLIDE 28

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

The Celebrated VCG Auction

  • A well-known type of truthful auctions is the celebrated VCG

mechanism [3, 4, 5], which is proven to be the only type of auctions that can simultaneously guarantee truthfulness and economic efficiency (social welfare maximization).

  • Unfortunately, a VCG auction requires solving the NP-hard problem of

social welfare optimization multiple times for calculating user payments, and becomes computationally infeasible as the system size grows.

10 / 32

slide-29
SLIDE 29

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 ck. The cloud provider offers m types of VMs, VM1, ..., VMm. A VMj 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 Bi denote the set of bids submitted by cloud user i, and {Bi}i∈B contains all bids from all users. Each bid specifies a desired VM bundle S = (nS

1 , · · · , nS m) along

with the bidding price bi(S), where nS

j is the number of VMj instances

that cloud user i requests in S.

11 / 32

slide-30
SLIDE 30

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

  • ne bid even if it submits multiple bids [6], leading to the first constraint

for VM allocation:

X

S∈Bi

xi(S) ≤ 1, ∀i ∈ B (1)

12 / 32

slide-31
SLIDE 31

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

i∈B

X

S∈Bi

xi(S)nS

j ≤ Nj, ∀1 ≤ j ≤ m m

X

j=1

Njr k

j ≤ ck, ∀1 ≤ k ≤ t

(2)

where Nj is the number of VMj instances provisioned. The two groups of inequalities in (2) can be merged into an equivalent, more compact capacity constraint:

X

i∈B

X

S∈Bi

xi(S)(

m

X

j=1

nS

j r k j ) ≤ ck, ∀1 ≤ k ≤ t

(3)

13 / 32

slide-32
SLIDE 32

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: maximize DP(B) = X

i∈B

X

S∈Bi

bi(S)xi(S) (4) subject to: X

S∈Bi

xi(S) ≤ 1, ∀i ∈ B (4a) X

i∈B

X

S∈Bi

xi(S)(

m

X

j=1

nS

j r k j ) ≤ ck,

∀1 ≤ k ≤ t (4b) xi(S) ∈ {0, 1}, ∀i ∈ B, S ∈ Bi (4c)

14 / 32

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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:

xi(S) ≥ 0, ∀i ∈ B, S ∈ Bi (4c’)

16 / 32

slide-35
SLIDE 35

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 efficient 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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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. 2:

— Compute the fractional VCG allocation x∗ and payment ΠF, through solving the LPR of IP (4).

3: Decomposing fractional solution into integer solutions 4:

— Decompose the scaled down fractional solution x∗/α to a convex combination of integer solutions, i.e., x∗/α = P

l∈I βlx(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 6:

— Select each x(l) randomly with probability βl.

7: Charging scaled fractional VCG prices 8:

— for each winning cloud user i ∈ B: charge a price Πi = ΠF

i /α.

19 / 32

slide-38
SLIDE 38

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 efficiency (polynomial time complexity) and economic efficiency (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 difference in social welfare with and without i’s bid [7, 3]:

ΠF

i = Vi −

X

i06=i,i02B

X

S2Bi0

bi0(S)x⇤

i0(S)

(5)

where Vi is the optimal DPF(B) to the LPR when cloud user i bids zero.

20 / 32

slide-39
SLIDE 39

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

  • ptimization 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 βlx(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

slide-40
SLIDE 40

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

Primal: minimize X

l∈I

βl (6) subject to: X

l∈I

βlxi(S, l) = x∗

i (S)/α

∀i ∈ B, S ∈ Bi (6a) X

l∈I

βl ≥ 1 (6b) βl ≥ 0 ∀l ∈ I (6c)

m

Primal (6a) (6b) β Dual ν λ (7a) Dual: maximize 1 α X

i∈B,S∈Bi

x∗

i (S)νi(S) + λ

(7) subject to: X

i∈B,S∈Bi

xi(S, l)νi(S) + λ ≤ 1 ∀l ∈ I (7a) λ ≥ 0 (7b) νi(S) unconstrained ∀i ∈ B, S ∈ Bi (7c)

22 / 32

slide-41
SLIDE 41

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 x0 ∈ Z(DP), we can obtain x(l) so that P

i2B,S2Bi x0 i (S, l)νi(S)+ = P i2B,S2Bi xi(S, l)νi(S).

Lemma 4 If β⇤ is an optimal solution to the primal (6), then P

l2I β⇤ l = 1.

23 / 32

slide-42
SLIDE 42

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 βlx(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:

ui( X

l∈I

βlx(l)) − Πi = ui(x∗/α) − ΠF

i /α = (ui(x∗) − ΠF i )/α

The second equality is due to the linearity of ui(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
  • f the fractional VCG auction.

24 / 32

slide-43
SLIDE 43

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 (4a) and (4b) respectively, we can formulate the dual of the LPR, to be used in the primal-dual algorithm design.

minimize X

i∈B

yi +

t

X

k=1

ckzk (8) subject to: yi +

t

X

k=1 m

X

j=1

nS

j r k j zk ≥ bi(S)

∀i ∈ B, S ∈ Bi (8a) yi ≥ 0, zk ≥ 0 ∀i ∈ B, 1 ≤ k ≤ t (8b)

25 / 32

slide-44
SLIDE 44

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: Λ = min1≤k≤t ck/Rk; p = 0; U = ;; 3: 8i, 8S : xi(S) = 0; 8i : yi = 0; 8k : zk = 1/ck; 4: // Iterative update of primal and dual variables: 5: while Pt

k=1 ckzk < t exp(Λ 1) AND U 6= B do

6:

for all i 2 B \ U do

7:

Si = arg maxS∈Bi {bi(S)};

8:

end for

9:

µ = arg maxi∈B\U

  • bi (Si )

Pt

k=1

Pm

j=1 nSi j

rk

j zk

;

10:

xµ(Sµ) = 1; yµ = bµ(Sµ);

11:

p = p + bµ(Sµ); U = U [ {µ};

12:

for all 1  k  t do

13:

zk = zk · (t exp(Λ 1))(Pm

j=1 n Sµ j

rk

j )/(ck −Rk );

14:

end for

15: end while

26 / 32

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

  • f the ⌧-th iteration, then (y τ−1, ✏f (zτ−1, Sτ)zτ−1) is a feasible solution

to the dual (8), where f (z, S) , bi(S)/(Pt

k=1

Pm

j=1 nS j r k j zk), ✏ ,

maxS1,S2∈Bi,i∈B,k∈[1,t] Pm

j=1 nS1 j r k j / Pm j=1 nS2 j r k j .

We omit the detailed proof due to space limitation.

28 / 32

slide-47
SLIDE 47

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, where ↵ = 1 + ✏

Λ Λ−1(et1/(Λ−1) 1).

Theorem 8 Algorithm 2 computes an ↵-approximate solution to IP (4) in polynomial-time, where ↵ = 1 + ✏

Λ Λ−1(et1/(Λ−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,

lim

Λ→∞ ↵ = lim Λ→∞(1 + ✏

Λ Λ − 1(et1/(Λ−1) − 1)) = 1 + ✏(e − 1)

which suggests that the approximation ratio ↵ is close to 1 + ✏(e 1). When ✏ = 1, ↵ ⇡ 2.72.

29 / 32

slide-48
SLIDE 48

Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference

Approximation Ratio

5 10 15 20 25 5 10 15 20 2 3 4 5 6 7

  • No. of resource types

Λ Approximation Ratio

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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¨

  • tschel, L. Lov´

asz, and A. Schrijver, Geometric Algorithms and Combinatorial Optimization. Springer-Verlag, 1988.

32 / 32

slide-51
SLIDE 51

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

slide-52
SLIDE 52

User demands different cloud resources in different geo locations

...... ...... ......

slide-53
SLIDE 53

Current practice in resource provisioning

✦ Amazon EC2

✴ fixed instance types ✴ fixed prices

slide-54
SLIDE 54

What we want

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

slide-55
SLIDE 55

What we want

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

/what we will do

slide-56
SLIDE 56

What we want

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

/what we will do

✴ dynamic resource provisioning (i.e., dynamic VM assembly)

slide-57
SLIDE 57

What we want

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

/what we will do

✴ dynamic resource provisioning (i.e., dynamic VM assembly) ✴ a new pricing scheme through an online auction that

discovers the “right” price requires no estimation brings more social welfare than fixed pricing

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

Model

2VM1+3VM2+5VM3 bundle 1 VM1+2VM2+7VM3 bundle 2

  • r
  • user n

datacenter q bid: d(t)

n,k,m,q,

user ma

d b(t)

n,k

bund

slide-61
SLIDE 61

Model

# of type-m VMs in datacenter q in her k-th bundle at t

  • user n

datacenter q bid: d(t)

n,k,m,q,

user ma

d b(t)

n,k

bund

slide-62
SLIDE 62

Model

valuation of user n for her k-th bundle at t # of type-m VMs in datacenter q in her k-th bundle at t

  • user n

datacenter q bid: d(t)

n,k,m,q,

user ma

d b(t)

n,k

bund

slide-63
SLIDE 63

Model

2VM1+3VM2+5VM3 bundle 1 VM1+2VM2+7VM3 bundle 2

  • r

$10 $8

  • user n

datacenter q bid: d(t)

n,k,m,q,

user ma

d b(t)

n,k

bund

slide-64
SLIDE 64
  • Model

user n datacenter q

s, y(t)

n,k ∈

wins bu

allocation decision:

slide-65
SLIDE 65
  • Model

user n gets her k-th bid bundle; user n datacenter q

s, y(t)

n,k ∈

wins bu

allocation decision:

slide-66
SLIDE 66
  • Model

user n gets her k-th bid bundle; user n datacenter q

s, y(t)

n,k ∈

wins bu

allocation decision: user n does not get her k-th bid bundle

slide-67
SLIDE 67
  • Model

user n gets her k-th bid bundle;

wins%at%most%

  • ne%bundle%in%

each%round

user n datacenter q

s, y(t)

n,k ∈

wins bu

allocation decision: user n does not get her k-th bid bundle

slide-68
SLIDE 68

cloud%provider% maximizes%social%welfare% (=%total%valua9on)

Model

user n has an overall budget Bn

slide-69
SLIDE 69

cloud%provider% maximizes%social%welfare% (=%total%valua9on)

Model

user n has an overall budget

maximize X

t∈[T ]

X

n∈[N]

X

k∈[K]

b(t)

n,ky(t) n,k

(1) subject to X

k∈[K]

y(t)

n,k ≤ 1,

∀n ∈ [N], t ∈ [T], X

k∈[K]

X

t∈[T ]

b(t)

n,ky(t) n,k ≤ Bn,

∀n ∈ [N], X

n∈[N]

X

k∈[K]

c(t)

n,k,r,qy(t) n,k ≤ A(t) q,r,

∀q ∈ [Q], r ∈ [R], t ∈ [T], y(t)

n,k ∈ {0, 1},

∀n ∈ [N], k ∈ [K], t ∈ [T]

Bn

slide-70
SLIDE 70

cloud%provider% maximizes%social%welfare% (=%total%valua9on)

Model

user n has an overall budget

maximize X

t∈[T ]

X

n∈[N]

X

k∈[K]

b(t)

n,ky(t) n,k

(1) subject to X

k∈[K]

y(t)

n,k ≤ 1,

∀n ∈ [N], t ∈ [T], X

k∈[K]

X

t∈[T ]

b(t)

n,ky(t) n,k ≤ Bn,

∀n ∈ [N], X

n∈[N]

X

k∈[K]

c(t)

n,k,r,qy(t) n,k ≤ A(t) q,r,

∀q ∈ [Q], r ∈ [R], t ∈ [T], y(t)

n,k ∈ {0, 1},

∀n ∈ [N], k ∈ [K], t ∈ [T]

Bn

n’s%valua9on% for%k=th%bundle Alloca9on%decision% amount%of%resource%r%at% dc%q%in%n’s%k=th%bundle Total%resource% r%at%dc%q%at%t

slide-71
SLIDE 71

Online Problem

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

User A Bn=$20 Round 1 $6 Round 2 $7 Round 3 $10 User B Bn=$20 Round 1 $3 Round 2 $6 Round 3 $2

slide-72
SLIDE 72

Online Problem

  • User A

Round 1 $6 Remaining Budget: $14 User B Round 1 $3 Remaining Budget: $20

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

slide-73
SLIDE 73
  • User A

Round 1 $6 Round 2 $7 Remaining Budget: $7 User B Round 1 $3 Round 2 $6 Remaining Budget: $20

Online Problem

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

slide-74
SLIDE 74
  • What difficulties could the budget bring?

User A Round 1 $6 Round 2 $7 Round 3 $10 Remaining Budget: $7 User B Round 1 $3 Round 2 $6 Round 3 $2 Remaining Budget: $18

Online Problem

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

slide-75
SLIDE 75

Online Problem

  • Greedy algorithm: social welfare $15

User A Bn=$20 Round 1 $6 Round 2 $7 Round 3 $10 User B Bn=$20 Round 1 $3 Round 2 $6 Round 3 $2

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

slide-76
SLIDE 76
  • What difficulties could the budget bring?

Greedy algorithm: social welfare $15 Optimal solution: social welfare $22

User A Bn=$20 Round 1 $6 Round 2 $7 Round 3 $10 User B Bn=$20 Round 1 $3 Round 2 $6 Round 3 $2

Online Problem

✦ The budget couples decisions in different rounds of the auction Example: greedy vs. optimal allocation strategy

slide-77
SLIDE 77

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?

Greedy algorithm: social welfare $15 Optimal solution: social welfare $22

User A Bn=$20 Round 1 $6 Round 2 $7 Round 3 $10 User B Bn=$20 Round 1 $3 Round 2 $6 Round 3 $2

slide-78
SLIDE 78

Budget Coefficient

✦ Higher priority for allocating resource to user with higher remaining budget in each round:

  • (remaining) budget

–Original valuation × Budget coefficient

×

1

slide-79
SLIDE 79

The Online Algorithm Framework Aonline

A 1: x(0)

n

← 0, ∀n ∈ [N] 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: w(t)

n,k =

( if x(t1)

n

≥ 1 b(t)

n,k(1 − x(t1) n

)

  • therwise

, ∀n ∈ [N], k ∈ [K]. 5: Run Around. Let N be the set of winning users, and kn be the index of their corresponding winning bundle, for each winning user n ∈ N. 6: for all n ∈ N do 7: x(t)

n ← x(t1) n

1 + b(t)

n,kn

Bn ! + b(t)

n,kn

Bn(γ − 1) 8: end for 9: for all n / ∈ N do 10: x(t)

n ← x(t1) n

11: end for 12: end for 13: xn ← x(T )

n , ∀n ∈ [N]

slide-80
SLIDE 80

The Online Algorithm Framework Aonline

A 1: x(0)

n

← 0, ∀n ∈ [N] 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: w(t)

n,k =

( if x(t1)

n

≥ 1 b(t)

n,k(1 − x(t1) n

)

  • therwise

, ∀n ∈ [N], k ∈ [K]. 5: Run Around. Let N be the set of winning users, and kn be the index of their corresponding winning bundle, for each winning user n ∈ N. 6: for all n ∈ N do 7: x(t)

n ← x(t1) n

1 + b(t)

n,kn

Bn ! + b(t)

n,kn

Bn(γ − 1) 8: end for 9: for all n / ∈ N do 10: x(t)

n ← x(t1) n

11: end for 12: end for 13: xn ← x(T )

n , ∀n ∈ [N]

adjusted%bundle% valua9on%used%for% resource%alloca9on% in%this%round

slide-81
SLIDE 81

The Online Algorithm Framework Aonline

A 1: x(0)

n

← 0, ∀n ∈ [N] 2: // Loop for each time slot 3: for all 1 ≤ t ≤ T do 4: w(t)

n,k =

( if x(t1)

n

≥ 1 b(t)

n,k(1 − x(t1) n

)

  • therwise

, ∀n ∈ [N], k ∈ [K]. 5: Run Around. Let N be the set of winning users, and kn be the index of their corresponding winning bundle, for each winning user n ∈ N. 6: for all n ∈ N do 7: x(t)

n ← x(t1) n

1 + b(t)

n,kn

Bn ! + b(t)

n,kn

Bn(γ − 1) 8: end for 9: for all n / ∈ N do 10: x(t)

n ← x(t1) n

11: end for 12: end for 13: xn ← x(T )

n , ∀n ∈ [N]

adjusted%bundle% valua9on%used%for% resource%alloca9on% in%this%round %%%%%Update%budget% coefficient%%based%on% the%ra9o%of%consumed% budget%to%the%total% budget

slide-82
SLIDE 82

The Online Algorithm Framework Aonline

An%example%run:%

User A Bn=$20 Round 1 $6 Round 2 $7 Round 3 $10 User B Bn=$20 Round 1 $3 Round 2 $6 Round 3 $2

  • nly%one%item;%Around%simply%chooses%the%user%with%

the%larger%adjusted%valua9on%as%the%winner%%

slide-83
SLIDE 83

The Online Algorithm Framework Aonline

User A Bn=$20 xn=0 Round 1 $6 Adjusted: $6*(1-0)=$6 Update: xn=0.24 User B Bn=$20 xn=0 Round 1 $3 Adjusted: $3*(1-0)=$3

An%example%run:%

  • nly%one%item;%Around%simply%chooses%the%user%with%

the%larger%adjusted%valua9on%as%the%winner%%

slide-84
SLIDE 84

User A Bn=$20 xn=0.24 Round 1 $6 Round 2 $7 Adjusted: $7*(1-0.24)=$5.32 User B Bn=$20 xn=0 Round 1 $3 Round 2 $6 Adjusted: $6*(1-0)=$6 Update: xn=0.24

The Online Algorithm Framework Aonline

An%example%run:%

  • nly%one%item;%Around%simply%chooses%the%user%with%

the%larger%adjusted%valua9on%as%the%winner%%

slide-85
SLIDE 85

The Online Algorithm Framework Aonline

User A Bn=$20 xn=0.24 Round 1 $6 Round 2 $7 Round 3 $10 Adjusted: $10*(1-0.24)=$7.6 Update: xn=0.76 User B Bn=$20 xn=0.24 Round 1 $3 Round 2 $6 Round 3 $2 Adjusted: $2*(1-0.24)=$1.52

Greedy algorithm: social welfare $15 Optimal solution: social welfare $22 Online algorithm: social welfare $22

An%example%run:%

  • nly%one%item;%Around%simply%chooses%the%user%with%

the%larger%adjusted%valua9on%as%the%winner%%

slide-86
SLIDE 86

One-Round Auction Around

✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism)

slide-87
SLIDE 87

One-Round Auction Around

✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Main design objective: truthfulness

slide-88
SLIDE 88

One-Round Auction Around

✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Payment mechanism is the key to guarantee truthfulness

✴ can be very difficult to design

✦ Main design objective: truthfulness

slide-89
SLIDE 89

One-Round Auction Around

✦ To decide the winners and winning bundles (resource allocation decisions), and the price to charge for each bundle (payment mechanism) ✦ Payment mechanism is the key to guarantee truthfulness

✴ can be very difficult to design

✦ Main design objective: truthfulness

✴ VCG auction is a truthful mechanism

charges bidder the opportunity cost needs to compute the exact optimal allocation (cannot be approximate solution)

slide-90
SLIDE 90

One-Round Resource Allocation Problem

maximize X

n∈[N]

X

k∈[K]

w(t)

n,ky(t) n,k

subject to X

k∈[K]

y(t)

n,k  1

8n 2 [N] X

n∈[N]

X

k∈[K]

c(t)

n,k,r,qy(t) n,k  A(t) q,r

8q 2 [Q], r 2 [R] ( y(t)

n,k 2 {0, 1}

8n 2 [N], k 2 [K]

An NP hard problem!

:%adjusted%user%n’s%valua9on%for%k=th%bundle% :%amount%of%resource%r%at%dc%q%in%n’s%k=th%bundle% :%total%resource%r%at%dc%q%at%t% :%decision%variable,%bundle%allocated%or%not%

w(t)

n,ky ) ky(t) n,k

X

c(t)

n,k,r,qy

 A(t)

q,r

slide-91
SLIDE 91

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

s, y(t)

n,k ∈

wins bu

slide-92
SLIDE 92

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

slide-93
SLIDE 93

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

slide-94
SLIDE 94

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

slide-95
SLIDE 95

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

probability%to%choose% the%respec9ve% integer%solu9on

slide-96
SLIDE 96

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

probability%to%choose% the%respec9ve% integer%solu9on

slide-97
SLIDE 97

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

s, y(t)

n,k ∈

wins bu

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

probability%to%choose% the%respec9ve% integer%solu9on

slide-98
SLIDE 98

✦ Solution: decompose the fractional solution to a combination of integer solutions, such that the allocation in expectation remains the same

Fractional VCG

✦ Relax ✦ Compute optimal fractional allocation: an LP ✦ Use the same VCG payment mechanism

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

s, y(t)

n,k ∈

wins bu

scale=down%factor

✦ But, fractional bundle allocation is not feasible in practice we cannot provide 0.3 of a VM instance to a user

probability%to%choose% the%respec9ve% integer%solu9on

slide-99
SLIDE 99

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 minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

slide-100
SLIDE 100

Randomized Decomposition

✦ How to decide the scale-down factor ✦ How to find a set of integer solution and the corresponding probabilities

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

nd λ(1

y(t)l

n,kv

l

slide-101
SLIDE 101

Finding

✦ Use the approximation ratio of an algorithm to solve the one- round allocation problem as the scaling-down factor guaranteed to find a feasible solution of the decomposition problem

/,

slide-102
SLIDE 102

✦ A primal-dual approximation algorithm to solve the one-round allocation problem

Allocation Problem (3) 1: N ;, zbase QR · exp((C(t)

min 1))

2: y(t)

n,k 0, s(t) n

0, z(t)

q,r 1/A(t) q,r, 8n 2 [N], k 2 [K], r 2

[R], q 2 [Q] 3: while P

r∈[R]

P

q∈[Q] A(t) q,rz(t) q,r < zbase AND |N| 6= N do

4: for all n / 2 N do 5: k(n) = arg maxk∈[K]{w(t)

n,k}

6: end for 7: n∗ = arg maxn∈[N]{

w(t)

n,k(n)

P

r∈[R]

P

q∈[Q] c(t) n,k(n),r,qz(t) q,r }

8: y(t)

n∗,k(n∗) 1, s(t) n∗ w(t) n∗,k(n∗), N N [ {n∗}

9: for all r 2 [R], q 2 [Q] do z(t)

q,r z(t) q,r · zbase c(t)

n∗,k(n∗),q,r/(A(t) q,r−C(t) q,r)

10: end for 11: end while Dual%variable%of%the% resource%constraint:%the% unit%price%of%each%type%of% resources Evaluate%a%bundle% according%to%unit%prices% and%required%resources;% choose%users%with%a%higher% bid%on%a%lower=valued% bundle%as%the%winner% Update%the%unit%price%of% recourses:%higher%price%if% larger%amount%of%the% resource%consumed

Finding

/,

slide-103
SLIDE 103

Finding integer solutions and probabilities

✦ Difficult to solve directly since we need to find the exponentially many feasible integer solutions first

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

slide-104
SLIDE 104

Finding integer solutions and probabilities

✦ Difficult to solve directly since we need to find the exponentially many feasible integer solutions first

minimize X

l∈L

l s.t. X

l∈L

ly(t)l

n,k = y(t)F n,k /,

8n 2 [N], k 2 [K], X

l∈L

l 1, l 0, 8l 2 L.

✦ Solution: resort to the dual solve the dual using Ellipsoid method in polynomial time, using the primal-dual approximation algorithm as the separation oracle

slide-105
SLIDE 105

One-Round Random Auction Around

Algorithm 3 One-Round Randomized Auction Around in t 1: Solve LP relaxation of (3), with w(t)

n,k = max{0, (1

x(t1)

n

)b(t)

n,k}.

Denote the fractional solution by y(t)F

n,k , 8n 2 [N], k 2 [K].

2: for all n 2 [N] do 3: 8n0 2 [N], k 2 [K], w

0(t)

n0,k = max{0, (1 x(t1) n

)b(t)

n,k},

if n0 6= n. Otherwise w

0(t)

n0,k = 0.

4: Solve LP relaxation of (3), with w

0(t)

n0,k’s. Denote the

  • ptimal objective function value by e

V (t)

n.

5: Π(t)F

n

= e V (t)

n P n06=n

P

k y(t)F n0,k w(t) n0,k

6: end for 7: Solve the pair of primal-dual decomposition LPs in (6) and (7) using the ellipsoid method, using Alg. 2 as a separation oracle, and derive a polynomial number of integer solutions to (3), y(t)l, 8l 2 L, and the corre- sponding decomposition coefficients, βl, 8l 2 L. 8: Choose y(t)l with probability βl, 8l 2 L 9: 8n 2 [N], Π(t)l

n

= Π(t)F

n

·

P

k2[K] w(t) n,ky(t)l n,k

P

k2[K] w(t) n,ky(t)F n,k

slide-106
SLIDE 106

One-Round Random Auction Around

Algorithm 3 One-Round Randomized Auction Around in t 1: Solve LP relaxation of (3), with w(t)

n,k = max{0, (1

x(t1)

n

)b(t)

n,k}.

Denote the fractional solution by y(t)F

n,k , 8n 2 [N], k 2 [K].

2: for all n 2 [N] do 3: 8n0 2 [N], k 2 [K], w

0(t)

n0,k = max{0, (1 x(t1) n

)b(t)

n,k},

if n0 6= n. Otherwise w

0(t)

n0,k = 0.

4: Solve LP relaxation of (3), with w

0(t)

n0,k’s. Denote the

  • ptimal objective function value by e

V (t)

n.

5: Π(t)F

n

= e V (t)

n P n06=n

P

k y(t)F n0,k w(t) n0,k

6: end for 7: Solve the pair of primal-dual decomposition LPs in (6) and (7) using the ellipsoid method, using Alg. 2 as a separation oracle, and derive a polynomial number of integer solutions to (3), y(t)l, 8l 2 L, and the corre- sponding decomposition coefficients, βl, 8l 2 L. 8: Choose y(t)l with probability βl, 8l 2 L 9: 8n 2 [N], Π(t)l

n

= Π(t)F

n

·

P

k2[K] w(t) n,ky(t)l n,k

P

k2[K] w(t) n,ky(t)F n,k

Allocate VM bundles

slide-107
SLIDE 107

One-Round Random Auction Around

Algorithm 3 One-Round Randomized Auction Around in t 1: Solve LP relaxation of (3), with w(t)

n,k = max{0, (1

x(t1)

n

)b(t)

n,k}.

Denote the fractional solution by y(t)F

n,k , 8n 2 [N], k 2 [K].

2: for all n 2 [N] do 3: 8n0 2 [N], k 2 [K], w

0(t)

n0,k = max{0, (1 x(t1) n

)b(t)

n,k},

if n0 6= n. Otherwise w

0(t)

n0,k = 0.

4: Solve LP relaxation of (3), with w

0(t)

n0,k’s. Denote the

  • ptimal objective function value by e

V (t)

n.

5: Π(t)F

n

= e V (t)

n P n06=n

P

k y(t)F n0,k w(t) n0,k

6: end for 7: Solve the pair of primal-dual decomposition LPs in (6) and (7) using the ellipsoid method, using Alg. 2 as a separation oracle, and derive a polynomial number of integer solutions to (3), y(t)l, 8l 2 L, and the corre- sponding decomposition coefficients, βl, 8l 2 L. 8: Choose y(t)l with probability βl, 8l 2 L 9: 8n 2 [N], Π(t)l

n

= Π(t)F

n

·

P

k2[K] w(t) n,ky(t)l n,k

P

k2[K] w(t) n,ky(t)F n,k

Decide payment

Allocate VM bundles

slide-108
SLIDE 108

What we have done

  • A e-approximation algorithm for one-round VM allocaiton
  • Around: one-round combinatorial VM auction, truthful,

e-approximate social welfare

  • Aonline: online combinatorial VM auction, truthful, (e +

1 e−1)-competitive

4

slide-109
SLIDE 109

Trace-deriven evaluation

Setup:%Google%cluster%trace%

6%types%of%VMs,%3%types%of%resources%% 3%datacenters% 3%bundles%per%user% 300%~%3000%users% 300%~%3000%rounds Comparison%among:% Alloc:%%online%alloca9on%algorithm% Auc:%online%auc9on%with%original%decomposi9on% method%% AucBS:%online%auc9on%with%binary%search% improvement%

!

slide-110
SLIDE 110
  • Alloc:%%online%alloca9on%algorithm%

Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement

slide-111
SLIDE 111
  • Alloc:%%online%alloca9on%algorithm%

Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement

slide-112
SLIDE 112
  • AucBS)

Alloc:%%online%alloca9on%algorithm% Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement

slide-113
SLIDE 113

Conclusion

✦ The first online combination auction for dynamic VM market

✴ translates the online social welfare maximization problem

into a series of one-round resource allocation problems

✴ translates a cooperative approximation algorithm into a

truthful auction

✴ a theoretical competitive ratio ≈ 3.30 in typical scenarios

✦ Promising to apply this algorithmic framework in other related settings

Weijie Shi, Linquan Zhang, Chuan Wu, Zongpeng Li, Francis C.M. Lau. "An Online Auction Framework for Dynamic Resource Provisioning in Cloud Computing," to appear in the Proceedings of ACM SIGMETRICS 2014, Austin, Texas, USA, June 16-20, 2014.

slide-114
SLIDE 114

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-115
SLIDE 115

Outline"

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

slide-116
SLIDE 116
  • !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-117
SLIDE 117

VM" Virtualization"technology"packs" resources"into"VMs"

  • !Background"
slide-118
SLIDE 118

Pre,determined"types""

vCPU:"16" " Mem:"16"GB" " Data:"160GB" " "

  • !Background"
slide-119
SLIDE 119

vCPU:"16" " Mem:"16"GB" " Data:"160GB" " "

  • !Background"

Pre,determined"types""

slide-120
SLIDE 120
  • Current"Development"

"

More"VM"types""" Fixed"pricing"

! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!"

slide-121
SLIDE 121
  • 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-122
SLIDE 122
  • 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-123
SLIDE 123

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-124
SLIDE 124

"

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-125
SLIDE 125

VM"Allocation:"

  • How"Our"Mechanism"Works"
slide-126
SLIDE 126

VM"Allocation:"

  • How"Our"Mechanism"Works"

User!

slide-127
SLIDE 127

VM"Allocation:"

  • How"Our"Mechanism"Works"

User! Multiple!bids!in!a!bundle!

slide-128
SLIDE 128

VM"Allocation:"

  • How"Our"Mechanism"Works"

User! Multiple!bids!in!a!bundle! Demand!

slide-129
SLIDE 129

VM"Allocation:"

  • How"Our"Mechanism"Works"

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

slide-130
SLIDE 130

VM"Allocation:"

  • How"Our"Mechanism"Works"

User! Multiple!bids!in!a!bundle! Demand! Capacity! XOR"bid"constraint"

slide-131
SLIDE 131
  • 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-132
SLIDE 132
  • 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-133
SLIDE 133
  • 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-134
SLIDE 134
  • 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-135
SLIDE 135
  • 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-136
SLIDE 136

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-137
SLIDE 137
  • 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-138
SLIDE 138
  • 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-139
SLIDE 139

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-140
SLIDE 140
  • 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-141
SLIDE 141

" "

  • 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-142
SLIDE 142

1.""Calculate"""""" 2.""Payment"rule:"opportunity"cost"according"to" " "

  • Randomized"VCG"Payment"
slide-143
SLIDE 143

" "

  • 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-144
SLIDE 144

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-145
SLIDE 145
  • Performance"Evaluation"
slide-146
SLIDE 146
  • Performance"Evaluation"
slide-147
SLIDE 147
  • Performance"Evaluation"

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

slide-148
SLIDE 148
  • 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-149
SLIDE 149

Online Auctions in IaaS Clouds: Welfare and Profit Maximization with Server Costs

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

1 The University of Hong Kong 2 University of Calgary

slide-150
SLIDE 150

Outline

! Background ! Problem settings ! Difficulties ! Mechanism design ! Performance evaluations ! Summary

slide-151
SLIDE 151

Amazon EC2

Computing resources are packed into VMs by virtualization technology

slide-152
SLIDE 152

Users demand for Cloud resources

slide-153
SLIDE 153

Why auction

" Users can determine their own VM types

" Providers can price according to the current demand and supply relationship " Computing resources are limited

slide-154
SLIDE 154

Amazon EC2 Spot Instances

Demand: a VM instance

slide-155
SLIDE 155

Amazon EC2 Spot Instances

Demand: a VM instance

slide-156
SLIDE 156

Our work

Our work Time-variant resource demands —— a customized VM Start time End time

slide-157
SLIDE 157
  • S servers
  • R types of resources, with known capacities
  • T time slots
  • I users
  • For each user i:
  • Demands of user i:

Problem settings

ti, t−

i , t+ i

dir(t)

slide-158
SLIDE 158

f(x) x c f(x) x c f(x) x c

  • Power consumption of each server can be formulated

Problem settings

Horizontal coordinate: resource(e.g., CPU) utilization Vertical coordinate: power consumption

slide-159
SLIDE 159

f(x) x c

When Dynamic Voltage Frequency Scaling (DVFS) server mode is enabled, .

Problem settings

f(x) = ⇢ hx1+β, x ∈ [0, C] ∞, x > C

β = 2 h, β > 0.

slide-160
SLIDE 160

f(x) x c

Problem settings

f(x) = ⇢ hx, x ∈ [0, C] ∞, x > C

Dynamic Voltage Frequency Scaling (DVFS) server mode is disabled.

h ≥ 0

slide-161
SLIDE 161

f(x) x c

Problem settings

f(x) = ⇢ hx, x ∈ [0, C] ∞, x > C

Server cost is not considered.

h = 0

slide-162
SLIDE 162

maximize P

i∈[I]

P

s∈[S]

bixis − P

t∈[T ]

P

s∈[S]

P

r∈[R]

frs(yrs(t))

bid server bid i on s

✔ = ✗ =0

X

s∈[S]

xis ≤ 1, ∀i ∈ [I] X

i∈[I]: t−

i ≤t≤t+ i

dir(t)xis ≤ yrs(t), ∀r ∈ [R], s ∈ [S], t ∈ [T] xis ∈ {0, 1}, yrs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], i ∈ [I], t ∈ [T]

time slot resource

VM allocation model

slide-163
SLIDE 163

X

s∈[S]

xis ≤ 1, ∀i ∈ [I] X

i∈[I]: t−

i ≤t≤t+ i

dir(t)xis ≤ yrs(t), ∀r ∈ [R], s ∈ [S], t ∈ [T] xis ∈ {0, 1}, yrs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], i ∈ [I], t ∈ [T]

resource allocation constraint

maximize P

i∈[I]

P

s∈[S]

bixis − P

t∈[T ]

P

s∈[S]

P

r∈[R]

frs(yrs(t))

server cost

VM allocation model

slide-164
SLIDE 164

maximize P

i∈[I]

P

s∈[S]

bixis − P

t∈[T ]

P

s∈[S]

P

r∈[R]

frs(yrs(t))

X

s∈[S]

xis ≤ 1, ∀i ∈ [I] X

i∈[I]: t−

i ≤t≤t+ i

dir(t)xis ≤ yrs(t), ∀r ∈ [R], s ∈ [S], t ∈ [T] xis ∈ {0, 1}, yrs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], i ∈ [I], t ∈ [T]

  • 1. y = allocated resource amount
  • 2. No resource is over-provisioned

VM allocation model

slide-165
SLIDE 165

! VM auction:

NP-hard Sever cost consideration Resource reusability

! Payment:

For welfare maximization: it should be a threshold

to filer out low-value bids For profit maximization: it should be as close to bidding price as possible

Challenges with online auction

slide-166
SLIDE 166

Upon the arrival of bid i:

! 1. Use the current price to calculate the

payment on each server: payment(s)=

! 2. Choose the smallest payment and the

corresponding server .

! 3. If : Accept bid i. Serve bid i on .

Update . Update . Otherwise: Reject bid i .

Online auction for welfare maximization

s∗

ˆ pi

bi > ˆ pi

s∗

prs(t)

P

t∈[t−

i ,t+ i ]

P

r∈[R] prs(t)dir(t)

prs(t)

yrs(t) = yrs(t) + dir(t)

slide-167
SLIDE 167

! Our online auction achieves: ! How to update

Online auction for welfare maximization

prs(t)

slide-168
SLIDE 168

! Our online auction achieves:

# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio

! How to update

Online auction for welfare maximization

prs(t)

slide-169
SLIDE 169

! Our online auction achieves:

# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio

! How to update

Online auction for welfare maximization

prs(t)

slide-170
SLIDE 170

! Our online auction achieves:

# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio

! How to update

Using an online primal-dual framework

Online auction for welfare maximization

prs(t)

slide-171
SLIDE 171

An online primal-dual framework

maximize P

i∈[I]

P

s∈[S]

bixis − P

t∈[T ]

P

s∈[S]

P

r∈[R]

frs(yrs(t)) X

s∈[S]

xis ≤ 1, ∀i ∈ [I] X

i∈[I]: t−

i ≤t≤t+ i

dir(t)xis ≤ yrs(t), ∀r ∈ [R], s ∈ [S], t ∈ [T] xis ∈ {0, 1}, yrs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], i ∈ [I], t ∈ [T]

s.t.

minimize X

i∈[I]

ui + X

t∈[T ]

X

r∈[R]

f ?

rs(prs(t))

ui ≥ bi − X

t∈[t−

i ,t+ i ]

X

r∈[R]

dir(t)prs(t), ∀s ∈ [S], i ∈ [I] prs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], t ∈ [T] ui ≥ 0, ∀i ∈ [I]

s.t.

Primal: Dual:

Lagrange relaxation

slide-172
SLIDE 172

An online primal-dual framework

maximize P

i∈[I]

P

s∈[S]

bixis − P

t∈[T ]

P

s∈[S]

P

r∈[R]

frs(yrs(t)) X

s∈[S]

xis ≤ 1, ∀i ∈ [I] X

i∈[I]: t−

i ≤t≤t+ i

dir(t)xis ≤ yrs(t), ∀r ∈ [R], s ∈ [S], t ∈ [T] xis ∈ {0, 1}, yrs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], i ∈ [I], t ∈ [T]

s.t.

minimize X

i∈[I]

ui + X

t∈[T ]

X

r∈[R]

f ?

rs(prs(t))

ui ≥ bi − X

t∈[t−

i ,t+ i ]

X

r∈[R]

dir(t)prs(t), ∀s ∈ [S], i ∈ [I] prs(t) ≥ 0, ∀r ∈ [R], s ∈ [S], t ∈ [T] ui ≥ 0, ∀i ∈ [I]

s.t.

Primal: Dual:

Lagrange relaxation Resource price Utility

  • f i
slide-173
SLIDE 173

An online primal-dual framework

! Primal (P): Maximization problem ! Dual (D): Minimization problem ! P(or D): Primal(or Dual) objective value

under a feasible primal(or dual) solution

! Weak duality: P<=P* <= D*<=D

slide-174
SLIDE 174

An online primal-dual framework

! Primal (P): Maximization problem ! Dual (D): Minimization problem ! P(or D): Primal(or Dual) objective value

under a feasible primal(or dual) solution

! Weak duality: P<=P* <= D*<=D ! Competitive analysis: P>= (1/)D

Tight the gap

slide-175
SLIDE 175

An online primal-dual framework

! Competitive analysis: P>= (1/)D ! Pi: The primal objective value after

dealing with bid i

! Di: The dual objective value after dealing

with bid i

! In order to get P>= (1/)D, we resort to

satisfying Pi - Pi-1 >= (1/) (Di – Di-1), given P0=D0=0.

slide-176
SLIDE 176

An online primal-dual framework

! In order to guarantee

Pi - Pi-1 >= (1/) (Di – Di-1), we have:

! Solve for each i, r, s, t to

minimize .

pi−1

rs (t)(yi rs(t) − yi−1 rs (t)) − (frs(yi rs(t)) − frs(yi−1 rs (t)))

≥ 1 α(f ?

rs(pi rs(t)) − f ? rs(pi−1 rs (t)))

pi−1

rs (t)(yi rs(t))

slide-177
SLIDE 177

! What are the goals of our online auction

# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio

! How to update

Using an online primal-dual framework, we solve , a function of .

Online auction for welfare maximization

prs(t) prs(t)

yrs(t)

slide-178
SLIDE 178

How to intuitively understand

prs(t)(yrs(t)) = ( f 0

rs(δrsyrs(t)),

yrs(t) ≤ Crs

δrs

f 0

rs(Crs)eθrs(yrs(t) Crs

δrs ),

yrs(t) > Crs

δrs

prs(t)

f(y) y c

$$ y c

  • P

c/훿

U

slide-179
SLIDE 179

Evaluation setup

! Google Cluster Data contains information including resource

demands (CPU, RAM, Disk), job arrival times and durations.

! We translate each job into a VM bid, requesting R = 3 types of

resources at the demands extracted from the traces (demand here is not much smaller than Crs ). Default Parameters:

! Each time slot is 10 seconds, and a bid arrives every [1, 10] time

slot(s). The duration of each VM is between 10 and 3600 time slots.

! Ur =50, Lr =1. hrs~[0.4, 0.6] for CPU, hrs~[0.005, 0.02] for RAM

and disk. rs~[1.7, 2.2] for CPU, rs~[0.5, 1] for RAM and disk.

! The capacity of each type of resource and the number of servers

are roughly according to the total amount of demand from all bids multiplying a random number in [0.4, 0.8].

slide-180
SLIDE 180

Performance evaluation

  • f welfare maximization

Bar colors: difference with average # of time slots between the bid arrival time to its specified VM start time

  • ver all the bids.
slide-181
SLIDE 181

Performance evaluation

  • f welfare maximization
slide-182
SLIDE 182

Performance evaluation

  • f profit maximization

Bar colors: difference with the ratio between the upper and lower bound of bidding price per unit of resource demand

slide-183
SLIDE 183

Summary

! We design an online auction to do Cloud resource

provisioning for users with time-variant demands.

! We consider heterogeneous resources dynamically

allocated, released, and reused.

! We maximize social welfare with server cost which

achieves a good competitive ratio.

! We also apply an approach to maximize provider

profit which achieves a good competitive ratio.

slide-184
SLIDE 184

Thank you Q&A