Auctions in Cloud Computing
Zongpeng Li Department of Computer Science, University of Calgary June 23 2015, SSDS 2015, Shanghai, China
1
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
Zongpeng Li Department of Computer Science, University of Calgary June 23 2015, SSDS 2015, Shanghai, China
1
2
3
4
Cloud resources
Cloud users
Heterogeneous user demands
general purpose
Cloud provider
computation- intensive jobs memory- intensive jobs 。。。 。。。 resource provisioning
VM allocation Heterogeneous VMs
5
Cloud resources
Core-Selecting Aucion Cloud users
Heterogeneous user demands bid general purpose
Cloud provider
computation- intensive jobs memory- intensive jobs 。。。 。。。 。。。 bid submission
charge
determination
provisioning control VM allocation Heterogeneous VMs bid bid bid
1,1 1,2 2,1 n,1
6
7
8
9
10
11
12
13
14
15
16
17
18
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
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
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
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
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
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
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
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.
into different types of VMs based on simple heuristics or historical VM demand patterns, before the auction starts.
possible social welfare given the current bid profile.
7 / 32
Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference
Our Contributions
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.
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
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
Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference
The Celebrated VCG Auction
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).
social welfare optimization multiple times for calculating user payments, and becomes computationally infeasible as the system size grows.
10 / 32
Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference
System Model
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.
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
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
for VM allocation:
X
S∈Bi
xi(S) ≤ 1, ∀i ∈ B (1)
12 / 32
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
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
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
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
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
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
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
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
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
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
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
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
ν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
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
24 / 32
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
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
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
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
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
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
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
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
Λ 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
Outline Introduction System Model and Preliminaries A Randomized Auction Mechanism A Primal-dual Cooperative Approximation Algorithm Reference
Conclusion
VMs, we first propose a cooperative primal dual approximation algorithm with a small approximation ratio.
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
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
[8] R. Carr and S. Vempala, “Randomized Metarounding,” Random Struct. Algorithms, vol. 20,
[9] R. Lavi and C. Swamy, “Truthful and Near-Optimal Mechanism Design via Linear Programming,” in Proc. of IEEE FOCS, 2005. [10] M. Gr¨
asz, and A. Schrijver, Geometric Algorithms and Combinatorial Optimization. Springer-Verlag, 1988.
32 / 32
Weijie Shi, Linquan Zhang, Chuan Wu, Zongpeng Li, Francis Lau ACM SIGMETRICS 2014
1
...... ...... ......
n,k,m,q,
n,k,m,q,
n,k,m,q,
n,k,m,q,
t∈[T ]
n∈[N]
k∈[K]
n,ky(t) n,k
k∈[K]
n,k ≤ 1,
k∈[K]
t∈[T ]
n,ky(t) n,k ≤ Bn,
n∈[N]
k∈[K]
n,k,r,qy(t) n,k ≤ A(t) q,r,
n,k ∈ {0, 1},
t∈[T ]
n∈[N]
k∈[K]
n,ky(t) n,k
k∈[K]
n,k ≤ 1,
k∈[K]
t∈[T ]
n,ky(t) n,k ≤ Bn,
n∈[N]
k∈[K]
n,k,r,qy(t) n,k ≤ A(t) q,r,
n,k ∈ {0, 1},
n
n,k =
n
n,k(1 − x(t1) n
n ← x(t1) n
n,kn
n,kn
n ← x(t1) n
n , ∀n ∈ [N]
n
n,k =
n
n,k(1 − x(t1) n
n ← x(t1) n
n,kn
n,kn
n ← x(t1) n
n , ∀n ∈ [N]
n
n,k =
n
n,k(1 − x(t1) n
n ← x(t1) n
n,kn
n,kn
n ← x(t1) n
n , ∀n ∈ [N]
n∈[N]
k∈[K]
n,ky(t) n,k
k∈[K]
n,k 1
n∈[N]
k∈[K]
n,k,r,qy(t) n,k A(t) q,r
n,k 2 {0, 1}
n,ky ) ky(t) n,k
∈
n,k,r,qy
A(t)
q,r
n,k ∈
n,k ∈
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,k ∈
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
n,kv
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
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
l∈L
l∈L
n,k = y(t)F n,k /,
l∈L
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
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
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
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
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
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
1 e−1)-competitive
4
Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement
Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement
Alloc:%%online%alloca9on%algorithm% Auc:%online%auc9on%with%original%decomposi9on%method%% AucBS:%online%auc9on%with%binary%search%improvement
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.
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"
CPU" RAM" Storage"
vCPU:"16" " Mem:"16"GB" " Data:"160GB" " "
vCPU:"16" " Mem:"16"GB" " Data:"160GB" " "
"
! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!"
!!!!
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?""
! 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?""
!!!!
!
"
User!
User! Multiple!bids!in!a!bundle!
User! Multiple!bids!in!a!bundle! Demand!
User! Multiple!bids!in!a!bundle! Demand! Capacity!
User! Multiple!bids!in!a!bundle! Demand! Capacity! XOR"bid"constraint"
Random"Variables" are"independently"and"uniformly"" chosen"from"
1 The University of Hong Kong 2 University of Calgary
! Background ! Problem settings ! Difficulties ! Mechanism design ! Performance evaluations ! Summary
f(x) x c f(x) x c f(x) x c
f(x) x c
f(x) x c
f(x) x c
i∈[I]
s∈[S]
t∈[T ]
s∈[S]
r∈[R]
✔ = ✗ =0
s∈[S]
i∈[I]: t−
i ≤t≤t+ i
s∈[S]
i∈[I]: t−
i ≤t≤t+ i
i∈[I]
s∈[S]
t∈[T ]
s∈[S]
r∈[R]
i∈[I]
s∈[S]
t∈[T ]
s∈[S]
r∈[R]
s∈[S]
i∈[I]: t−
i ≤t≤t+ i
! VM auction:
! Payment:
For welfare maximization: it should be a threshold
! 1. Use the current price to calculate the
! 2. Choose the smallest payment and the
! 3. If : Accept bid i. Serve bid i on .
t∈[t−
i ,t+ i ]
r∈[R] prs(t)dir(t)
! Our online auction achieves: ! How to update
! Our online auction achieves:
# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio
! How to update
! Our online auction achieves:
# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio
! How to update
! Our online auction achieves:
# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio
! How to update
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]
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]
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]
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]
! Primal (P): Maximization problem ! Dual (D): Minimization problem ! P(or D): Primal(or Dual) objective value
! Weak duality: P<=P* <= D*<=D
! Primal (P): Maximization problem ! Dual (D): Minimization problem ! P(or D): Primal(or Dual) objective value
! Weak duality: P<=P* <= D*<=D ! Competitive analysis: P>= (1/)D
! Competitive analysis: P>= (1/)D ! Pi: The primal objective value after
! Di: The dual objective value after dealing
! In order to get P>= (1/)D, we resort to
! In order to guarantee
! Solve for each i, r, s, t to
rs (t)(yi rs(t) − yi−1 rs (t)) − (frs(yi rs(t)) − frs(yi−1 rs (t)))
rs(pi rs(t)) − f ? rs(pi−1 rs (t)))
rs (t)(yi rs(t))
! What are the goals of our online auction
# Truthfulness # Polynomial time complexity # High social welfare ---- competitive ratio
! How to update
rs(δrsyrs(t)),
δrs
rs(Crs)eθrs(yrs(t) Crs
δrs ),
δrs
f(y) y c
$$ y c
c/훿
U
! Google Cluster Data contains information including resource
! We translate each job into a VM bid, requesting R = 3 types of
! Each time slot is 10 seconds, and a bid arrives every [1, 10] time
! Ur =50, Lr =1. hrs~[0.4, 0.6] for CPU, hrs~[0.005, 0.02] for RAM
! The capacity of each type of resource and the number of servers
! We design an online auction to do Cloud resource
! We consider heterogeneous resources dynamically
! We maximize social welfare with server cost which
! We also apply an approach to maximize provider