You are on page 1of 26

Virtual Machine Trading in a Federation of Clouds:

Individual Profit and Social Welfare Maximization


Hongxing Li∗ , Chuan Wu∗ , Zongpeng Li† and Francis C.M. Lau∗
∗ Department of Computer Science, The University of Hong Kong, Hong Kong, Email: {hxli, cwu, fcmlau}@cs.hku.hk
† Department of Computer Science, University of Calgary, Canada, Email: zongpeng@ucalgary.ca

Abstract—By sharing resources among different cloud to enable cloud interoperability and job portability across
providers, the paradigm of federated clouds exploits temporal different cloud platforms ( [1] [2]). However, fundamental
availability of resources and geographical diversity of operational problems on cloud economics remain to be investigated. A
costs for efficient job service. While interoperability issues across
cloud in the real world is selfish, and aims to maximize its
arXiv:1304.6491v1 [cs.NI] 24 Apr 2013

different cloud platforms in a cloud federation have been exten-


sively studied, fundamental questions on cloud economics remain: own profit, i.e., its income from handling jobs and leasing VMs
When and how should a cloud trade resources (e.g., virtual to other clouds subtracting its operational costs and expenses
machines) with others, such that its net profit is maximized over in VM rental from other clouds. Only if its profit can be
the long run, while a close-to-optimal social welfare in the entire maximized and in any case not lower than when operating
federation can also be guaranteed? To answer this question,
a number of important, inter-related decisions, including job alone, can a cloud be incentivized to join a federation. This
scheduling, server provisioning and resource pricing, should calls for an efficient mechanism to carry out resource trading
be dynamically and jointly made, while the long-term profit and scheduling among federated clouds, to achieve profit
optimality is pursued. In this work, we design efficient algorithms maximization for individual clouds, as well as to perform well
for inter-cloud virtual machine (VM) trading and scheduling in social welfare. A number of inter-related, practical decisions
in a cloud federation. For VM transactions among clouds, we
design a double-auction based mechanism that is strategyproof, are involved: (1) VM pricing: what mechanism should be
individual rational, ex-post budget balanced, and efficient to advocated for VM sale and purchase among the clouds, and
execute over time. Closely combined with the auction mechanism at what prices? (2) Job scheduling: with time-varying job
is a dynamic VM trading and scheduling algorithm, which arrivals at each cloud, targeting different resources and SLA
carefully decides the true valuations of VMs in the auction, requirements, should a cloud serve the jobs right away or later,
optimally schedules stochastic job arrivals with different SLAs
onto the VMs, and judiciously turns on and off servers based on to exploit time-varying electricity prices? And should a cloud
the current electricity prices. Through rigorous analysis, we show serve a job using its own resources or others’ resources? (3)
that each individual cloud, by carrying out the dynamic algorithm Server provisioning: is it more beneficial for a cloud to keep
in the online double auction, can achieve a time-averaged profit many of its servers running to serve jobs of its own and from
arbitrarily close to the offline optimum. Asymptotic optimality others, or to turn some of them down to save electricity? These
in social welfare is also achieved under homogeneous cloud
settings. We carry out simulations to verify the effectiveness of decisions should be efficiently and optimally made in an online
our algorithms, and examine the achievable social welfare under fashion, while guaranteeing long-term optimality of individual
heterogeneous cloud settings, as driven by the real-world Google cloud’s profits, as well as the social welfare.
cluster usage traces. In this paper, we design efficient algorithms for inter-cloud
resource trading and scheduling, in a federation consisting of
I. I NTRODUCTION
disparate cloud data centers. A double-auction based mecha-
The emerging federated cloud paradigm advocates sharing nism is proposed for the sell and purchase of available VMs
of disparate cloud services (in separate data centers) from across cloud boundaries over time. The auction is strategy-
different cloud providers, and interconnects them based on proof, individual rational, ex-post budget balanced, and com-
common standards and policies to provide a universal environ- putationally efficient (polynomial time complexity). Closely
ment for cloud computing. Such a cloud federation exploits combined with the auction mechanism is an efficient, dynamic
temporal and spatial availability of resources (e.g., virtual VM trading and scheduling algorithm, which carefully decides
machines) and diversity of operational costs (e.g., electricity the true valuations of VMs to participate in the auction,
prices): when a cloud experiences a burst of incoming jobs, it optimally schedules randomly-arriving jobs with different re-
may resort to VMs from other clouds with idle resources; when source requirements (e.g., number of VMs) and SLAs (e.g.,
the electricity price for running servers and VMs is high at one maximum job scheduling delay) onto different data centers,
cloud data center, the cloud can schedule jobs onto other cloud and judiciously turns on and off servers in the clouds based
data centers with lower electricity charge at the moment. In on the current electricity prices. The dynamic algorithm serves
this way, the aggregate job processing capacity of the cloud as an efficient strategy for each cloud to employ in the online
federation can be potentially higher than the aggregation of double auction, and is proven to maximize individual profit for
capacities of separate clouds operating alone, and the overall each cloud, over the long run of the system. The contributions
profit can be larger. of this work are summarized below.
To implement the federated cloud paradigm, significant First, among the first in the literature, we address selfishness
interest has arisen on developing interfaces and standards of individual clouds in a cloud federation, and design efficient
2

mechanisms to maximize the net profit of each cloud. This B. Resource Trading Mechanisms
profit is not only guaranteed to be larger than that when the A rich body of literature is devoted to resource trading
cloud operates alone, but also maximized over the long run, in in grid computing [7] and wireless spectrum leasing [8] [9].
the presence of time-varying job arrivals and electricity prices Various mechanisms have been studied, e.g., bargaining [7],
at the cloud. fixed or dynamic pricing based on a contract or the supply-
Second, we novelly combine a truthful double auction demand ratio [10], and auctions [8] [9].
mechanism with stochastic Lyapunov optimization techniques, A bargaining mechanism [7] typically has an unacceptable
and design an online VM trading and scheduling algorithm, for complexity by negotiating between each pair of traders. Fixed
a cloud to optimally price the VMs and to judiciously schedule pricing, e.g., Amazon EC2 on-demand instances, has been
the VM and server usages. Each cloud values different VMs shown to be inefficient in social welfare maximization in
based on the back pressure in job queue scheduling, and bids cases of system dynamics [11]. Dynamic pricing, such as
them in the auction for effective VM acquisition. Amazon EC2 spot instances, could be inefficient too, where
Third, we demonstrate that by applying the dynamic algo- the participants can quote the resources untruthfully [12].
rithm in the online double auction, each cloud can achieve Auction stands out as a promising mechanism, on which
a time-averaged profit arbitrarily close to its offline optimum there have been abundant solutions ([8], [9] and references
(obtained if the cloud knows complete information on incom- therein) with truthful design and polynomial complexity. Al-
ing jobs and electricity prices in the entire time span). We also though some recent works [11]–[13] aim to design an auction
prove that the social welfare, i.e., the time-averaged overall mechanism with individual rationality (non-negative profit
profit in the federation, can be asymptotically maximized when gain) for trading in federated clouds, they do not explicitly
the number of clouds grows, under homogenous cloud settings. address individual profit maximization over the long run,
Trace-driven simulations examine the achievable social wel- nor other desirable properties such as truthfulness, ex-post
fare with our dynamic algorithm under heterogenous settings. budget balance, and social welfare maximization. Moreover,
In the rest of the paper, we discuss related literature in little literature on auctions provides methods to quantitatively
Sec. II, present the system model in Sec. III, and introduce calculate the true valuations in each bid, which are simply
the detailed resource trading and scheduling mechanisms in assumed as known. Our design addresses these issues.
Sec. IV. A double auction mechanism is proposed in Sec. V,
and a benchmark social-welfare maximization algorithm is III. S YSTEM M ODEL AND AUCTION F RAMEWORK
discussed in Sec. VI. Theoretical analysis and simulation A. Federation of Clouds
studies are presented in Sec. VII and Sec. VIII, respectively.
Sec. IX concludes the paper. We consider a federation of F clouds, each located at a
different geometric location and operates autonomously to gain
II. R ELATED WORK profit by serving its customers’ job requests, managing server
A. Optimal Scheduling in Cloud Systems provisioning and trading resources with other clouds.
Most existing literature ([3]–[6] and references therein) on Service demands: Each individual cloud i ∈ [1, F ] has
resource scheduling in cloud systems focus on a single cloud a front-end proxy server, which accepts job requests from
that operates alone. A common theme is to minimize the its customers. There are S types of jobs serviced at each
operational costs (mainly consisting of electricity bills) in one cloud, each specified by a three-tuple < ms , gs , ds >. Here,
or multiple data centers of the cloud, while providing certain ms ∈ [1, M ] specifies the type of the required VM instances,
performance guarantee of job scheduling, e.g., in terms of where M is the maximum number of VM types, and each
average job completion times [3]–[6]. type corresponds to a different set of configurations of CPU,
Urgaonkar et al. [5] propose an algorithm with joint job storage and memory; gs is the number of type-ms VMs that
admission control, routing and resource allocation for power the job needs simultaneously (See Amazon EC2 API [10]);
consumption reduction in a virtualized data center. Rao et and ds stands for the SLA (Service Level Agreement) of job
al. [3] advocate minimization of electricity expenses by ex- type s ∈ [1, S], evaluated by the maximal response delay for
ploiting the temporal and spatial diversities of electricity scheduling a job, i.e., the time-span from when the job arrives
prices. Yao et al. [6] minimize the power cost with a two-time to when it starts to run on scheduled VMs. In a cloud in
scale algorithm for delay tolerant workloads. Ren et al. [4] also practice, it is common to buy servers of the same configuration
aim to minimize the energy cost while addressing the fairness and provision the same type of VMs on one machine [14].
in resource allocation. All the above works provide average Therefore, we suppose each cloud i has Nim homogenous
delay guarantees for job services. servers to provision VMs of type m ∈ [1, M ], each of which
Different from these studies on a stand-alone cloud with can provide a maximum of CimPVMs of this type; the total
M
centralized control, this work investigates profit maximization number of servers in cloud i is m=1 Nim .
for individual selfish clouds in a federation, where each par- The system runs in a time-slotted fashion. At the beginning
ticipant makes its own decisions. Besides, bounded scheduling of each time slot t, ris (t) ∈ [0, Ris ] jobs arrive at cloud i, for
delay for each job is guaranteed even in worst cases, contrast- each job type s. Ris is an upper-bound on the number of type-
ing the existing solutions that ensure average delays. s jobs submitted to cloud i in a time slot. The arrival of jobs
3

is an ergodic process at each cloud. We suppose the arrival with properly set ǫs , and hence the maximum response delay
rate is given, and how a customer decides which cloud to use of jobs can be bounded, i.e., constraint (3) is satisfied.
s(max)
is orthogonal to this study. Let psi (t) ∈ [0, pi ] be the Server provisioning: We consider electricity cost, for running
given service charge to the customer by cloud i, for accepting and cooling the servers [16], as the main component of the
a job of type s in time slot t, which remains fixed within a operational cost in a cloud. Other costs, e.g., space rental and
s(max)
time slot, but may vary across time slots. Here, pi is the labour, remain relatively fixed for a long time, and are of less
s
max possible price for pi (t). Such a general charging model interest. Given that electricity prices vary at different locations
subsumes pricing schemes in practice: e.g., time-independent and from time to time [3] [17], we model the operational cost
psi (t) corresponds to the on-demand VM charging scheme, βi (t) in each cloud i as a general ergodic process over time,
while time-varying psi (t) can represent the spot instance prices varying across time slots between βi
(min)
and βi
(max)
.
based on the current demand vs. supply [10]. Each cloud strategically decides the number of active
Job scheduling: Each incoming job to cloud i enters a FIFO servers at each time, to optimize its profit. Let nm i (t) be the
queue of its type — a cloud i maintains a queue to buffer number of active servers provisioning type-m VMs at cloud i
unscheduled jobs of each type s, with Qsi (t) as its length in t. in t. The available server capacities at each cloud i ∈ [1, F ]
When the required VMs of a job are allocated, the job departs constrain the feasible job scheduling at time t:
X X
from its queue and starts to run on the VMs. A cloud may gs µsji (t) ≤ Cim · nm
i (t), ∀m ∈ [1, M ], (5)
schedule its jobs on either its own VMs or VMs leased from j∈[1,F ] s:ms =m,s∈[1,S]
other clouds, for the best economic benefits. Let µsij (t) be nm m
i (t) ≤ Ni , ∀m ∈ [1, M ]. (6)
the number of type-s jobs of cloud i that are scheduled for (5) states that the overall demand for type-m VMs in cloud
processing in cloud j at the beginning of time slot t. i from itself and other clouds should be no larger than the
When a job’s demanded maximum response time (the SLA) maximum number of available type-m VMs on the active
cannot be met, in cases of system overload, it is dropped. servers in cloud i. Here gs µsji (t) is the total number of VMs
A penalty is enforced in this case, to compensate for the needed by type-s jobs scheduled from cloud j to cloud i in
customer’s loss. Let t. Motivated by practical job execution efficiency, we only
s(max)
Dis (t) ∈ [0, Di ] (1) consider scheduling a job to VMs from a single cloud, but
be the number of type-s jobs dropped by cloud i in t, where not VMs across different clouds. (6) ensures that the number
s(max) of active servers is limited by the total number of on-premise
Di is the maximum value of Dis (t). Let ξis be the
penalty to drop one such job, which is at least the maximum servers of the corresponding VM configuration at each cloud.
price charged to customers when accepting the jobs, i.e., B. Inter-cloud VM Trading with Double Auction
s(max)
ξis ≥ pi .
In an inter-cloud resource market, VMs constitute the items
Hence, the number of unscheduled jobs buffered at each
for trading. For each type of VMs, multiple clouds may have
cloud i ∈ [1, F ] can be updated with the following queueing
them on sale while multiple other clouds can request them. A
law: F X double auction is a natural fit to implement efficient trading in
Qsi (t + 1) = max{Qsi (t) − µsij (t) − Dis (t), 0} this case, allowing both selling and buying clouds to actively
j=1
participate in pricing, on behalf of their own benefits. In our
+ ris (t), ∀s ∈ [1, S]. (2) dynamic system, a multi-unit double auction is carried out
Job scheduling should satisfy the following SLA constraint: among the clouds at the beginning of each time slot, deciding
Each type-s job in cloud i is either scheduled or dropped (subject the VM trades within that time slot.
to a penalty) before its maximum response delay ds , ∀s ∈ [1, S]. Buyers & Sellers: A cloud can be both a buyer and a seller.
m m
(3) A buy-bid < bi (t), γi (t) > records the unit price and
We apply the ǫ−persistence queue technique [15], to create maximum quantity at which cloud i is willing to buy VMs of
a virtual queue Zis associated with each job queue Qsi (∀i ∈ type m, in t. Similarly, a sell-bid < sm (t), η m (t) > records the
i i
[1, F ]): unit price and maximum quantity at which cloud i is willing
F
µsij (t)] − Dis (t) to sell VMs of type m in t.
X
Zis (t + 1) = max{Zis (t) + 1{Qsi (t)>0} · [ǫs −
j=1 Let b̃m m
i (t) and s̃i (t) be cloud i’s true valuation of buying
XF
Cjms · Njms and selling a type-m VM respectively (the max/min price it is
− 1{Qsi (t)=0} · , 0}, ∀s ∈ [1, S]. (4) willing to pay/accept). Similarly, let γ̃im (t) and η̃im (t) be cloud
gs
j=1 i’s true valuation of the quantity to buy and sell VMs of type
Here, ǫs > 0 is a constant. 1{Qsi (t)>0} and 1{Qsi (t)=0} are m respectively (the maximum volume of VMs it is willing to
indicator functions such that purchase/sell). A cloud i may strategically manipulate the bid
( (
1 if Qsi (t) > 0 1 if Qsi (t) = 0 prices and volumes, in the hope of maximizing its profit. We
1{Qsi (t)>0} = ; 1{Qsi (t)=0} = .
0 Otherwise 0 Otherwise show in Sec. VII that the double auction proposed in Sec. IV
Length of this virtual queue reflects the cumulated response is truthful, such that each bid price reveals the true valuation.
delay of jobs from the respective job queue. Our algorithm Auctioneer: We assume that there is a broker in the cloud
seeks to bound the lengths of job queues and virtual queues, federation, assuming the role of the auctioneer. After collecting
4

TABLE I TABLE II
N OTATION : INPUT QUANTITIES AND INTERMEDIATE VARIABLES N OTATION : DECISION VARIABLES AT INDIVIDUAL CLOUDS
F # of clouds S # of service types µsij (t) # of type-s jobs scheduled from cloud i to cloud j, slot t
M # of VM types ms VM type of service type s nm i (t) # of active servers providing type-m VMs at cloud i, slot t
ds Max. response delay of gs # of VMs required by ser- Dis (t) # of dropped type-s jobs at cloud i, slot t
service type s vice type s s̃m
i (t) True value of selling one type-m VM from cloud i, slot t
ris (t) # of type-s jobs arrived at cloud i, slot t η̃im (t) True value of volume to sell type-m VMs from cloud i, slot t
Rsi Max. # of type-s jobs arrived at cloud i per slot smi (t) Bid price for selling one type-m VM from cloud i, slot t
psi (t) Service price for each job of type s at cloud i, slot t ηim (t) Max. # of type-m VMs cloud i can sell, slot t
s(max)
pi Max. service price for each type-s job at cloud i per slot b̃m
i (t) True value of buying one type-m VM by cloud i, slot t
βi (t) Cost for operating an active server at cloud i, slot t γ̃im (t) True value of volume to buy type-m VMs by cloud i, slot t
βi
(min)
Min. cost for operating an active server at cloud i per slot bmi (t) Bid price for buying one type-m VM by cloud i, slot t
(max) γim (t) Max. # of type-m VMs cloud i can buy, slot t
βi Max. cost for operating an active server at cloud i per slot
ξis Penalty for dropping a type-s job at cloud i TABLE III
s(max) N OTATION : DECISION VARIABLES AT THE AUCTIONEER
Di Max. # of type-s jobs cloud i drops per slot
ŝm
i (t) Actual price of selling one type-m VM from cloud i, slot t
Cim Max. # of type-m VMs an active server at cloud i provisions
η̂im (t) Actual # of type-m VMs sold from cloud i, slot t
Nim Total # of servers provisioning type-m VMs at cloud i
Qsi (t) Length of queue buffering type-s jobs at cloud i, slot t b̂m
i (t) Actual price of buying one type-m VM by cloud i, slot t
s
Zi (t) Length of virtual queue of type-s jobs at cloud i, slot t γ̂im (t) Actual # of type-m VMs bought by cloud i, slot t
ǫs Constant positive parameter for Zis (t), ∀i ∈ [1, F ] αm ij (t) Actual # of type-m VMs sold from cloud j to i, slot t
s(max) θjm (t) The j th highest buy-bid price for type-m VMs at auctioneer
Qi Maximum length of queue Qsi (t)
s(max) ϑm j (t) The j th lowest sell-bid price for type-m VMs at auctioneer
Zi Maximum length of virtual queue Zis (t)
V User-defined constant positive parameter for dynamic algorithm Lm j (t) Max. # of type-m VMs to sell, in sell-bid with j th lowest price
at auctioneer in t
all the buy and sell bids, the auctioneer executes a double
Revenue: A cloud has two sources of revenue: i) job service
auction to be detailed in Sec. V, to decide the set of successful
charges paid by its customers, and ii) the proceeds from VM
buy and sell bids, their clearing prices and the numbers of
sales. The time-averaged revenue of cloud i ∈ [1, F ] by
VMs to trade in each type. Let b̂m i (t) be the actual charge
undertaking different types of jobs from its customers is
price for cloud i to buy one type-m VM, and γ̂im (t) be the
T −1
actual number of VMs purchased. Similarly, let ŝm i (t) be the Φi1 = lim
1 X X
E{psi (t) · ris (t)}. (10)
actual income cloud i receives for selling one type-m VM, T →∞ T t=0
s∈[1,S]
and η̂im (t) be the actual number of VMs sold. We assume the front-end charges, psi (t), from a cloud to its
Let αm ij (t) be the number of type-m VMs that cloud i ∈ customers, are given. Hence, this part of the revenue is fixed in
[1, F ] purchases from cloud j ∈ [1, F ] in t, as decided by the each time slot. The time-averaged income of cloud i ∈ [1, F ]
auctioneer: from selling VMs to other clouds is:
X
γ̂im (t) = αm
ij (t), ∀m ∈ [1, M ], (7) T −1
1 X X
j∈[1,F ],j6=i Φi2 = lim E{ŝm m
i (t) · η̂i (t)}. (11)
T →∞ T t=0
X m∈[1,M ]
η̂im (t) = αm
ji (t), ∀m ∈ [1, M ]. (8) Cloud i can control this income by adjusting its sell-bids, i.e.,
j∈[1,F ],j6=i
Since VMs are purchased for serving jobs, the job schedul- sm m
i (t) and ηi (t), ∀m ∈ [1, M ], at each time.

ing decisions µsij (t) at each cloud i ∈ [1, F ], are related to the Cost: The cost of cloud i consists of three parts: i) operational
number of VMs it purchases: costs incurred for running its active servers, ii) the penalties for
X
gs ·µsij (t) = αm
dropping jobs, and iii) the expenditure on buying VMs from
ij (t),
s:s∈[1,S],ms =m
other clouds. The time-averaged cost for operating servers at
∀m ∈ [1, M ], ∀i, j ∈ [1, F ], i 6= j. (9) each cloud i ∈ [1, F ] is decided by the number of active
servers in each time, i.e.,
Three economic properties are desirable for the auctioneer’s T −1 M
1 X X
mechanism. (i) Truthfulness: Bidding true valuations is a Ψi1 = lim E{βi (t) · nm
i (t)}. (12)
dominant strategy, and consequently, both bidder strategies T →∞ T t=0 m=1

and auction design are simplified. (ii) Individual Rationality: The time-averaged penalty at each cloud i ∈ [1, F ] is
Each cloud obtains a non-negative profit by participating in determined by the number of dropped jobs over time, i.e.,
the auction. (iii) Ex-post Budget Balance: The auctioneer has Dis (t), ∀s ∈ [1, S], t ∈ [0, T − 1]:
T −1
a non-negative surplus, i.e., the total payment from all winning 1 X X
Ψi2 = lim E{ξis · Dis (t)}. (13)
buy-bids is no less than the total charge for all winning sell- T →∞ T t=0
s∈[1,S]
bids in each time slot. The time-averaged expenditure for VM purchases is decided
C. Individual Selfishness by the actual VM trading prices and numbers, as decided by
the buy-bids (bm m
i (t), γi (t)) from cloud i ∈ [1, F ]:
Each cloud in the federation aims to maximize its time-
T −1 M
averaged profit (revenue minus cost) over the long run of 1 X X
Ψi3 = lim E{ b̂m m
i (t) · γ̂i (t)}. (14)
the system, while striking to fulfill the resource and SLA T →∞ T t=0 m=1
requirements of each job.
5

Profit Maximization: The profit maximization problem at at each cloud during each time slot, the dynamic algorithm can
cloud i ∈ [1, F ] can be formulated as follows: achieve a time-averaged individual profit arbitrarily close to its
max Φi1 + Φi2 − Ψi1 − Ψi2 − Ψi3 (15) offline optimum (computed with complete knowledge in the
s.t. Constraints (1)-(9). entire time span), for each cloud.
D. Social Welfare A. The One-shot Optimization Problem
Social welfare is the overall profit of the cloud federation: Define the set of queues at cloud i in each time slot t as
X Θi (t) = {Qsi (t), Zis (t)|s ∈ [1, S]}.
(Φi1 + Φi2 − Ψi1 − Ψi2 − Ψi3 ). Define the Lyapunov function as follows:
i∈[1,F ] 1 X
Since the income and expenditure due to VM trades among L(Θi (t)) = [(Qsi (t))2 + (Zis (t))2 ].
2
s∈[1,S]
the
P clouds i canceli eachi other, the formula above equals Then the one-slot conditional Lyapunov drift [19] is
i∈[1,F ] (Φ1 − Ψ1 − Ψ2 ). The social welfare maximization ∆(Θi (t)) = L(Θi (t + 1)) − L(Θi (t)).
problem is: X Squaring the queuing laws (2) and (4), we can derive the
max (Φi1 − Ψi1 − Ψi2 ) (16) following inequalityX
(details can be found in Appendix A):
i∈[1,F ]
∆(Θi (t)) − V · [ [ŝm m m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)]
s.t. Constraints (1)-(6), ∀i ∈ [1, F ] m∈[1,M ]
which globally optimizes server provisioning and job schedul-
X
+ [psi (t) · ris (t) − Dis (t)ξis ]]
ing in the federation and maximally serves all the incoming s∈[1,S]
jobs at the minimum cost, regardless of the specific inter-cloud X
≤Bi + [Qsi (t)ris (t) + Zis (t)ǫs − V psi (t) · ris (t)]
VM trading mechanism. s∈[1,S]
When a double auction mechanism is truthful, individual ra-
− ϕi1 (t) − ϕi2 (t) − ϕi3 (t), (17)
tional and ex-post budget balancing, it is shown that efficiency
in terms of social welfare maximization cannot be achieved where V > 0 is a user-defined positive parameter for
concurrently [18]. We hence make a necessary compromise in gauging the optimality of time-averaged profit, Bi =
PF s(max) 2
1
C ms N ms /gs + Di ) + (Ris )2 + (ǫs )2
P
social welfare in our auction design, i.e., the sum of maximal s∈[1,S] [( +
2
s(max) PFj=1 jms jms
individual profits derived by (15) will be smaller than the (Di + j=1 Cj Nj /gs )2 ] is a constant, and
i
X
optimal social welfare from (16). Nevertheless, we will show ϕ1 (t) = V [ŝm m m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)],
in Sec. VII and Sec. VIII that our mechanisms still manages m∈[1,M ]
X X
to achieve a satisfactory social welfare in the long run. ϕi2 (t) = µsij (t)[Qsi (t) + Zis (t)],
Tables I, II and III summarize important notation in the s=∈[1,S] j∈[1,F ]
X
paper, for ease of reference. ϕi3 (t) = Dis (t)[Qsi (t) + Zis (t) − V · ξis ].
s∈[1,S]
IV. DYNAMIC INDIVIDUAL - PROFIT MAXIMIZATION Based on the drift-plus-penalty framework [19], a dynamic
ALGORITHM algorithm can be derived for each cloud i, which observes the
We next present a dynamic algorithm for each cloud to job and virtual queues (Θi (t)), job arrival rates (ris (t), ∀s ∈
trade VMs and scheduling jobs/servers, which is in fact [1, S]), the current cost for server operation (βi (t)) in each time
applicable under any truthful, individual-rational and ex-post slot, and minimizes the RHS of the inequality (17), such that a
budget balanced double auction mechanism. We will also tailor lower bound forPtime-averaged profit of cloud i is maximized.
a double auction mechanism on the auctioneer in the next Note that Bi + s∈[1,S] [Qsi (t)ris (t)+ Zis (t)ǫs − V psi (t)·ris (t)]
section. Fig. 1 illustrates the relation among these algorithm in the RHS of (17) is fixed in time slot t. Hence, to maximize
modules. a lower bound of the time-averaged profit for cloud i, the
dynamic algorithm should solve the one-shot optimization
problem in each time slot t as follows:
max ϕi1 (t) + ϕi2 (t) + ϕi3 (t) (18)
s.t. Constraints (1), (5)-(9).
The maximization problem in (18) can be decoupled into
two independent optimization problems:
Fig. 1. Key algorithm modules. max ϕi1 (t) + ϕi2 (t) s.t. Constraints (5)-(9), (19)

The goal of the dynamic algorithm at each cloud i is to max- which is related to optimal decisions on i) buy/sell bids for
imize its time-averaged profit, i.e., to solve optimization (15), different types of VMs, and ii) scheduling of active servers
by dynamically making decisions in each time slot. We apply and jobs to these servers; and
the drift-plus-penalty framework in Lyapunov optimization max ϕi3 (t) s.t. Constraint (1), (20)
theory [19], and derive a one-shot optimization problem to be which is related to optimal decisions on iii) jobs to drop.
solved by cloud i in each time slot t as follows. We will prove In the following, we design algorithms to derive the optimal
in Sec. VII that by optimally solving the one-shot optimization decisions based on problem (19) and problem (20).
6

B. VM Valuation and Bid the cumulated response delay; (ii) the number of concurrent
Optimization problem (19) is related to the actual charges VMs each type-s′ job requires, gs′ , which decides the job-
that cloud i pays for each type of VMs purchased, b̂m scheduling difficulty.
i (t) and
ŝm The intuition behind (21) and (22) includes: (i) the true
i (t) (∀m ∈ [1, M ]), and the actual numbers of traded VMs,
γ̂im (t) and η̂im (t) (∀m ∈ [1, M ]), from the double auction. value of the price to buy a type-m VM depends on the
These values are determined by the auctioneer according to combined effect of urgency and difficulty for scheduling jobs
buy-bids (bm m m m requiring this type of VMs, and is computed based on the
i (t), γi (t)) and sell-bids (si (t), ηi (t)) submit-
ted by all clouds, and its double auction mechanism. That maximum weight that any type of jobs requiring type-m VMs
is, each cloud i first proposes its buy-bids and sell-bids to may achieve; (ii) the true value of the price to sell one type-m
the auctioneer, and then receives the auction results, based on VM from cloud i is the same as that of the price to buy, if
which the job scheduling and server provisioning decisions are the latter exceeds the current cost of operating a type-m VM
made. We first investigate how each cloud proposes its buy- in the cloud; otherwise, it is set to the operational cost.
bids and sell-bids, and then decide optimal job scheduling and The true values of the number of type-m VMs to buy and
server provisioning in Sec. IV-C. to sell at cloud i are
X
A truthful double auction is employed at the auctioneer, γ̃im (t) = Cim · Nim , (25)
where sellers and buyers bid their true values of the prices j∈[1,F ]
and η̃im (t) = Cim · Nim , (26)
and quantities, in order to maximize their individual utilities.
(19) is the utility maximization problem for each cloud. If we respectively. They state that the maximum number of type-
can find true values of each cloud i, b̃m m m
i (t), γ̃i (t), s̃i (t) and
m VMs cloud i is willing to buy (sell) at the price in (21)
m (in (22)), is the number of all potential type-m VMs in the
η̃i (t), and let the cloud bid using these values, the achieved
utility in (19) is guaranteed to be the largest, as compared to federation. The rationale is as follows: The clearing price for
bidding any other values. transactions of type-m VMs in the double auction is at most
We decide the true values of the bids for each cloud i, the buyer’s true value in (21) and at least the seller’s true value
according to their definitions in double auctions [8] [9]. The in (22), if the corresponding buy/sell bids are successful. By
true value of the price to buy (sell) a type-m VM, b̃m i (t)
definition of the true value, if the actual charge per VM is
(s̃m
i (t)), is such a value that, if a VM is purchased (sold) at a
lower (higher) than the true value, a profit gain happens at the
price (i) equal to this value, then cloud i’s profit remains the buyer (seller), and the more VMs purchased (sold), the larger
same, compared to not obtaining the VM; (ii) higher than this the profit gain. Therefore, a cloud is willing to buy or sell at
value, a profit loss (gain) at cloud i occurs; and (iii) lower than the largest quantity possible, for profit maximization.1
this value, a profit gain (loss) results. In a multi-unit double To conclude, in each time slot t, cloud i submits its bids as
auction, the true value of the maximum number of type-m bm m m m m m m
i (t) = b̃i (t), si (t) = s̃i (t), γi (t) = γ̃i (t) and ηi (t) =
m
VMs cloud i can buy (sell), γ̃im (t) (η̃im (t)), is the maximum η̃i (t), for each type of VMs m ∈ [1, M ].
number of type-m VMs the cloud is willing to buy (sell) at C. Server Provisioning, Job scheduling and Dropping
the true value of the price, i.e., b̃m m
i (t) (s̃i (t)).
Using the above rationale and based on problem (19), the After receiving results of the double auction (actual charges
true values of the buy/sell prices for cloud i can be derived as b̂m m
i (t), ŝi (t), ∀m ∈ [1, M ], and the actual numbers of traded

(detailed derivation steps ares∗given insAppendix B) VMs γ̂i (t), η̂im (t), ∀m ∈ [1, M ], αm
m
ji (t), ∀s ∈ [1, S], ∀j ∈
s

Qi m (t) + Zi m (t) [1, F ]), cloud i schedules its jobs on its local servers and
b̃m
i (t) = , (21) (potentially) purchased VMs from other clouds, decides job
V · gs∗m
and drops and the number of active servers to provision, by solving
 s∗ ∗ s∗ s∗
 Qi m (t)+Zism (t) Qi m (t)+Zi m (t) optimization problems (19) and (20).
if > βi (t)/Cim 1) Server provisioning: We start with deriving nm
s̃m
i (t) = V ·gs∗
m
V ·gs∗
m , i (t),
βi (t)/Cim Otherwise ∀m ∈ [1, M ], by assuming known values of ŝm (t), η̂ m
i (t),

i
(22) b̂m (t), γ̂ m
(t), αm
(t) and µ s
(t) (we will present the value of
respectively, where i i ij ij
′ nm i (t) in terms of these variables). In this case, problem (19)
s∗m = arg max {Wis (t)}, (23) is equivalent to the following minimization problem:
s′ ∈[1,S],ms′ =m
′ ′
X
′ Qsi (t) + Zis (t) min V βi (t) nm
i (t)
and Wis (t) = . (24)

gs′ m∈[1,M ]

Here, Wis (t) denotes the weight for scheduling one type-s′ s.t. Constraint (5), (6) and (9).
job (to run on type-ms′ VM(s)) by cloud i in t, and s∗m
1 It may appear counter-intuitive that a cloud is willing to buy all type-
specifies the job type with the largest weight (ties broken
m VMs in the federation, P regardless of its number of unscheduled jobs
arbitrarily), among all types of jobs requiring type-m VMs. requiring type-m VMs, i.e., s∈[1,S],ms =m Qsi (t). Interestingly, our proof

Wis (t) is determined by the following factors: (i) the sum in Sec. VII shows that bidding so in each time slot can achieve a time-
′ ′
of queue backlogs, Qsi (t) + Zis (t), representing the level averaged profit over the long run that approximates the offline optimum,
′ and our simulation in Sec. VIII shows that it performs better as compared
of urgency for scheduling type-s′ jobs in t, since Qsi (t) is to a bidding strategy that asks for the exact number of VMs to serve the
′ s′
the number of unscheduled type-s jobs and Zi (t) reflects unscheduled jobs.
7

Since V βi (t) ≥ 0, the best strategy is to assign the minimal


3) Job dropping: Problem (20) is a maximum-weight prob-
feasible value to nm
i (t), ∀m ∈ [1, M ], that satisfies constraints lem with weight Qsi (t) + Zis (t) − V · ξis for job-dropping
(5) and (9), which can be combined into
X X decision variable Dis (t), ∀s ∈ [1, S], in the objective function.
µsii (t) · gs + αm m m
ji (t) ≤ Ci ni (t). If the weight Qsi (t) + Zis (t) − V · ξis > 0 (i.e., if the
s∈[1,S],ms =m j6=i
Hence, the optimal number of activated servers at cloud i to level of urgency for scheduling type-s jobs Qsi (t) + Zis (t)
provision type-m VM can be calculated as exceeds the weighted job-drop penalty V · ξis ), type-s jobs
X X in queue Qsi should be dropped at the maximum rate, i.e.,
nm
i (t) = ( µsii (t) · gs + αm m
ji (t))/Ci . (27) s(max)
s∈[1,S],ms =m j6=i
Dis (t) = Di , in order to maximize the objective function
These many servers can provide enough type-m VMs for value; otherwise, there is no drop, i.e., Dis (t) = 0. Therefore,
serving local jobs and selling to other clouds. the optimal number of type-s jobs dropped by cloud i in t is
2) Job scheduling: We now derive µsij (t), ∀j ∈ [1, F ], (
s(max)
Di if Qsi (t) + Zis (t) > V · ξis
s ∈ [1, S], by assuming known values of ŝm m m
i (t), η̂i (t), b̂i (t),
Dis (t) = . (30)
m m m 0 Otherwise
γ̂i (t) and αij (t), with ni (t) given in Eqn. (27). Problem
(19) is equivalent to the following maximization problem: In the above results, we note that the derived job scheduling
max
X X
µsij (t)[Qsi (t) + Zis (t)]
and drop numbers do not need to be bounded by the number
s∈[1,S] j∈[1,F ]
of unscheduled jobs in the corresponding job queue, i.e.,
X gs µsij (t) and Dis (t) are not required to be bounded by Qsi (t)
− V βi µsii (t) ·
Cim according to Eqn. (2). Nevertheless, the actual number of
s∈[1,S],ms =m
jobs to schedule/drop when running the algorithm, is upper
s.t. Constraint (5), (6) and (9).
bounded by the length of the job queue.
This is a maximum-weight scheduling problem, with
Qsi (t)+Zis (t) as the per-job scheduling weight for each µsij (t) D. The Dynamic Algorithm
(j 6= i) and Qsi (t)+ Zis (t)− V βCi (t)g
m
s
as the per-job scheduling
s
i Alg. 1 summarizes the dynamic algorithm for each cloud
weight for each µii (t). There are two cases:
to carry out in each time slot, in order to maximize its time-
⊲ j = i: In this case, by combining constraints (5), (6) and averaged profit over the long run.
(9), we have
X X Algorithm 1 Dynamic Profit Maximization Algorithm at cloud
gs µsii (t) ≤ Cim Nim − αm
ji (t).
s:ms =m,s∈[1,S] j6=i
i in Time Slot t
Based on the above maximum-weight problem, we know Input: ris (t), Qsi (t), Zis (t), gs , ms , ξis , Cim , Nim and βi (t), ∀s ∈
that the best strategy is to assign [1, S].
Pall themsremaining type-ms Output: bm m m m s s
i (t), si (t), γi (t), ηi (t), Di (t), µij (t) and ni (t),
m
VMs in cloud i, Cims nm i
s
(t) − j6=i αji (t) (the maximum ∀m ∈ [1, M ], s ∈ [1, S], j ∈ [1, F ].
number of on-premise type-ms VMs minus those sold to other 1: VM valuation and bid: Decide bm m m m
i (t), si (t), γi (t) and ηi (t)
clouds), to serve its own jobs of service type s∗ms with the with Eqn. (21)-(26);
Qs (t)+Z s (t)
largest per-VM scheduling weight i gs i − VCβmi (t) s if it is 2: Server provisioning, job scheduling and dropping: Decide
Qs (t)+Z s (t)
i
Qs (t)+Z s (t) µsij (t), Dis (t) and nmi (t) with Eqn. (29), (28), (30) and (27);
positive (equivalently, the largest i gs i if i gs i > 3: Update Qsi (t) and Zis (t) with Eqn. (2) and (4).
V βi (t)
Cims
), among all job types requiring type-ms VMs. Other-
wise, cloud i does not serve any jobs using its own servers We analyze the computation and communication complex-
in t. Hence, we derive the optimal number of cloud i’s type-s ities of Alg. 1 as follows.
jobs scheduled to run on the cloud’s local servers as Computation complexity: We study the computation com-
P
 C ms ·N ms − ms
i i j6=i αji (t) Qs (t)+Z s (t)
if i ·gs i > V βi (t) plexity for each algorithm module respectively.
 m
 gs Ci s
µsii (t) = and s = s∗ms . ⊲ VM valuation and bid: The algorithm should first calculate
the value of s∗m for each VM type m ∈ [1, M ] with Eqn. (23)

0

Otherwise ′
(28) by comparing the weights Wis (t) among different types of
⊲ j 6= i: µsij (t) can be directly derived by αm
ij (t), which is
s
jobs. In fact, the weight for each job type s ∈ [1, S] is only
the number of type-ms VMs cloud i purchased from cloud j evaluated once since it is only involved in the calculation of
(constraint (5) is satisfied by our server provisioning decision s∗m where m = ms . Hence, the computation overhead to find
in Eqn. (27), and constraint (6) is met by Eqn. (28) and s∗m , ∀m ∈ [1, M ], is O(S). Based on the value of s∗m , the
(27)), based on constraint (9). Similar to the previous case, we buy/sell bids of type-m VMs can be decided by Eqn. (21)-
know that the best strategy is to assign all the type-ms VMs (26) in constant time. For all M VM types, the computation
purchased, αm ij (t), to serve jobs of service
s
type s∗ms with the overhead is O(M ). Hence, the overall computation complexity
s s
Q (t)+Z (t)
largest per-VM scheduling weight i gs i , as defined in for this algorithm module is O(S + M ).
Eqn. (23) and (24). Hence, we derive the optimal solution to ⊲ Server provisioning, job scheduling and dropping: With
the number of type-s jobs ( to run at cloud j(6= i) as s∗m , ∀m ∈ [1, M ], calculated in the above algorithm module,
αmij (t)/gs
s
if s = s∗ms we can directly know the value of s∗ms , ∀s ∈ [1, S]. Then,
µsij (t) = . (29)
0 Otherwise the job scheduling decision µsij (t) for job type s can be made
8

in constant time based on Eqn. (29) and (28). For all S job If there are at least two sell-bids ϑm m
1 (t) and ϑ2 (t) no higher
types, the computation overhead is O(S). than the second largest buy price θ2m (t), the highest buy-bid
th
The server provisioning decisions can be found in constant θ1m (t) wins, and the sell-bids with the lowest to the (j ′ − 1)
m m ′
time based on the job scheduling decisions and the auction lowest sell prices (ϑj (t) ≤ ϑj ′ (t), not including j ) win.
results, according to Eqn. (27) for type-m VMs. For all M Otherwise, no buy/sell bid wins.
VM types, the computation overhead is O(M ). 2. Pricing and Allocation: It is a NP-hard problem to clear
Job dropping is also decided in constant time for type-s the double auction market with discriminatory prices [20]. We
jobs based on Eqn. (30). For all S job types, the computation apply a uniform clearing price to winning buy/sell bids of
complexity is O(S). type-m VMs, as follows.
⊲ Queue update: For each job type s, the job queue Qsi (t) and ⊲ The price charged to(each buyer cloud i of type-m VMs is
virtual queue Zis (t) can be updated in constant time based on θ2m (t) if bid bm
i (t) wins,
b̂m
i (t) = (32)
Eqn. (2) and (4). Hence, for all S job types, the computation 0 otherwise.
overhead is O(S). ⊲ The price paid to each
( seller cloud i of type-m VMs is
In summary, the computation complexity of Alg. 1 is O(S + ϑm m
j ′ (t) if bid si (t) wins,
ŝm
i (t) = (33)
M ). 0 otherwise.
Communication complexity: The input to Alg. 1 is mostly ⊲ The number of type-m VMs bought by cloud i is
( Pj ′ −1
derived from local information. There is no direct information Lm
j (t) if bid bm
i (t) wins,
γ̂im (t) = j=1 (34)
exchange among individual clouds. The only communication 0 otherwise.
overhead is incurred when a cloud sends its VM bids to the ⊲ The number of type-m
( VMs sold by cloud i is
auctioneer and receives the auction results for each VM type. ηim (t) if bid sm
i (t) wins,
η̂im (t) = (35)
Since there are M VM types, the communication complexity 0 otherwise.
is O(M ) for each cloud. ⊲ The number of type-m VMs sold from cloud j to cloud i is
(
ηjm (t) if bids bm m
i (t) and sj (t) win,
V. D OUBLE AUCTION M ECHANISM αm
ij (t) = (36)
0 otherwise.
We next design a double auction mechanism for inter-cloud For example, consider a federation of 4 clouds with buy
VM trading, which not only is truthful, individual rational and and sell prices bid in Table IV, each seeking to buy/sell one
ex-post budget balanced, but also can enable satisfactory social VM. Clouds 2 and 3 bid the two largest buy prices $20 and
welfare (Theorems 2-4 and 8, Sec. VII). $15, which are higher than sell prices from clouds 1 and 4.
The true values of buy and sell bids at each participating Hence the buyer cloud 2 and the seller cloud 4 win, while the
cloud (Eqn. (21)-(26)) are not related to the detailed auction clearing buy and sell prices are $15 and $13, respectively.
mechanism. The true values of the maximum numbers of VMs TABLE IV
a cloud is willing to trade (γ̂im (t) and η̂im (t) in (25) and D OUBLE AUCTION BIDS : AN ILLUSTRATIVE EXAMPLE
(26)) are time-independent constants determined by system Cloud 1 Cloud 2 Cloud 3 Cloud 4
parameters Cim and Nim . These parameters, and thus γ̂im (t) Buy-bid $10 $20 $15 $8
Sell-bid $13 $22 $16 $9
and η̂im (t), are easily known to other clouds, and hence it
is not meaningful for a buyer/seller to bid otherwise. We VI. DYNAMIC S OCIAL -W ELFARE M AXIMIZATION
correspondingly design a double auction where γim (t) in each A LGORITHM : A B ENCHMARK
buy-bid is fixed to the value in (25) and ηim (t) in each sell-bid We also present a dynamic algorithm that maximizes the
is always the value in (26), while the buy/sell prices, bm i (t)’s time-averaged social welfare in the federation (optimization
and sm i (t)’s, can be decided by the respective buyers/sellers. problem (16)), and its derivation steps based on the Lyapunov
The following mechanism is carried out by the auctioneer at optimization framework. This algorithm is used as a bench-
the beginning of each time slot t, to decide the actual trading mark to examine the efficiency of Alg. 1 in social welfare.
price and number for each type of VMs m ∈ [1, M ].
1. Winner Determination: The auctioneer sorts all received A. Derivation Details
buy-bids for type-m VMs in descending order in the buy Similar to the derivation of Alg. 1, we first derive a one-shot
prices. Let θjm (t) be the j th highest. Two buy-bids with the optimization problem (40) for the federation to solve based on
largest and second largest prices, θ1m (t), θ2m (t), are identified the drift-plus-penalty framework of Lyapunov optimization,
(ties broken arbitrarily). The sell-bids for type-m VMs are and then derive the dynamic benchmark algorithm to solve
sorted in ascending order in the sell prices. Let ϑm j (t) be the
it optimally in each time slot.
j th lowest, with Lm j (t) as the corresponding maximum num- In each time slot t, define the set of queues Θ(t) in the
ber of VMs to sell, such that ϑm 1 (t) ≤ ϑm
2 (t) ≤ . . . ≤ ϑm
N (t).
federation as
Let j ′ be the critical index in the sorted sequence of sell-bids, Θ(t) = {Qsi (t), Zis (t)|i ∈ [1, F ], s ∈ [1, S]}.
such that ϑm m
j ′ (t) is the largest sell price not exceeding θ2 (t), Define the Lyapunov function as follows:
i.e., 1 X X
L(Θ(t)) = [(Qsi (t))2 + (Zis (t))2 ].
ϑm θ2m (t), ϑm θ2m (t). 2
j ′ (t) ≤ and j ′ +1 (t) > (31) i∈[1,F ] s∈[1,S]
9

Then the one-slot conditional Lyapunov drift is


∆(Θ(t)) = L(Θ(t + 1)) − L(Θ(t)). X X
min V βi (t) nm
i (t)
Squaring the queuing laws Eqn. (2) and (4), we can derive i∈[1,F ] m∈[1,M ]
the following inequality
X (details
X can be found inX Appendix C) s.t. Constraint (5) - (6), ∀i ∈ [1, F ].
∆(Θ(t)) + V · [ [βi (t)nm
i (t)] + Dis (t)ξis
i∈[1,F ] m∈[1,M ] s∈[1,S]
Since V βi (t) ≥ 0, the best strategy is to assign the minimal
X feasible value to nmi (t), for each VM type m at each cloud
− psi (t)ris (t)]
i, that satisfies constraints (5) and (6). Hence, the optimal
s∈[1,S]
X X number of activated servers at cloud i to provision type-m
≤B + [Qsi (t)ris (t) + Zis (t)ǫs − V psi (t)ris (t)] VM is
i∈[1,F ] s∈[1,S] X X
− ϕ1 (t) − ϕ2 (t), (37) nm
i (t) = [ µsji (t) · gs ]/Cim . (43)
j∈[1,F ] s∈[1,S],ms =m
where V > 0 is a user-defined positive parameter for
2) Job scheduling: We next derive µsij (t), ∀i ∈ [1, F ], j ∈
gauging the optimality
P of the time-averaged social wel-
[1, F ], s ∈ [1, S], with nm
i (t) given in Eqn. (43). Problem (41)
fare, B = i∈[1,F ] Bi is a constant with Bi =
1
P PF ms ms s(max) 2 s 2 2
is equivalent to the following maximization problem:
s∈[1,S] [[ C
j=1 j N j /g s + D i ] + [Ri ] + [ǫ s +
] gs
2
PF
X X X
s(max) ms ms 2 max µsij (t) · [Qsi (t) + Zis (t) − V βj · ]
[Di + j=1 Cj Nj /gs ] ], and Cjms
X X X i∈[1,F ] s∈[1,S] j∈[1,F ]
ϕ1 (t) = [ [Qsi (t) + Zis (t)] · µsij (t) s.t. Constraint (5) - (6), ∀i ∈ [1, F ].
i∈[1,F ] s∈[1,S] j∈[1,F ]
X This is a maximum-weight scheduling problem, with
− V βi (t) nm
i (t)], (38) V β (t)g
Qi (t) + Zis (t) − Cjms s as the per-job scheduling weight
s
m∈[1,M ] j
X X for each µsij (t). Combining constraints (5) and (6), we have
ϕ2 (t) = Dis (t)[Qsi (t) + Zis (t) − V · ξis ]. (39) X X
i∈[1,F ] s∈[1,S] gs µsij (t) ≤ Cjm Njm , ∀j ∈ [1, F ].
Based on the drift-plus-penalty framework [19], a dynamic i∈[1,F ] s:ms =m,s∈[1,S]
algorithm can be derived for the federation to observe job The best strategy is to assign all the type-m VMs in cloud j
and virtual queues Θ(t), job arrival rates (ris (t), ∀i ∈ at the number of Cjm Njm to serve jobs of type śm of cloud ím
[1, F ], s ∈ [1, S]), the current cost for server operation Qs (t)+Z s (t)
with the maximum per-VM scheduling weight i gs i −
(βi (t), ∀i ∈ [1, F ]) in each time slot, and minimizes the V βj (t) Qsi (t)+Zis (t)
Cjms
if it is positive (equivalently, the largest gs
RHS of the inequality (37), such that a lower bound for
Qsi (t)+Zis (t)
the time-averaged as defined in Eqn. (24) and (23) in Sec. IV if >
P P social welfare is maximized. Note that gs
B + i∈[1,F ] s∈[1,S] [Qsi (t)ris (t) + Zis (t)ǫs − V psi (t)ris (t)] V βj (t)
),
among all job types from all clouds requiring type-
Cjms
in the RHS of (37) is fixed in time slot t. Hence, to maximize m VMs. Hence, the optimal solution to the number of type-s
a lower bound of the time-averaged social welfare for the jobs of cloud i to run at cloud j is
federation, the dynamic algorithm should solve the one-shot Qs s
i (t)+Zi (t)
 V βi (t)
ms ms
optimization problem in each time slot t as follows: Cj · Nj /gs
 if gs
> m
Ci s
max ϕ1 (t) + ϕ2 (t) (40) µsij (t) = and < i, s >=< ím , śm >, (44)

0 Otherwise,

s.t. Constraints (1), (5)-(6), ∀i ∈ [1, F ].
The maximization problem in (40) can be decoupled into where
two independent optimization problems: < ím , śm >= arg max {Wis (t)}, (45)
i∈[1,F ],s∈[1,S],ms =m
max ϕ1 (t) s.t. Constraint (5)-(6), ∀i ∈ [1, F ], (41)
and Wis (t) is the weight defined in Eqn. (24).
which is related to decisions on job scheduling and server
3) Job dropping: Problem (42) is a maximum-weight prob-
provisioning, and
lem with weight Qsi (t) + Zis (t) − V · ξis for job-dropping
max ϕ2 (t) s.t. Constraint (1), ∀i ∈ [1, F ], (42)
decision Dis (t) in the objective function. If Qsi (t) + Zis (t) −
which is related to decisions on job dropping. We note that V · ξis > 0, type-s jobs at cloud i should be dropped at the
to maximize social welfare, the decisions that the federation maximum rate; otherwise, there is no drop. Hence, the optimal
needs to make are not related to any inter-cloud VM trading number of type-s jobs dropped by cloud i in t is
mechanism, since the income and expenditure due to VM (
(max)
trades among the clouds have canceled each other when Ds if Qsi (t) + Zis (t) > V · ξis
Dis (t) = (46)
calculating the social welfare. We next solve problem (41) 0 Otherwise.
and problem (42) to derive the optimal decisions.
1) Server provisioning: We start with solving nm B. The Dynamic Benchmark Algorithm
i (t), ∀m ∈
[1, M ], i ∈ [1, F ], by assuming known values of job schedul- Alg. 2 summarizes the dynamic algorithm for the federation
ing decisions µsij (t)’s, and present the value of the former in to carry out (e.g., on a centralized controller) in each time slot,
terms of the latter. In this case, problem (41) is equivalent to in order to maximize its time-averaged social welfare over the
the following minimization problem: long run.
10

Algorithm 2 Dynamic Social Welfare Maximization Algo- This lemma can be proved by analyzing the job drop
rithm in Time Slot t decision in (30) and the queue updates in (2)(4). The condition
Input: ris (t), Qsi (t), Zis (t), gs , ms , ξis , Cim , Nim and βi (t), ∀i ∈ Di
s(max)
≥ max{Ris , ǫs } ensures that, when the queue lengths
[1, F ], s ∈ [1, S].
Output: Dis (t), µsij (t) and nm grow to satisfy the job drop condition, any further increase
i (t), ∀i ∈ [1, F ], m ∈ [1, M ], s ∈
[1, S]. on the queues, e.g., Ris and ǫs , can be balanced by dropping
s(max)
1: Job scheduling and server provisioning: Decide µsij (t) and enough number of jobs at the rate of Di . Detailed proof
nmi (t) with Eqn. (44) and (43); is included in Appendix G.
2: Job dropping: Decide Dis (t) with Eqn. (46);
3: Update Qsi (t) and Zis (t) with Eqn. (2) and (4).
Theorem 5 (SLA Guarantee): Each job of type s ∈ [1, S] is
either scheduled or dropped with Alg. 1 before its maximum
s(max) s(max)
Q +Zi
VII. P ERFORMANCE A NALYSIS response delay ds , if we set ǫs = i ds .
We next analyze the performance guarantee provided by This theorem can be proved based on Lemma 1 and the
our dynamic individual-profit maximization algorithm and the ǫ-persistence queue techniques [15]. The condition on ǫs is
double auction mechanism. to ensure that the queue lengths can grow to satisfy the job
drop condition, i.e., Qsi + Zis (t) > V ξis , if some jobs remain
A. Properties of the Double Auction Mechanism unscheduled in the last ds slots. Note that a cloud only drops
Theorem 1 (True Valuation): The VM valuations on buy- jobs strategically, to balance the loss due to the job drop
bids, i.e., Eqn. (21) and (25), and sell-bids, i.e., Eqn. (22) and penalties and the gain in saving VMs for other jobs. For more
(26), are true values. details, please refer to Appendix H.
This theorem is proved based on the definition of the true
C. Optimality of Individual Profit and Social Welfare
values and the optimization problem (18) solved in each time
slot by each cloud in Appendix B. Theorem 6 (Individual Profit Optimality): Let Ω∗i be the
Theorem 2 (Truthfulness): Bidding truthfully is the domi- offline optimum of time-averaged profit of cloud i ∈ [1, F ],
nant strategy of each cloud in the double auction in Sec. V, obtained in a truthful, individual-rational, ex-post budget-
i.e., no cloud can achieve a higher profit in (18) by bidding balanced double auction, with complete information on its own
with values other than its true values of the buy and sell bids, job arrivals and prices in the entire time span [0, T − 1]. The
in Eqn. (21)(25)(22)(26). dynamic Algorithm 1 can achieve a time-averaged profit Ωi
for cloud i within a constant gap Bi /V to Ω∗i , i.e.,
We prove this theorem by contradiction and show that, in
all cases, no cloud can do better with problem (18) by bidding Ωi ≥ Ω∗i − Bi /V,
untruthfully. Details are in Appendix D. where V > 0 and Bi = 21 s∈[1,S] [[ Fj=1 Cjms Njms /gs +
P P

Theorem 3 (Individual Rationality): No winning s(max) 2 s(max)


] + [Ris ]2 + [ǫs ]2 + [Di + F ms ms 2
P
Di j=1 Cj Nj /gs ] ] is
buyer pays more than its buy-bid price, and no a constant.
winning seller is paid less than its sell-bid price, i.e., The proof to this theorem is rooted in the Lyapunov op-
b̂m m m m
i (t) ≤ bi (t) and ŝi (t) ≥ si (t), ∀i ∈ [1, F ], m ∈ [1, M ]. timization theory [19]. The gap Bi /V can be close to zero
This theorem can be proved based on the winner determi- by fixing ǫs and increasing V . Detailed proof is included in
nation and pricing schemes in our auction mechanism, with Appendix I.
details in Appendix E. Given that the buy-bid (sell-bid) price
Theorem 7 (Social Welfare Optimality of Alg. 2): Let Π∗
is the true value of the buyer (seller), this theorem implies that be the offline optimum of the time-averaged social welfare in
a cloud can receive a non-negative profit gain, if it successfully (16), obtained with full information of the federation over the
sells or buys VMs. Hence, a cloud’s profit obtained in a entire time span [0, T − 1]. The time-averaged social welfare
federation with potential VM trades with others, is always no achieved by all clouds by running Alg. 2, approaches the
lower than that obtained when operating alone. offline-optimal social welfare Π∗ , by a constant gap B/V ,
Theorem 4 (Ex-post Budget Balance): At the auctioneer, i.e.,
the total payment collected from the buyers is no smaller than
the overall price paid to the sellers, i.e., Π ≥ Π∗ − B/V,
P
X
[b̂m m m m where V > 0 and B = i∈[1,F ] Bi . Bi is defined in Theorem
i (t) · γ̂i (t) − ŝi (t) · η̂i (t)] ≥ 0, ∀m ∈ [1, M ].
i∈[1,F ]
6, ∀i ∈ [1, F ].
This theorem is proved based on Eqn. (31) - (33), with The proof to this theorem is also based on the Lyapunov
details in Appendix F. optimization theory [19]. The gap B/V can be close to zero
by fixing ǫs and increasing V . Detailed proof is included in
B. SLA Guarantee Appendix J.
s(max) s(max)
Lemma 1: Let Qi = V ξis +Ris and Zi = V ξis + Theorem 8 (Asymptotic Optimality in Social Welfare of Alg. 1):
s(max)
ǫs . If Di ≥ max{Ri , ǫs }, each job queue Qsi (t) and
s
Let Π∗ be the offline optimum of the time-averaged social
s(max)
each virtual queue Zis (t) are upper-bounded by Qi and welfare in (16), obtained with full information of the
s(max)
Zi , respectively, in t ∈ [0, T − 1], ∀i ∈ [1, F ], s ∈ [1, S]. federation over the entire time span [0, T − 1]. Suppose all
11

clouds are homogenous, i.e., with the same number of servers it if the next time slot is the deadline for scheduling, or the
(Nim ) and the same maximum per-server VM provisioning charged price upon its arrival otherwise. The true values of
(Cim ) for each VM type m, with i.i.d. service prices, job buy/sell prices for a type-m VM at this cloud are set to the
arrivals and operational costs. When the number of clouds, same, as the largest average value of jobs in a queue, among
F , grows, the sum of time-averaged profits achieved by all all job queues requiring type-m VM(s). The quantity of VMs
clouds by running Alg. 1 under the double auction mechanism in a buy-bid is set to the number of unscheduled jobs in the
in Sec. V, approaches the offline-optimal social welfare Π∗ , queue with the largest average value as computed above. The
by a constant gap B/V , i.e., quantity of VMs in a sell-bid is the overall number of VMs
Π ≥ Π∗ − B/V, of the type that the cloud can provide. All VMs purchased
P via the auction are used to serve jobs from the queue with
where V > 0 and B = i∈[1,F ] Bi . Bi is defined in Theorem
the maximum average value. A cloud maintains the minimum
6, ∀i ∈ [1, F ].
number of servers to support those jobs, and only drops a job
To prove the theorem, we demonstrate that, when the when its maximum response delay is reached.
number of clouds goes to infinity, the one-shot social welfare 3500
Alg. 1
3500
Alg. 1
obtained with Alg. 1 is the same as that achieved by the 3000 Heuristic 3000 Heuristic

Individual profit ($)

Individual profit ($)


dynamic benchmark Alg. 2 in the same time slot. Details are 2500 2500

in Appendix K. 2000 2000

1500 1500

VIII. P ERFORMANCE E VALUATION 1000 1000

500 500
A. Simulation Setup
0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
We carry out trace-driven simulation studies based on Cloud index Cloud index

Google cluster-usage data [21] [22], which record jobs submit- (a) V = 4 × 106 (b) V = 5 × 106
ted to the Google cluster, with information on their resource 3500
Alg. 1
3500
Alg. 1
demands (CPU, RAM, etc.) and relative charges. We translate 3000 Heuristic 3000 Heuristic
Individual profit ($)

Individual profit ($)


the data into concrete job arrival rates, resource types and 2500 2500

prices, to drive our simulations as follows. 2000 2000

We consider 24 types of jobs (< ms , gs , ds >), 6 VM types 1500 1500

1000 1000
(ms ) combined from {small, median, large} CPU and {small,
500 500
large} Memory, and two SLA levels (ds ), corresponding to
0 0
a larger maximum respond delay and a smaller maximum 1 2 3 4 5 6 7
Cloud index
8 9 10 1 2 3 4 5 6 7
Cloud index
8 9 10

response delay at half of the former. Each job requires either (c) V = 6 × 106 (d) V = 7 × 106
1 VM or 2 VMs concurrently (gs ). 3500 3500
Alg. 1 Alg. 1
There are 10 clouds in the federation. One time slot is 3000 Heuristic 3000 Heuristic

1 hour. The number of servers in each cloud that provision


Individual profit ($)

Individual profit ($)

2500 2500

VMs of each type ranges within [800, 1000]. Each server can 2000 2000

provide 30 small-memory VMs or 10 large-memory VMs. The 1500 1500

VM charge to the customer is decided by multiplying gs by the 1000 1000

relative VM price in the Google data, and then by the unit VM 500 500

0 0
price in the range of [0.05, 0.08] $/h. The penalty for dropping 1 2 3 4 5 6 7
Cloud index
8 9 10 1 2 3 4 5 6 7
Cloud index
8 9 10

a job is set to the maximum per-job VM charge in the system. (e) V = 8 × 106 (f) V = 9 × 106
Operational costs are set according to the electricity prices at Fig. 2. Comparisons of individual profit with different values of V .
10 different geographic locations provided in [17], which vary
on a hourly basis. Each server consumes power at 1 KW/h. B. Individual Profit and Social Welfare
The number of job arrivals in each hour to the federation We compare the time-averaged profit achieved at each cloud
is set according to the cumulated job requests of each type with our dynamic algorithm in Alg. 1 and with the heuristic
submitted to the Google cluster during that hour, in the rough algorithm, after the system has been running for 2000 hours.
range of [40000, 90000] requests per hour. We randomly assign Fig. 2 shows that our algorithm can achieve a higher profit
each arrived job to one of the 10 clouds, following a heavy- than the heuristic, at each of the 10 clouds, when the value of
tailed distribution. In operating the virtual queues, we set ǫs = V is no less than 4 × 106 . The observation is that when V is
1000 for jobs requiring low response delay, and ǫs = 500 for larger, the individual profit with our algorithm is even better,
those of long delays. The maximum number of job drops per since it is closer to the offline optimum.
hour is 1000 for all job types. We next compare the social welfare achieved with Alg. 1,
For comparison purposes, we also implement a simpler the heuristic, and the dynamic benchmark Alg. 2. Fig. 3 shows
heuristic algorithm for each cloud to bid in the double auction that social welfare achieved with Alg. 1 is mostly within
and to schedules its jobs/servers: The cloud decides a value 7.7% of that by the benchmark algorithm, even under our
for each unscheduled job in a queue as the penalty to drop heterogenous settings. It outperforms the heuristic by 19.2%.
12

The social welfare is larger at larger V ’s in cases of both offline maximum, as well as a close-to-optimum social welfare
Alg. 1 and the benchmark algorithm, verifying Theorems 6 in the entire federation, based on both solid theoretical analysis
and 8 in that they approach the respective offline optimum and trace-driven simulation studies under realistic setting. As
when V grows. future work, we are interested in broadening our investigations
4
3.5
x 10 to front-end job pricing and competition for customers among
Social welfare ($)
3 the clouds, and the connection between front-end charging
2.5 strategies and inter-cloud trading strategies in a cloud federa-
2
tion.
1.5 R EFERENCES
Alg. 1
1 Benchmark Alg.
Heuristic
0.5 [1] B. Rochwerger, D. Breitgand, E. L. E, A. Galis, K. Nagin, I. Llorente,
2 4 6 8 10
V (× 106) R. Montero, Y. Wolfsthal, E. Elmroth, J. Caceres, M. Ben-Yehuda,
Fig. 3. Comparisons of social welfare. W. Emmerich, and F. Galn, “The reservoir model and architecture
for open federated cloud computing,” IBM Journal of Research and
C. Response Delay and Job Drop Development, vol. 54, pp. 535 – 545, 2009.
We next investigate the scheduling delays experienced by [2] E. Elmroth and L. Larsson, “Interfaces for placement , migration, and
monitoring of virtual machines in federated clouds.” in Proc. of IEEE
jobs. In our system, a maximum response delay is set as Computer Society GCC’09, 2009.
the SLA objective for each type of jobs. Here, we study [3] L. Rao, X. Liu, L. Xie, and W. Liu, “Minimizing electricity cost:
the average response delay actually experienced by the jobs, Optimization of distributed internet data centers in a multi-electricity-
market environment,” in Prof. of IEEE INFOCOM’10, 2010.
when the longer maximum response delay is set to different [4] S. Ran, Y. He, and F. Xu, “Provably-efficient job scheduling for energy
values. Fig. 4(a) shows that both Alg. 1 and the benchmark and fairness in geographically distributed data centers,” in Prof. of IEEE
algorithm incur a low average response delay (well ahead of ICDCS’12, 2012.
[5] R. Urgaonkar, U. Kozat, K. Igarashi, and M. Neely, “Dynamic resource
scheduling deadlines), as compared to that of the heuristic. The allocation and power management in virtualized data centers,” in Prof. of
reasons are: i) the heuristic algorithm always greedily keeps IEEE/IFIP NOMS’10, 2010.
jobs in queues for future scheduling until near the deadline; [6] Y. Yao, L. Huang, A. Sharma, L. Golubchik, and M. Neely, “Data
and ii) both Alg. 1 and the benchmark algorithm evaluate the centers power reduction: A two time scale approach for delay tolerant
workloads,” in Proc. of IEEE INFOCOM’12, 2012.
scheduling urgency better than the heuristic does, such that [7] R. Buyya, D. Abramson, and J. Giddy., “Nimrod/g: An architecture of a
jobs are tended to be served well before the deadlines. resource management and scheduling system in a global computational
70 25 grid,” in Proc. of HPC Asia’00, 2000.
Average response time (hour)

Alg. 1
60 20 Benchmark Alg.
[8] X. Zhou and H. Zheng, “Trust: A general framework for truthful double
Heuristic spectrum auctions,” in Proc. of IEEE INFOCOM’09, 2009.
Dropped jobs (%)

50 15
[9] H. Xu, J. Jin, and B. Li, “A secondary market for spectrum,” in Proc. of
40 10 IEEE INFOCOM’10, Mini Conference, 2010.
Alg. 1
[10] [Online]. Available: http://aws.amazon.com/ec2
30 5
Benchmark Alg. [11] M. Mihailescu and Y. M. Teo, “Dynamic resource pricing on federated
20 Heuristic 0 clouds,” in Proc. of IEEE/ACM CCGrid’10, 2010.
10 −5 [12] ——, “The impact of user rationality in federated clouds,” in Proc. of
0 200 400 600 800 0 200 400 600 800
Max. response delay Max. response delay IEEE/ACM CCGrid’12, 2012.
(a) Average response delay (b) Averaged job-drop percentage [13] E. R. Gomes, Q. B. Vo, and R. Kowalczyk, “Pure exchange markets for
Fig. 4. Comparisons of average job scheduling delay and drop percentage. resource sharing in federated clouds,” Concurrency Computat.: Pract.
Exper., vol. 24, pp. 977 – 991, 2012.
We also study the percentage of admitted jobs in the entire [14] [Online]. Available: http://www.linode.com/faq.cfm
federation that are eventually dropped with the three algo- [15] M. J. Neely, “Opportunistic scheduling with worst case delay guarantees
in single and multi-hop networks,” in Proc. of IEEE INFOCOM’11,
rithms. Fig. 4(b) reveals that the drop rate decreases quickly 2011.
with the increase of the allowed maximum response delay, [16] U. Hoelzle and L. A. Barroso, The Datacenter as a Computer: An
and Alg. 1 and the benchmark algorithm again outperform the Introduction to the Design of Warehouse-Scale Machines. Morgan &
Claypool, 2009.
heuristic, due to their well-designed scheduling strategies. [17] [Online]. Available: www.ferc.gov
[18] R. B. Myerson and M. A. Satterthwaite, “Efficient mechanisms for
IX. C ONCLUSION bilateral trading,” Journal of Economics Theory, vol. 29, pp. 265–281,
This paper investigates both individual-profit maximizing 1983.
and social-welfare efficient strategies at individual selfish [19] M. J. Neely, Stochastic Network Optimization with Application to Com-
munication and Queueing Systems, J. Walrand, Ed. Morgan&Claypool
clouds in a cloud federation, in VM trades across cloud Publishers, 2010.
boundaries. We tailor a truthful, individual-rational, ex-post [20] T. SANDHOLM and S. SURI, “Market clearability,” in Proc. of IJI-
budget-balanced double auction as the inter-cloud trading CAI’01, 2001.
mechanism, and design a dynamic algorithm for each cloud [21] J. Wilkes, “More Google cluster data,” Nov. 2011, URL:
http://googleresearch.blogspot.com/2011/11/more-google-cluster-data.html.
to decide the best VM valuation and bidding strategies, and [22] C. Reiss, J. Wilkes, and J. L. Hellerstein, “Google cluster-usage traces:
to schedule job service/drop and server provisioning in the format + schema,” Google Inc., Tech. Rep., 2011, revised 2012.03.20.
most economic fashion, under time-varying job arrivals and URL: http://code.google.com/p/googleclusterdata/wiki/TraceVersion2 .
[23] P. Huang, A. Scheller-Wolf, and K. Sycara, “Design of a multi-unit
operational costs. The proposed algorithm can obtain a time- double auction e-market,” Computational Intelligence, vol. 18, pp. 256–
averaged profit for each cloud within a constant gap to its 617, 2002.
13

A PPENDIX A A PPENDIX B
D ERIVATION OF THE ONE - SHOT OPTIMIZATION PROBLEM F INDING TRUE VALUES b̂m m m m
i (t), γ̂i (t), ŝi (t) AND η̂i (t)
FOR INDIVIDUAL PROFIT MAXIMIZATION Based on individual rationality and truthfulness of the dou-
Squaring the queuing laws (2) and (4), we can derive the ble auction mechanism, each buyer/seller pays/charges a price
following inequality that is no higher/lower than the corresponding bid (true) value,
F while the number of VMs actually traded is no larger than the
1 X X s m m
∆(Θi (t)) ≤ [[ µij (t) + Dis (t)]2 + [ris (t)]2 + 2Qsi (t)[ris (t) bid (true) value if the bid is successful, i.e., b̂i (t) ≤ b̃i (t),
2 m m m m m m
ŝi (t) ≥ s̃i (t), γ̂i (t) ≤ γ̃i (t) and η̂i (t) ≤ η̃i (t). That
s∈[1,S] j=1

XF is, the utility obtained by each cloud by participating in the


− µsij (t) − Dis (t)] + [1{Qsi (t)>0} ǫs ]2 + [Dis (t) auction is non-negative. Hence, the utility obtained by trading
j=1
each VM at each winning buyer, i.e., b̃m m
i (t) − b̂i (t), or seller,
F m m
X i.e., s̃i (t) − ŝi (t), is non-negative. Therefore, bidding for the
+ 1{Qsi (t)=0} Cjms Njms /gs
j=1
maximum number of potential VMs provisioned, maximizes
F
the utility of a seller or buyer, i.e., the maximum number of
type-m VMs a cloud is willing to sell or buy is the maximum
X s
+ 1{Qsi (t)>0} µij (t)]2
j=1 number of potential type-m VMs provisioned in the federation,
X F and hence the true values of the VM volumes to bid at each
+ 2Zis (t)[1{Qsi (t)>0} [ǫs − µsij (t)] − Dis (t) cloud are derived as in Eqn. (25) and (26), respectively.
j=1
We next identify the true values of the bidding prices for
F
X ms ms each type of VMs, m ∈ [1, M ], at cloud i case by case:
− 1{Qsi (t)=0} Cj Nj /gs ]]
j=1 ⊲ Case 1: Cloud i’s buy-bid for type-m VMs wins, but not the
F sell-bid.
1 X X ms ms s(max) 2
≤ [[ Cj Nj /gs + Di ] + [Ris ]2 In this case, we know that: i) all bought type-m VMs are
2
s∈[1,S] j=1 from other clouds and should be used for job scheduling
XF according to constraint (9); ii) ŝm m
i (t) = 0 and η̂i (t) = 0.
+ 2Qsi (t)[ris (t) − µsij (t) − Dis (t)] A nice property of problem (19) is that, all decision vari-
j=1
ables related to type-m VMs, i.e., bm m m m
i (t), γi , b̂i (t), γ̂i (t),
F
m m s
+ [ǫs ]2 + [Di
s(max)
+
X
Cjms Njms /gs ]2 αij (t), ni (t), and µij (t) with ms = m, are independent from
j=1 those related to the other types of VMs. Hence, the optimal
F
X s solutions to decision variables related to type-m VMs can be
+ 2Zis (t)[ǫs − µij (t) − Dis (t)]] derived by solving the following sub problem from (19):
j=1
X X
max µsij (t)[Qsi (t) + Zis (t)] − V b̂m m
i (t)γ̂i (t)
F
X X s:ms =m,s∈[1,S] j∈[1,F ]
=Bi + [Qsi (t)[ris (t) − µsij (t) − Dis (t)]
j=1
− V βi (t)nm
i (t) (47)
s∈[1,S]
F s.t. Constraint (5)-(9).
P
X
+ Zis (t)[ǫs − µsij (t) − Dis (t)]],
j=1
In (47), we replace γ̂im (t) by m
j∈[1,F ] αij (t) based on
s
where Bi = 21 s∈[1,S] [[ F
P P ms ms s(max) 2
] +[Ris ]2 + Eqn. (7), and replace µij (t)’s by the optimal solutions in
j=1 Cj Nj /gs +Di
2 s(max) PF ms ms 2 Eqn. (28) and (29) (to be derived in Sec. IV-C). We obtain
[ǫs ] + [Di + j=1 Cj Nj /gs ] ] . s∗ s∗
By applying the drift-plus-penalty framework (or equiv-
X Qi m (t) + Zi m (t)
max αm
ij (t)[ − V b̂m
i (t)]
alently, drift-minus-profit here), we subtract the weighted gs∗m
j6=i,j∈[1,F ]
one-shot
P individual profit of cloud i in time t, i.e., s∗ s∗ s∗
m m m m m + µiim (t)(Qi m (t) + Zi m (t)) − V βi (t)nm
i (t). (48)
V
P · [ m∈[1,M] i [ŝ (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)] + s∗ s∗
s s s s Qi m (t)+Zi m (t)
s∈[1,S] [pi (t) · ri (t) − Di (t)ξi ]], on both sides of the above According to Eqn. (28) and Eqn. (27), if V gsm

>
inequality. Hence, we have the following inequality: βi (t)
Cim , we have
X
∆(Θi (t)) − V · [ [ŝm m m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)] s∗ s∗ s∗
m∈[1,M ]
µiim (t)(Qi m (t) + Zi m (t)) − V βi (t)nm
i (t)
X s∗ s∗
+ [psi (t) · ris (t) − Dis (t)ξis ]] Qi m (t) + Zi m (t)
=Nim [Cim − V βi (t)];
s∈[1,S] gs∗m
otherwise, we have
X
≤Bi + [Qsi (t)ris (t) + Zis (t)ǫs − V psi (t) · ris (t)]
s∗ s∗ s∗
s∈[1,S] µiim (t)(Qi m (t) + Zi m (t)) − V βi (t)nm
i (t) = 0.
− ϕi1 (t) − ϕi2 (t) − ϕi3 (t),
Both RHS values of the above equations are constants. As
where V > 0 is a user-defined positive constant that can be a result, the optimization problem (48) is finally equivalent to
understood as the weight of profit in the expression. the following one:
14

cloud by self-trading its own type-m VMs, which violates its


X s∗
Qi m (t) +
s∗
Zi m (t)
individual rationality.
max αm
ij (t)[ − V b̂m
i (t)]. (49)
gs∗m Property 2. If both cloud i’s buy-bid and sell-bid for type-
j6=i,j∈[1,F ]
According to the definition of true∗ values,∗ we know that m VMs win, the cloud cannot sell a type-m VM with a price
s
Qi m (t)+Zi m (t)
s strictly higher than its price to buy a type-m VM, i.e., ŝmi (t) ≤
the true value of b̃m
i (t) should be V gs∗ as defined b̂m (t). Otherwise, the auctioneer has to pay a positive sum to
m i
s∗ s∗
in Eqn. (21), since: i) if b̂m
Qi m (t)+Zi m (t) compensate for the price difference for those inter-cloud traded
i (t) > , the utility in
V gs∗
m type-m VMs, which contradicts the ex-post budget balance
(49) is negative, and hence a profit∗ loss in∗ terms of problem
sm sm property at the auctioneer.
Q (t)+Z (t)
(18) for cloud i; ii) if b̂m
i (t) <
i i
, the utility in
V gs∗
m Property 3. Based on Properties 1 and 2, if both cloud i’s
(49) is positive, and hence a∗ profit ∗gain in terms of problem buy-bid and sell-bid for type-m VMs win, the actual buy and
sm sm
Q (t)+Z (t)
(18); and iii) if b̂m
i (t) =
i
V gs∗
i
, the utility in (49) is sell prices at the cloud for type-m VMs are the same, i.e.,
m
zero, and the profit of cloud i in (18) remains the same as not ŝm m
i (t) = b̂i (t).
acquiring the VMs. According to Property 3, we derive that the overall profit
⊲ Case 2: Cloud i’s sell-bid for type-m VMs wins, but not the gain at cloud i for self-trading of type-m VMs, αm m
ii (t)[ŝi (t)−
m
buy-bid. b̂i (t)], is zero.
In this case, we know that: i) all type-m VMs sold from The optimal solutions to variables related to type-m VMs
cloud i are used by other clouds for job scheduling according can be obtained by solving the following optimization prob-
to constraint (9); and ii) b̂m m lem:
i (t) = 0 and γ̂i (t) = 0.
Similar to the analysis in Case 1, the optimal solutions to X X
max µsij (t)[Qsi (t) + Zis (t)] − V b̂m m
i (t)γ̂i (t)
variables related to type-m VMs can be obtained by solving
s:ms =m,s∈[1,S] j∈[1,F ]
the following optimization problem:
X X + V ŝm m m
i (t)η̂i (t) − V βi (t)ni (t) (51)
max µsij (t)[Qsi (t) + Zis (t)] + V ŝm m
i (t)η̂i (t) s.t. Constraint (5)-(9).
s:ms =m,s∈[1,S] j6=i

− V βi (t)nm
i (t) (50) P
In (51), we replace P γ̂im (t) by m
j∈[1,F ] αij (t) based on
s.t. Constraint (5)-(9). m m
Eqn. (7), and η̂i (t) by j∈[1,F ] αji (t) based on Eqn. (8). We
P also replace µsij (t)’s and nm
In (50), we replace η̂im (t) by j6=i αm ji (t) based on Eqn. (8) i (t)’s with the optimal solutions
and the fact in this case that αm s in Eqn. (28), (29) and Eqn. (27). Then we have the following
ii (t) = 0, and replace µij (t)’s
m
and ni (t)’s with the optimal solutions in Eqn. (28), (29) and two cases:
∗ ∗
s s
Qi m (t)+Zi m (t) βi (t)
Eqn. (27).

Then∗ we have the following two cases: i) if V gs∗ > Cim , problem (51) is equivalent to
s s m
Qi m (t)+Zi m (t) βi (t)
i) if > Cim , problem (50) is equivalent to s∗ s∗
V gs∗ Q m
(t) + Zi m (t)
m
s∗
Q m (t) +
s∗
Zi m (t) max Nim [Cim i − V βi (t)]
max Nim [Cim i − V βi (t)] gs∗m
gs∗m s∗ s∗
X m Qi m (t) + Zi m (t)
s∗
Qi m (t) +
s∗
Zi m (t) αij (t)[ − V b̂m
i (t)]
+
X
αm m gs∗m
ji (t)[V ŝi (t) − ], j6=i
j6=i
gs∗m s∗ s∗
s∗ s∗
Qi m (t)+Zi m (t)
X Q m (t) + Zi m (t)
where the true value of s̃m
should bei (t) V gsm
+ αm
ji (t)[V ŝm
i (t) − i ],

j6=i
gs∗m
according to the definition of true value of the price to sell a
type-m VM; where

the ∗ true values of b̃m m
i (t) and s̃i (t) should both be
s s
ii) otherwise, problem (50) is equivalent to Qi m (t)+Zi m (t)
X V gs∗ according to the definition of true value of the
αm m m m
max V ji (t)[ŝi (t) − βi (t)/Ci ], price to buy/sell a type-m VM;
j6=i
where the true value of s̃m m ii) otherwise, problem (51) is equivalent to
i (t) should be βi (t)/Ci according
to the definition of the true value of the price to sell a type-m X s∗
Qi m (t)
s∗
+ Zi m (t)
m
VM. Hence, we have derived the true values of s̃m i (t) given
max αij (t)[ − V b̂m
i (t)]
gs∗m
j6=i
in Eqn. (22). X
⊲ Case 3: Both Cloud i’s buy-bid and sell-bid for type-m VMs V αm m m
ji (t)[ŝi (t) − βi (t)/Ci ],
j6=i
win. s∗
m s∗
m
Q (t)+Z (t)
In this case, the following properties hold: where the true value of b̃m i (t) should be
i
V gs∗
i
, and
m
Property 1. If both cloud i’s buy-bid and sell-bid for type-m the true value of s̃m
i (t) should be β i (t)/Ci
m
according to the
VMs win, the cloud cannot buy a type-m VM with a price definition of the true value of the price to buy/sell a type-m
strictly higher than its price to sell a type-m VM, i.e., ŝmi (t) ≥ VM. Hence, we have derived the true values of b̃m i (t) and
b̂m
i (t). Otherwise, there will be a positive profit loss at the s̃m
i (t) given in Eqn. (21) and Eqn. (22).
15

A PPENDIX C A PPENDIX D
D ERIVATION OF THE ONE - SHOT OPTIMIZATION PROBLEM P ROOF TO T HEOREM 2
FOR SOCIAL WELFARE MAXIMIZATION
This theorem can be proved based on the following two
Squaring the queuing laws (2) and (4), we can derive the lemmas.
following inequality Lemma 2 (Monotonic winner determination): Given prices
1 X X XF
of buy-bids {bm m m
1 (t), . . . , bi (t), . . . , bF (t)} and sell-bids
∆(Θ(t)) ≤ [[ µsij (t) + Dis (t)]2 + [ris (t)]2 m m m
{s1 (t), . . . , si (t), . . . , sF (t)}, we have that
2
i∈[1,F ] s∈[1,S] j=1
F 1) If cloud i wins the buy-bid by bidding with bm i (t),
then cloud i also wins the buy-bid by bidding with
X
+ 2Qsi (t)[ris (t) − µsij (t) − Dis (t)] + [1{Qsi (t)>0} ǫs ]2
j=1 b′ > bm i (t);
F
X 2) If cloud i wins the sell-bid by bidding with sm i (t),
+ [Dis (t) + 1{Qsi (t)=0} Cjms Njms /gs then cloud i also wins the sell-bid by bidding with
j=1
s′ < sm i (t).
F
Proof: We prove the cases in the lemma respectively as
X
+ 1{Qsi (t)>0} µsij (t)]2
j=1 follows,
F
X 1) Since cloud i wins the buy-bid with bm i (t), we know that
+ 2Zis (t)[1{Qsi (t)>0} [ǫs − µsij (t)] − Dis (t) bm (t) i.e., bm
i is the largest among all buy-bids, i (t) ≥
j=1 m ′ m
bj (t), ∀j 6= i, j ∈ [1, F ]. With b > bi (t), we have
F
− 1{Qsi (t)=0}
X
Cjms Njms /gs ]]
that b′ > bm j (t), ∀j 6= i, j ∈ [1, F ]. Hence, if cloud i
j=1
proposes a buy-bid with b′ , it can still win the buy-bid
F according to our winner determination decision, since
1 X X X s(max) 2
≤ [[ Cjms Njms /gs + Di ] + [Ris ]2 its buy-bid price is still the largest among all buy-bids.
2
i∈[1,F ] s∈[1,S] j=1 2) Since cloud i wins the sell-bid with sm i (t) and the
F
X sell-bids are sorted in ascending order, we know that
+ 2Qsi (t)[ris (t) − µsij (t) − Dis (t)] sm m ′
i (t) ≤ ϑj ′ (t), where j is the critical index as defined
j=1
in Eqn. (31), and si (t) is among the (j ′ − 1)th lowest
m
F
+ [ǫs ]2 + [Di
s(max)
+
X
Cjms Njms /gs ]2
sell-bids in ascending order. With s′ < sm i (t), we also
j=1
have that s′ < ϑm j ′ (t) and s ′
is among the (j ′ − 1)th
F lowest sell-bids in ascending order. Hence, if cloud i
propose a sell-bid with s′ , it can still win the sell-bid
X
+ 2Zis (t)[ǫs − µsij (t) − Dis (t)]]
j=1 according to our winner determination decision, since
X X F
X its sell-bid price is still among the (j ′ − 1)th lowest
=B + [Qsi (t)[ris (t) − µsij (t) − Dis (t)] sell-bids.
i∈[1,F ] s∈[1,S] j=1
F
Lemma 3 (Bid-independent pricing): Given prices of
X
+ Zis (t)[ǫs − µsij (t) − Dis (t)]],
Pj=1 PF buy-bids {bm m m
1 (t), . . . , bi (t), . . . , bF (t)} and sell-bids
1
P ms ms
where B = 2 i∈[1,F ] s∈[1,S] [[ j=1 Cj Nj /gs + {sm m m
1 (t), . . . , si (t), . . . , sF (t)}, we have that
s(max) 2 s(max) F
] + [Ris ]2 + [ǫs ]2 + [Di + j=1 Cj s Nj s /gs ]2 ].
m m
P
Di 1) If cloud i wins the buy-bid by bidding with bm i (t) and
By applying the drift-plus-penalty framework (or b′ , the charged price b̂m (t) to cloud i is the same for
i
equivalently, drift-minus-profit here), we subtract the both;
weightedP one-shot P social welfare in time t, i.e., 2) If cloud i wins the sell-bid by bidding with sm
m m m m i (t) and
V · i∈[1,F ]P m∈[1,M] [ŝi (t)η̂i (t) − b̂i (t)γ̂i (t) −
[ s′ , the charged price ŝm (t) to cloud i is the same for
m s s s s i
βi (t)ni (t)] + s∈[1,S] [pi (t) · ri (t) − Di (t)ξi ]], on both both.
sides of the above inequality. Hence, we have the following
Proof: We prove the the cases in the lemma respectively
inequality: X X as follows,
∆(Θ(t)) − V · [ [ŝm m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t)
i∈[1,F ] m∈[1,M ]
1) Since cloud i wins the buy-bid, the charged price b̂m i (t)
X should be θ2m (t), which is the second largest buy-bid
− βi (t)nm
i (t)] + [psi (t) · ris (t) − Dis (t)ξis ]]
price independent of cloud i’s buy-bid, according to our
s∈[1,S]
X X pricing scheme in the auction. And we have that bm i (t) ≥
≤B + [Qsi (t)ris (t) + Zis (t)ǫs − V psi (t) · ris (t)] θ2m (t) and b′ ≥ θ2m (t). We also have that, as long as
i∈[1,F ] s∈[1,S]
cloud i wins the buy-bid, the value of the second largest
− ϕ1 (t) − ϕ2 (t), buy-bid price θ2m (t) does not change. Hence, cloud i
where V > 0 is a user-defined positive constant that can be should be charged with θ2m (t) by bidding with no matter

understood as the weight of profit in the expression. bmi (t) or b .
16

2) Since cloud i wins the sell-bid, the charged price ŝm i (t) and 0, respectively, according to our pricing scheme, and
′th
should be ϑmj ′ (t), which is the j lowest sell-bid price, no VM is sold by cloud i; the utility gain is non-positive
according to our pricing scheme in the auction. And we by bidding untruthfully, since the charged buy-bid price

have that sm m m
i (t) ≤ ϑj ′ (t) and s ≤ ϑj ′ (t). As long as remains the same while there is non-negative utility loss,

cloud i wins the sell-bid, we have that sm i (t) and s by losing the sell-bid.
′ th
should be among the (j − 1) lowest sell-bid prices • Bid untruthfully with bm m m m
i (t) = b̃i (t) and si (t) < s̃i (t):
and the value of ϑm j ′ (t) does not change. Hence, cloud According to Lemma 2, cloud i still wins the sell-bid.
i should be charged with the same price with ϑm j ′ (t) by It is also easy to see that cloud i still wins the buy-

bidding with no matter bm i (t) or b if it wins the sell-bid. bid with the same bidding price for buy-bid. Hence, the
charged/paid prices for buy-bid and sell-bid are θ2m (t) and
ϑmj ′ (t), respectively, according to Lemma 3. The utility
We can then prove the Theorem 2 to show that any cloud
gain is zero by bidding untruthfully.
i cannot obtain higher utility gain by bidding untruthfully,
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) > s̃i (t):
i.e., bm m m m
i (t) 6= b̃i (t) and/or si (t) 6= s̃i (t), ∀m ∈ [1, M ],
The cloud can either win both buy and sell bids, or
by analyzing all possible auction results.
win buy-bid only, or win sell-bid only, or lose both
Case 1 – Cloud i wins both buy-bid and sell-bid with truthful
bids. If the cloud still wins both bids, we have that the
bidding: In this case, the charged/paid prices for buy-bid and
charged/paid prices for buy-bid and sell-bid are θ2m (t)
sell-bid are θ2m (t) and ϑm
j ′ (t), respectively. We discuss the all and ϑm j ′ (t), respectively, according to our pricing scheme;
possibly cases of untruthful bidding as follows,
the utility gain is zero by bidding untruthfully since the
• Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) > s̃i (t):
m
charged/paid prices are the same with that by bidding
According to Lemma 2, cloud i still wins the buy-bid truthfully. If it only wins the buy-bid, we have that the
but may either win or lose the sell-bid. If it also wins charged prices for buy-bid and sell-bid are θ2m (t) and
the sell-bid, we have that the charged/paid prices for 0, respectively, according to Lemma our pricing scheme,
buy-bid and sell-bid are θ2m (t) and ϑm j ′ (t), respectively, and no VM is sold by cloud i; the utility gain is non-
according to Lemma 3; the utility gain is zero by bidding positive by bidding untruthfully, since the charged buy-
untruthfully since the charged/paid prices are the same bid price remains the same while there is non-negative
with that by bidding truthfully. If it loses the sell-bid, utility loss, by losing the sell-bid. If it only wins the
we have that the charged prices for buy-bid and sell-bid sell-bid, we have that the charged prices for buy-bid and
are θ2m (t) and 0, respectively, according to Lemma 3 and sell-bid are 0 and ϑm j ′ (t), respectively, according to our
our pricing scheme, and no VM is sold by cloud i; the pricing scheme, and no VM is bought by cloud i; the
utility gain is non-positive by bidding untruthfully, since utility gain is non-positive by bidding untruthfully, since
the charged buy-bid price remains the same while there is the charged sell-bid price remains the same while there
non-negative utility loss, i.e., [ϑm m m
j ′ (t) − s̃i (t)]η̂i (t) with is non-negative utility loss, i.e., [b̃m m m
i (t) − θ2 (t)] · γ̂i (t)
m m
ϑj ′ (t) ≥ s̃i (t), by losing the sell-bid. m m
with b̃i (t) ≥ θ2 (t), by losing the buy-bid. If it loses
• Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) = s̃i (t):
m
both bids, we have that the charged prices for buy-bid and
According to Lemma 2, cloud i still wins the buy-bid. sell-bid are both 0, according to our pricing scheme, and
It is also easy to see that cloud i still wins the sell- no VM is bought by or sold by cloud i; the utility gain is
bid with the same bidding price for sell-bid. Hence, the non-positive by bidding untruthfully, since there is non-
charged/paid prices for buy-bid and sell-bid are θ2m (t) and negative utility loss, i.e., [b̃m m m m
i (t)−θ2 (t)]·γ̂i (t)+[ϑj ′ (t)−
ϑmj ′ (t), respectively, according to Lemma 3. The utility
m m m m m
s̃i (t)] · η̂i (t) with b̃i (t) ≥ θ2 (t) and ϑj ′ (t) ≥ s̃m i (t),
gain is zero by bidding untruthfully. by losing the both bids.
• Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) < s̃i (t):
m
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) = s̃i (t):
According to Lemma 2, cloud i still wins both the buy-bid Cloud i stills wins the sell-bid with the same bidding
and the sell-bid. The charged/paid prices for buy-bid and price for sell-bid. However, it may either win or lose the
sell-bid are θ2m (t) and ϑm j ′ (t), respectively, according to buy-bid. If it also wins the buy-bid, we have that the
Lemma 3. The utility gain is zero by bidding untruthfully. charged/paid prices for buy-bid and sell-bid are θ2m (t)
• Bid untruthfully with bm m m
i (t) = b̃i (t) and si (t) > s̃i (t):
m
and ϑm j ′ (t), respectively, according to our pricing scheme;
Cloud i stills wins the buy-bid with the same bidding the utility gain is zero by bidding untruthfully since the
price for buy-bid. However, it may either win or lose charged/paid prices are the same with that by bidding
the sell-bid. If it also wins the sell-bid, we have that the truthfully. If it loses the buy-bid, we have that the
charged/paid prices for buy-bid and sell-bid are θ2m (t) charged prices for buy-bid and sell-bid are 0 and ϑm j ′ (t),
and ϑm j ′ (t), respectively, according to Lemma 3 and our respectively, according to our pricing scheme, and no
pricing scheme; the utility gain is zero by bidding un- VM is bought by cloud i; the utility gain is non-positive
truthfully since the charged/paid prices are the same with by bidding untruthfully, since the charged sell-bid price
that by bidding truthfully. If it loses the sell-bid, we have remains the same while there is non-negative utility loss,
that the charged prices for buy-bid and sell-bid are θ2m (t)
17

by losing the buy-bid. Hence, the charged/paid prices for buy-bid and sell-bid
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) < s̃i (t): are θ2m (t) and 0, respectively, according to our pricing
According to Lemma 2, cloud i still wins the sell-bid scheme. The utility gain is zero by bidding untruthfully.
but may either win or lose the buy-bid. If it also wins the • Bid untruthfully with bm m m m
i (t) = b̃i (t) and si (t) < s̃i (t):
buy-bid, we have that the charged/paid prices for buy-bid Cloud i still wins the buy-bid with the same bidding
and sell-bid are θ2m (t) and ϑm j ′ (t), respectively, according price. However, it may either win or lose the sell-bid.
to Lemma 3 and our pricing scheme; the utility gain is If it loses the sell-bid, we have that the charged prices
zero by bidding untruthfully since the charged/paid prices for buy-bid and sell-bid are θ2m (t) and 0, respectively,
are the same with that by bidding truthfully. If it loses according to our pricing scheme, and no VM is sold by
the buy-bid, we have that the charged prices for buy-bid cloud i; the utility gain is zero by bidding untruthfully
and sell-bid are 0 and ϑm j ′ (t), respectively, according to since the charged/paid prices are the same with that by
Lemma 3 and our pricing scheme, and no VM is bought bidding truthfully. If it also wins the sell-bid, we have
by cloud i; the utility gain is non-positive by bidding that the charged/paid prices for buy-bid and sell-bid are
untruthfully, since the charged sell-bid price remains the θ2m (t) and ϑm m
j ′ (t) ≤ s̃i (t), respectively, according to our
same while there is non-negative utility loss, by losing pricing scheme; the utility gain is non-positive by bidding
the buy-bid. untruthfully, since the charged buy-bid price remains the
same while there is non-negative utility loss, by winning
Case 2 – Cloud i wins buy-bid but loses sell-bid with truthful
the sell-bid.
bidding: In this case, the charged/paid prices for buy-bid and
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) > s̃i (t):
sell-bid are θ2m (t) and 0, respectively. we discuss the all
It is easy to see that cloud i still loses the sell-bid, since
possible cases of untruthful bidding as follows,
otherwise we will have a contradiction to Lemma 2. How-
• Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) > s̃i (t): ever, it may either win or lose the buy-bid. If it also wins
According to Lemma 2, cloud i still wins the buy-bid. the buy-bid, we have that the charged/paid prices for buy-
It is also easy to see that cloud i still loses the sell-bid, bid and sell-bid are θ2m (t) and 0, respectively, according
since otherwise we will have a contradiction to Lemma to our pricing scheme; the utility gain is zero by bidding
2. Hence, the charged/paid prices for buy-bid and sell-bid untruthfully since the charged/paid prices are the same
are θ2m (t) and 0, respectively, according to Lemma 3 and with that by bidding truthfully. If it loses the buy-bid, we
our pricing scheme. The utility gain is zero by bidding have that the charged prices for buy-bid and sell-bid are
untruthfully. 0 and 0, respectively, according to Lemma our pricing
• Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) = s̃i (t): scheme, and no VM is bought or sold by cloud i; the
According to Lemma 2, cloud i still wins the buy-bid. utility gain is non-positive by bidding untruthfully, since
It is also easy to see that cloud i still loses the sell- the charged sell-bid price remains the same while there
bid with the same bidding price for sell-bid. Hence, the is non-negative utility loss, i.e., [b̃m m m
i (t) − θ2 (t)] · γ̂i (t)
charged/paid prices for buy-bid and sell-bid are θ2m (t) m m
with b̃i (t) ≥ θ2 (t), by losing the buy-bid.
and 0, respectively, according to Lemma 3 and pricing • Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) = s̃i (t):
scheme. The utility gain is zero by bidding untruthfully. The cloud i still loses the sell-bid with the same bidding
• Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) < s̃i (t): price. However, it may either win or lose the buy-bid. If
According to Lemma 2, cloud i still wins the buy-bid but it also wins the buy-bid, we have that the charged/paid
may either win or lose the sell-bid. If it loses the sell- prices for buy-bid and sell-bid are θ2m (t) and 0, respec-
bid, we have that the charged prices for buy-bid and sell- tively, according to our pricing scheme; the utility gain is
bid are θ2m (t) and 0, respectively, according to Lemma 3 zero by bidding untruthfully since the charged/paid prices
and our pricing scheme, and no VM is sold by cloud i; are the same with that by bidding truthfully. If it loses
the utility gain is zero by bidding untruthfully since the the buy-bid, we have that the charged prices for buy-bid
charged/paid prices are the same with that by bidding and sell-bid are 0 and 0, respectively, according to our
truthfully. If it also wins the sell-bid, we have that the pricing scheme, and no VM is bought or sold by cloud
charged/paid prices for buy-bid and sell-bid are θ2m (t) i; the utility gain is non-positive by bidding untruthfully,
and ϑm m
j ′ (t) ≤ s̃i (t), respectively, according to Lemma 3 since the charged sell-bid price remains the same while
and our pricing scheme; the utility gain is non-positive there is non-negative utility loss, by losing the buy-bid.
by bidding untruthfully, since the charged buy-bid price • Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) < s̃i (t):
remains the same while there is non-negative utility loss, The cloud can either win both buy and sell bids, or
i.e., [s̃m m m m m
i (t) − ϑj ′ (t)]η̂i (t) with ϑj ′ (t) ≤ s̃i (t), by win buy-bid only, or win sell-bid only, or lose both
winning the sell-bid. bids. If the cloud wins both bids, we have that the
• Bid untruthfully with bm m m m
i (t) = b̃i (t) and si (t) > s̃i (t): charged/paid prices for buy-bid and sell-bid are θ2m (t)
Cloud i still wins the buy-bid with the same bidding price. and ϑm m
j ′ (t) ≤ s̃i (t), respectively, according to our pricing
It is also easy to see that cloud i still loses the sell-bid, scheme; the utility gain is zero by bidding untruthfully
since otherwise we will have a contradiction to Lemma 2. since the charged buy-bid price remains the same while
18

there is non-negative utility loss, by winning the sell- s̃m


i (t), by losing the sell-bid.
bid. If it only wins the buy-bid, we have that the • Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) = s̃i (t):
m

charged prices for buy-bid and sell-bid are θ2m (t) and Cloud i still wins the sell-bid with the same bidding price.
0, respectively, according to our pricing scheme, and However, it may either win or lose the buy-bid. If it also
no VM is sold by cloud i; the utility gain is zero by wins the buy-bid, we have that the charged/paid prices for
bidding untruthfully since the charged/paid prices are the buy-bid and sell-bid are θ2m (t) and ϑm j ′ (t), respectively,
same with that by bidding truthfully. If it only wins according to our pricing scheme; the utility gain is non-
the sell-bid, we have that the charged prices for buy- positive by bidding untruthfully since the charged sell-
bid and sell-bid are 0 and ϑm m
j ′ (t) ≤ s̃i (t), respectively, bid price remains the same while there is non-negative
according to our pricing scheme, and no VM is bought utility loss, i.e., [θ2m (t) − b̃m m m
i (t)] · γ̂i (t) with b̃i (t) ≤
m
by cloud i; the utility gain is non-positive by bidding θ2 (t), by winning the buy-bid. If it loses the buy-bid,
untruthfully, since there is non-negative utility loss, i.e., we have that the charged prices for buy-bid and sell-bid
[b̃m m m m m m
i (t) − θ2 (t)] · γ̂i (t) − [ϑj ′ (t) − s̃i (t)] · η̂i (t) with are 0 and ϑm j ′ (t), respectively, according to our pricing
m m m m
b̃i (t) ≥ θ2 (t) and ϑj ′ (t) ≤ s̃i (t), by losing the buy-bid scheme, and no VM is bought or sold by cloud i; the
while winning the sell-bid. If it loses both bids, we have utility gain is non-positive by bidding untruthfully, since
that the charged prices for buy-bid and sell-bid are both 0, the charged/paid prices are the same with that by bidding
according to our pricing scheme, and no VM is bought truthfully.
by or sold by cloud i; the utility gain is non-positive • Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) < s̃i (t):
m

by bidding untruthfully, since the charged sell-bid price According to Lemma 2, cloud i still wins the sell-bid but
remains the same while there is non-negative utility loss, may either win or lose the buy-bid. If it loses the buy-bid,
i.e., [b̃m m m m m
i (t)−θ2 (t)]·γ̂i (t) with b̃i (t) ≥ θ2 (t), by losing
we have that the charged prices for buy-bid and sell-bid
the buy-bid. are θ2m (t) and ϑm j ′ (t), respectively, according to Lemma
3 and our pricing scheme, and no VM is sold by cloud i;
Case 3 – Cloud i wins sell-bid but loses buy-bid with truthful
the utility gain is zero by bidding untruthfully since the
bidding: In this case, the charged/paid prices for buy-bid and
charged/paid prices are the same with that by bidding
sell-bid are 0 and ϑm j ′ (t), respectively. we discuss the all truthfully. If it also wins the buy-bid, we have that the
possible cases of untruthful bidding as follows,
charged/paid prices for buy-bid and sell-bid are θ2m (t) ≥
• Bid untruthfully with bm m m
i (t) > b̃i (t) and si (t) > s̃i (t):
m
b̃m m
i (t) and ϑj ′ (t), respectively, according to Lemma 3
The cloud can either win both buy and sell bids, or win and our pricing scheme; the utility gain is non-positive
buy-bid only, or win sell-bid only, or lose both bids. If by bidding untruthfully, since the charged sell-bid price
the cloud wins both bids, we have that the charged/paid remains the same while there is non-negative utility loss,
prices for buy-bid and sell-bid are θ2m (t) ≥ b̃m i (t) and by winning the buy-bid.
ϑm j ′ (t), respectively, according to our pricing scheme; the • Bid untruthfully with bm m m
i (t) = b̃i (t) and si (t) > s̃i (t):
m

utility gain is non-positive by bidding untruthfully since Cloud i still loses the buy-bid with the same bidding
the charged sell-bid price remains the same while there is price. However, it may either win or lose the sell-bid. If
non-negative utility loss, i.e., [θ2m (t)− b̃m m
i (t)]· γ̂i (t) with it loses the sell-bid, we have that the charged prices for
m m
b̃i (t) ≤ θ2 (t), by winning the buy-bid. If it only wins buy-bid and sell-bid are 0 and 0, respectively, according
the buy-bid, we have that the charged prices for buy-bid to our pricing scheme, and no VM is sold by cloud i; the
and sell-bid are θ2m (t) and 0, respectively, according to utility gain is non-positive by bidding untruthfully since
our pricing scheme, and no VM is sold by cloud i; the the charged buy-bid price remains the same while there
utility gain is non-positive by bidding untruthfully since is non-negative utility loss, i.e., [ϑm m m
j ′ (t) − s̃i (t)] · η̂i (t)
there is non-negative utility loss, i.e., [θ2m (t) − b̃m i (t)] ·
m m
with ϑj ′ (t) ≥ s̃i (t), by losing the sell-bid. If it also wins
γ̂im (t) + [ϑm j′ (t) − s̃ m
i (t)] · η̂i
m
(t) with b̃ m
i (t) ≤ θ2m (t) the sell-bid, we have that the charged/paid prices for buy-
and ϑm j′ (t) ≥ s̃ m
i (t), by winning the buy-bid while losing bid and sell-bid are 0 and ϑm m
j ′ (t) ≤ s̃i (t), respectively,
the sell-bid. If it only wins the sell-bid, we have that the according to our pricing scheme; the utility gain is zero
charged prices for buy-bid and sell-bid are 0 and ϑm j ′ (t) ≤ by bidding untruthfully since the charged/paid prices are
s̃m
i (t), respectively, according to our pricing scheme, and the same with that by bidding truthfully.
no VM is bought by cloud i; the utility gain is zero by • Bid untruthfully with bm m m
i (t) = b̃i (t) and si (t) < s̃i (t):
m

bidding untruthfully since the charged/paid prices are the According to Lemma 2, cloud i still wins the sell-bid. It is
same with that by bidding truthfully. If it loses both bids, also easy to see that cloud i still loses the buy-bid with
we have that the charged prices for buy-bid and sell-bid the same bidding price. Hence, the charged/paid prices
are both 0, according to our pricing scheme, and no VM for buy-bid and sell-bid are 0 and ϑm j ′ (t), respectively,
is bought by or sold by cloud i; the utility gain is non- according to Lemma 3 and our pricing scheme. The utility
positive by bidding untruthfully, since the charged buy- gain is zero by bidding untruthfully.
bid price remains the same while there is non-negative • Bid untruthfully with bm m m
i (t) < b̃i (t) and si (t) > s̃i (t):
m

utility loss, i.e., [ϑm m m m


j ′ (t) − s̃i (t)] · η̂i (t) with ϑj ′ (t) ≥ It is easy to see that cloud i still loses the buy-bid,
19

since otherwise we will have a contradiction to Lemma 2. pricing scheme; the utility gain is non-positive by bidding
However, it may either win or lose the sell-bid. If it wins untruthfully there is non-negative utility loss, by winning
the sell-bid, we have that the charged/paid prices for buy- the buy-bid.
bid and sell-bid are 0 and ϑm j ′ (t), respectively, according • Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) < s̃i (t):
to our pricing scheme; the utility gain is zero by bidding The cloud can either win both buy and sell bids, or win
untruthfully since the charged/paid prices are the same buy-bid only, or win sell-bid only, or lose both bids. If
with that by bidding truthfully. If it loses the sell-bid, we the cloud wins both bids, we have that the charged/paid
have that the charged prices for buy-bid and sell-bid are prices for buy-bid and sell-bid are θ2m (t) ≥ b̃m i (t) and
both 0, according to our pricing scheme, and no VM is ϑm j ′ (t) ≤ s̃ m
i (t), respectively, according to our pricing
bought or sold by cloud i; the utility gain is non-positive scheme; the utility gain is non-positive by bidding un-
by bidding untruthfully, since the charged buy-bid price truthfully since there is non-negative utility loss, i.e.,
remains the same while there is non-negative utility loss, [θ2m (t) − b̃m m m m m
i (t)] · γ̂i (t) + [s̃i (t) − ϑj ′ (t)] · η̂i (t) with
by losing the sell-bid. m m m m
b̃i (t) ≤ θ2 (t) and ϑj ′ (t) ≤ s̃i (t), by winning the buy-
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) = s̃i (t): bid and sell-bid. If it only wins the buy-bid, we have
Cloud i still wins the sell-bid with the same bidding price. that the charged prices for buy-bid and sell-bid are θ2m (t)
It is also easy to see that cloud i still loses the buy-bid, and 0, respectively, according to our pricing scheme, and
since otherwise we will have a contradiction to Lemma 2. no VM is sold by cloud i; the utility gain is non-positive
Hence, the charged/paid prices for buy-bid and sell-bid by bidding untruthfully since the paid price for sell-bid is
are 0 and ϑm j ′ (t), respectively, according to our pricing the same with that by bidding truthfully and there is non-
scheme. The utility gain is zero by bidding untruthfully. negative utility loss, by winning the buy-bid. If it only
• Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) < s̃i (t): wins the sell-bid, we have that the charged prices for buy-
According to Lemma 2, cloud i still wins the sell-bid. bid and sell-bid are 0 and ϑm m
j ′ (t) ≤ s̃i (t), respectively,
It is also easy to see that cloud i still loses the buy-bid, according to our pricing scheme, and no VM is bought
since otherwise we will have a contradiction to Lemma by cloud i; the utility gain is non-positive by bidding
2. Hence, the charged/paid prices for buy-bid and sell-bid untruthfully since the charged price for the buy-bid is the
are 0 and ϑmj ′ (t), respectively, according to Lemma 3 and same with that by bidding truthfully while there is non-
our pricing scheme. The utility gain is zero by bidding negative utility loss, i.e., [s̃m m m
i (t) − ϑj ′ (t)] · η̂i (t) with
untruthfully. m m
ϑj ′ (t) ≤ s̃i (t), by winning the sell-bid. If it loses both
Case 4 – Cloud i loses both buy-bid and sell-bid with truthful bids, we have that the charged prices for buy-bid and
bidding: In this case, the charged/paid prices for buy-bid sell-bid are both 0, according to our pricing scheme, and
and sell-bid are both 0. we discuss the all possible cases of no VM is bought by or sold by cloud i; the utility gain
untruthful bidding as follows, is zero by bidding untruthfully.
• Bid untruthfully with bm m m m
i (t) = b̃i (t) and si (t) > s̃i (t):
• Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) > s̃i (t): It is easy to see that cloud i still loses the sell-bid, since
It is easy to see that cloud i still loses the sell-bid, otherwise we will have a contradiction to Lemma 2. It
since otherwise we will have a contradiction to Lemma is also not hard to find that cloud i still loses the buy-
2. However, it may either win or lose the buy-bid. If it bid with the same bidding price. Hence, the charged/paid
wins the buy-bid, we have that the charged/paid prices prices for buy-bid and sell-bid are both 0, according to
for buy-bid and sell-bid are θ2m (t) ≥ b̃m i (t) and 0, our pricing scheme. The utility gain is zero by bidding
respectively, according to our pricing scheme; the utility untruthfully.
gain is non-positive by bidding untruthfully there is non- • Bid untruthfully with bm m m m
i (t) = b̃i (t) and si (t) < s̃i (t):
negative utility loss, i.e., [θ2m (t) − b̃m m
i (t)] · γ̂i (t) with It is not hard to find that cloud i still loses the buy-
m m
b̃i (t) ≤ θ2 (t), by winning the buy-bid. If it loses the bid with the same bidding price. However, it may either
buy-bid, we have that the charged prices for buy-bid and win or lose the sell-bid. If it wins the sell-bid, we have
sell-bid are both 0, according to our pricing scheme, and that the charged/paid prices for buy-bid and sell-bid are
no VM is bought or sold by cloud i; the utility gain is 0 and ϑm m
j ′ (t) ≤ s̃i (t), respectively, according to our
zero by bidding untruthfully. pricing scheme; the utility gain is non-positive by bidding
• Bid untruthfully with bm m m m
i (t) > b̃i (t) and si (t) = s̃i (t): untruthfully since the charged price for buy-bid is the
Cloud i still loses the sell-bid with the same bidding price. same with that by bidding truthfully while there is non-
However, it may either win or lose the buy-bid. If it loses negative utility loss, by winning the sell-bid. If it loses
the buy-bid, we have that the charged prices for buy-bid the sell-bid, we have that the charged prices for buy-bid
and sell-bid are both 0, according to our pricing scheme, and sell-bid are both 0, according to our pricing scheme,
and no VM is sold by cloud i; the utility gain is zero and no VM is bought or sold by cloud i; the utility gain
by bidding untruthfully. If it also wins the buy-bid, we is zero by bidding untruthfully.
have that the charged/paid prices for buy-bid and sell-bid • Bid untruthfully with bm m m m
i (t) < b̃i (t) and si (t) > s̃i (t):
are θ2m (t) ≥ b̃m
i (t) and 0, respectively, according to our
20

Pj ′ −1 m
It is easy to see that cloud i still loses both the buy- VMs is j=1 Lj (t). Hence, the total payment from the
bid and the sell-bid, since otherwise we will have a buyers is that
contradiction to Lemma 2. Hence, the charged/paid prices X j ′ −1
X
for buy-bid and sell-bid are both 0, according to our [b̂m
i (t) · γ̂im (t)] = θ2m (t) · Lm
j (t).
pricing scheme. The utility gain is zero by bidding i∈[1,F ] j=1

untruthfully. Overall price paid to the sellers: According to our winner


m m m m
• Bid untruthfully with bi (t) < b̃i (t) and si (t) = s̃i (t):
determination scheme, only the seller with (j ′ − 1)th lowest
It is easy to see that cloud i still loses the buy-bid, since bidding price wins the sell-bid. With the pricing scheme in
otherwise we will have a contradiction to Lemma 2. It Eqn. (33), the paid price is ϑm j ′ (t) for each sold VM. With
the allocation scheme in Eqn. (35), the overall number of sold
is also not hard to find that cloud i still loses the sell- Pj ′ −1
bid with the same bidding price. Hence, the charged/paid VMs is j=1 Lm j (t). Hence, the total payment to the sellers
prices for buy-bid and sell-bid are both 0, according to is that
j ′ −1
our pricing scheme. The utility gain is zero by bidding X X
untruthfully. [ŝm
i (t) · η̂im (t)] = ϑm
j ′ (t) · Lm
j (t).
m m m m i∈[1,F ] j=1
• Bid untruthfully with bi (t) < b̃i (t) and si (t) < s̃i (t):
According to Eqn. (31) for the winner determination
It is easy to see that cloud i still loses the buy-bid, scheme, we know that ϑm m
j ′ (t) ≤ θ2 (t). Hence, the ex-post
since otherwise we will have a contradiction to Lemma 2. budget balance at the auctioneer for each VM type m ∈ [1, M ]
However, it may either win or lose the sell-bid. If it wins can be guaranteed as follows,
the sell-bid, we have that the charged/paid prices for buy- X
[b̂m m m m
i (t) · γ̂i (t) − ŝi (t) · η̂i (t)]
bid and sell-bid are 0 and ϑm m
j ′ (t) ≤ s̃i (t), respectively,
i∈[1,F ]
according to our pricing scheme; the utility gain is non- X X
positive by bidding untruthfully since the charged price = [b̂m m
i (t) · γ̂i (t)] − [ŝm m
i (t) · η̂i (t)]
i∈[1,F ] i∈[1,F ]
for buy-bid is the same with that by bidding truthfully
j ′ −1 j ′ −1
while there is non-negative utility loss, by winning the X X
sell-bid. If it loses the sell-bid, we have that the charged =θ2m (t) · Lm
j (t) − ϑm
j ′ (t) · Lm
j (t)
j=1 j=1
prices for buy-bid and sell-bid are both 0, according to
≥0.
our pricing scheme, and no VM is bought or sold by
cloud i; the utility gain is zero by bidding untruthfully.
To conclude, we have shown that bidding truthfully is the A PPENDIX G
dominant strategy of each cloud. P ROOF TO L EMMA 1
We prove the lemma by induction.
A PPENDIX E
P ROOF TO T HEOREM 3 Induction Basis: At time slot 0, the beginning of the federa-
tion, all queues are empty. Therefore,
We prove the individual rationality for buy-bids and sell- Qsi (0) = 0 ≤ Qi
s(max)
, ∀i ∈ [1, F ], s ∈ [1, S],
bids, respectively. s(max)
Zis (0) =0≤ Zi , ∀i ∈ [1, F ], s ∈ [1, S].
Winner of buy-bid: If cloud i wins the buy-bid for VM type
m, we have that bm i (t) is the largest buy-bid price among Induction Step: Suppose that, at time slot t ≥ 0, Qsi (t) ≤
s(max) s(max)
all buy-bids, and bm m
i (t) ≥ θ2 (t), according to our winner Qi and Zis (t) ≤ Zi , ∀i ∈ [1, F ], s ∈ [1, S]. Then,
determination scheme. Since b̂m m
i (t) = θ2 (t) according to our
s s
for any Qi (t) and Zi (t), we have the following possible cases.
pricing scheme, we have that b̂i (t) ≤ bm
m
i (t).
s s s s s
• 0 ≤ Qi (t) ≤ V ξi or V ξi < Qi (t) ≤ V ξi + Ri ;
s
Winner of sell-bid: If cloud i wins the sell-bid for VM type s s s s s
• 0 ≤ Zi (t) ≤ V ξi or V ξi < Zi (t) ≤ V ξi + ǫs .

m, we have that sm i (t) is among the (j − 1)
th
lowest sell-bid - We first analyze the size of Qsi (t + 1):
m m
prices of all sell-bids, and si (t) ≤ ϑj ′ (t) according to our s s
• If 0 ≤ Qi (t) ≤ V ξi , we have that
winner determination scheme. Since ŝm m
i (t) = ϑj ′ (t) according F
to our pricing scheme, we have that ŝi (t) ≥ sm
m
i (t).
X
Qsi (t + 1) = max{Qsi (t) − µsij (t) − Dis (t), 0} + ris (t)
j=1
A PPENDIX F
≤ max{Qsi (t), 0} + Ris
P ROOF TO T HEOREM 4
s(max)
≤ V ξis + Ris = Qi
We first calculate the total payment from the buyers and the
total price paid to the sellers, respectively. We then show that according to the queueing law (2). The first inequality is
the ex-post budget balance is guaranteed. based on the fact that 0 ≤ ris (t) ≤ Ris .
Total payment from the buyers: According to our winner • If V ξis < Qsi (t) ≤ V ξis + Ris , we have that
determination scheme, only the buyer with largest bidding s(max)
Dis (t) = Di ,
price wins the buy-bid. With the pricing scheme in Eqn. (32),
the charged price is θ2m (t) for each bought VM. With the according to the job drop decision with Eqn. (30).
allocation scheme in Eqn. (34), the overall number of bought Hence, we have that
21

F
X F
Qsi (t + 1) = max{Qsi (t) − µsij (t) − Dis (t), 0} + ris (t)
X
Zis (τ + 1) = max{Zis (τ ) + ǫs − µsij (τ ) − Dis (τ ), 0}
j=1 j=1
s(max)
≤ max{V ξis + Ris − Di , 0} + Ris F
X
s(max) ≥ Zis (τ ) + ǫs − µsij (τ ) − Dis (τ ).
≤ V ξis + Ris ≤ Qi . j=1

s(max) Summing the above over τ ∈ [t + 1, . . . , t + ds ], we have


The second inequality is based on the fact that Di ≥
that
max{Ris , ǫs }.
t+d
Xs F
s(max)
So far, Qsi (t) ≤ Qi , ∀i ∈ [1, F ], s ∈ [1, S] for each
X
Zis (t + ds + 1) − Zis (t + 1) ≥ ǫs ds − [ µsij (τ ) + Dis (τ )].
time slot t is proved. τ =t+1 j=1
- We next analyze the size of Zis (t + 1): Rearranging the above inequality and using the fact that
s(max)
s s
• If 0 ≤ Zi (t) ≤ V ξi , we have that Zis (t + ds + 1) ≤ Zi and Zis (t + 1) ≥ 0, we have that
F t+d
Xs XF
s(max)
µsij (τ ) + Dis (τ )].
X
Zis (t + 1) = max{Zis (t) + 1{Qsi (t)>0} · [ǫs − µsij (t)] − Dis (t) ǫs ds − Zi ≤ [ (52)
j=1 τ =t+1 j=1

XF
Cjms · Njms Since the jobs are scheduled in a FIFO fashion, the jobs
− 1{Qsi (t)=0} ·
gs
, 0} ris (t) that arrive at slot t are placed at the end of the queue at
j=1
slot t + 1, and should be fully cleared only when all the jobs
≤ max{Zis (t) + ǫs , 0} backlogged in Qsi (t + 1) have been scheduled. That is, the last
s(max)
≤ V ξis + ǫs = Zi , job of ris (t) departs
Pt+Ton slotPt + T with T > 0 as the smallest
F
integer satisfying τ =t+1 [ j=1 µsij (τ )+Dis (τ )] ≥ Qsi (t+1).
according to the queueing law (4). The first inequality is Based on our assumption that not all of the ris (t) jobs depart
based on the fact that ǫs > 0. by time t + ds , we must have that
• If V ξis < Zis (t) ≤ V ξis + ǫs , we have that t+d F
Xs X s(max)
Dis (t) = Di
s(max)
, [ µsij (τ ) + Dis (τ )] < Qsi (t + 1) ≤ Qi . (53)
τ =t+1 j=1
according to the job drop decision with Eqn. (30). Combining Eqn. (52) and (54), we have that
Hence, we have that s(max) s(max)
ǫs ds − Zi < Qi (54)
F
X s(max) s(max)
Zis (t + 1) = max{Zis (t) + 1{Qsi (t)>0} · [ǫs − µsij (t)] − Dis (t) ⇒ǫs <
Qi + Zi
. (55)
j=1 ds
F
X Cjms · Njms This contradicts with the given fact that ǫs =
− 1{Qsi (t)=0} · , 0} Qi
s(max)
+Zi
s(max)

j=1
gs . Hence, we have proved that each job of type
ds
≤ max{Zis (t) + ǫs − Di
s(max)
, 0} s ∈ [1, S] is either scheduled or dropped with Alg. 1 before its
s(max) s(max)
Qi +Zi
≤V ξis + ǫs =
s(max)
Zi . maximum response delay ds , if we set ǫs = ds .
s(max) A PPENDIX I
The second inequality is based on the fact that Di ≥
max{Ris , ǫs }. P ROOF TO T HEOREM 6
s(max)
So far, Zis (t) ≤ Zi , ∀i ∈ [1, F ], s ∈ [1, S] for each Since the system status, i.e., the job arrival ris (t) and
time slot t is proved. service pricing psi (t) of each type s ∈ [1, S] of services
In conclusion, Lemma 1 is proven. and the operational price βi (t) at each cloud i ∈ [1, F ],
changes with ergodic processes, we have that there exists
A PPENDIX H a stationary randomized algorithm [19], which dynamically
P ROOF TO T HEOREM 5 decides the VM valuation & pricing (with bm∗ m∗
i (t), γi (t),
m∗ m∗ s∗
We prove this theorem by contradiction. si (t), ηi (t)), job scheduling (with µij (t)) & dropping
For each cloud i ∈ [1, F ] and each service type s ∈ [1, S], (with Dis∗ (t)) and server provisioning (with nm∗ i (t)) at each
the job requests arrive at time slot t ≥ 0 is ris (t) and the cloud i, such that the offline optimum of cloud P i’s individual
earliest time they can depart the queue is t + 1. We show that profit Ω∗i can be achieved, together with r̄is ≤ F s∗ s∗
j=1 µ̄ij + D̄i
PF s∗ s∗
all these jobs depart (by being either scheduled or dropped) and ǫs ≤ j=1 µ̄ij + D̄i . Here, ā denotes the time averaged
on or before time t + ds . expectation of variable a(t).
Suppose this is not true, we will come to a contradiction. Based on the derivations of the optimization problem (18)
We must have that Qsi (τ ) > 0 for all τ ∈ [t + 1, . . . , t + ds ] in and its solution in Sec. IV, we know that Algorithm 1
(otherwise, all the jobs are scheduled by time t + ds ). With minimizes the right-hand-side of the drift-plus-penalty (drift-
the queueing law in Eqn. (4), we have that minus-utility) inequality in Eqn. (17) at each slot t, with
22

individual profit maximization as the utility, over all possible By summing over the T slots on both sides of the inequality,
algorithms. Then, we can have that we have that
X T −1
[ŝm m m m m X X
∆(Θi (t)) − V · [ i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)] E{L(Θi (T ))} − E{L(Θi (0))} − V · E{[ [ŝm m
i (t)η̂i (t)
m∈[1,M ] t=0 m∈[1,M ]
X X
Dis (t)ξis + ris (t)psi (t)]
X X
− − b̂m m
i (t)γ̂i (t) − βi (t)nm
i (t)] − Dis (t)ξis + [ris (t)psi (t)]]}
s∈[1,S] s∈[1,S] s∈[1,S] s∈[1,S]
T
X −1 X
[ŝm∗ m∗ m∗ m∗
X X
≤Bi + [Qsi (t)ris (t) + Zis (t)ǫs ] + [ris (t)psi (t)] ≤T · Bi − V · E{[ i (t)η̂i (t) − b̂i (t)γ̂i (t)
s∈[1,S] s∈[1,S] t=0 m∈[1,M ]
X X
− βi (t)nm∗ Dis∗ (t)ξis + [ris (t)psi (t)]]}
X
−V [ŝm∗ m∗ m∗ m∗ m∗
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)] i (t)] −
m∈[1,M ] s∈[1,S] s∈[1,S]
T −1 F
X X
− µs∗ s
ij (t)[Qi (t) + Zis (t)] X X X
+ [Qsi (t)E{[ris (t) − µs∗ s∗
ij (t) − Di (t)]}
s=∈[1,S] j∈[1,F ]
X t=0 s∈[1,S] j=1
− Dis∗ (t)[Qsi (t) + Zis (t) − V · ξis ] F
X
s∈[1,S] + Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
X
=Bi − V · [ [ŝm∗ m∗ m∗ m∗ m∗
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)]
j=1

m∈[1,M ]
Since E{L(Θi (T ))} ≥ 0 and E{L(Θi (0))} = 0 according
X X to the definition of the Lyapunov function, we have that
− Dis∗ (t)ξis + ris (t)psi (t)] T
X −1 X
s∈[1,S] s∈[1,S] −V · E{[ [ŝm m m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)]
X X
+ [Qsi (t)[ris (t) − µs∗ s∗
ij (t) − Di (t)] X
t=0 m∈[1,M ]
X
s∈[1,S] j∈[1,F ] − Dis (t)ξis + [ris (t)psi (t)]]}
X
+ Zis (t)[ǫs − µs∗ s∗
ij (t) − Di (t)]].
s∈[1,S] s∈[1,S]
T −1
j∈[1,F ] X X
Taking conditional expectations over queue status Θi (t) on ≤T · Bi − V · E{[ [ŝm∗ m∗ m∗ m∗
i (t)η̂i (t) − b̂i (t)γ̂i (t)
t=0 m∈[1,M ]
both sides the inequality, we have that X X
X − βi (t)nm∗
i (t)] − Dis∗ (t)ξis + [ris (t)psi (t)]]}
E{∆(Θi (t))|Θi (t)} − V · E{[ [ŝm m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t)
s∈[1,S] s∈[1,S]
m∈[1,M ]
X X T −1 F
− βi (t)nm Dis (t)ξis + [ris (t)psi (t)]]|Θi (t)}
X X X
i (t)] − [Qsi (t)E{[ris (t) − µs∗ s∗
+ ij (t) − Di (t)]}
s∈[1,S] s∈[1,S] t=0 s∈[1,S] j=1
X
≤Bi − V · E{[ [ŝm∗ m∗ m∗ m∗ m∗
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)]
F
X
m∈[1,M ] + Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
X X j=1
− Dis∗ (t)ξis + [ris (t)psi (t)]]|Θi (t)} Dividing T · V on both sides of the above inequality and
s∈[1,S] s∈[1,S]
taking limitation on T to infinity, we have that
X F
X F
[Qsi (t)E{[ris (t) − µs∗ s∗
X X
+ ij (t) − Di (t)]|Θi (t)} −Ωi ≤Bi /V − Ω∗i + [Q̄si [r̄is − µ̄s∗ s∗
ij − D̄i ]
s∈[1,S] j=1 s∈[1,S] j=1
F
X F
+ Zis (t)E{[ǫs − µs∗ s∗
X
ij (t) − Di (t)]|Θi (t)}]. + Z̄is [ǫs − µ̄s∗ s∗
ij − D̄i ]]
j=1 j=1
Next, we take expectations on both sides the inequality, we ≤Bi /V − Ω∗i .
have that
X
PThe second inequality comes from
PF thes∗fact that r̄is −
E{∆(Θi (t))} − V · E{[ [ŝm m m m
i (t)η̂i (t) − b̂i (t)γ̂i (t) F s∗ s∗ s∗
m∈[1,M ] j=1 µ̄ij − D̄i ≤ 0 and ǫs − j=1 µ̄ij − D̄i ≤ 0.
X X Rearranging the two sides, we have that
− βi (t)nm
i (t)] − Dis (t)ξis + [ris (t)psi (t)]]}
s∈[1,S] s∈[1,S]
Ωi ≥ Ω∗i − Bi /V,
X
≤Bi − V · E{[ [ŝm∗ m∗ m∗ m∗ m∗
i (t)η̂i (t) − b̂i (t)γ̂i (t) − βi (t)ni (t)] A PPENDIX J
m∈[1,M ]
X X P ROOF TO T HEOREM 7
− Dis∗ (t)ξis + [ris (t)psi (t)]]} Similar with the proof to the optimality of individual profit
s∈[1,S] s∈[1,S]
with Alg. 1, we have the following proof to the optimality in
F
X X social welfare for our benchmark algorithm. Since the system
+ [Qsi (t)E{[ris (t) − µs∗ s∗
ij (t) − Di (t)]}
s∈[1,S] j=1
status, i.e., the job arrival ris (t) and service pricing psi (t) of
F
each type s ∈ [1, S] of services and the operational price βi (t)
at each cloud i ∈ [1, F ], changes with ergodic processes,
X
+ Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
j=1 we have that there exists a stationary randomized algorithm
23

[19], which dynamically decides the job scheduling (with have that
µs∗ s∗
ij (t)) & dropping (with Di (t)) and server provisioning
m∗
(with ni (t)) at each cloud i, such
Q∗ that the offline optimum of
X X X
E{∆(Θ(t))} + V · E{[ βi (t)nm
i (t) + Dis (t)ξis
the federation’s
PF social welfare canPbe achieved, together i∈[1,F ] m∈[1,M ] s∈[1,S]
F
with r̄is∗ ≤ j=1 µ̄s∗
ij + D̄ s∗
i and ǫ s ≤ s∗ s∗
j=1 µ̄ij + D̄i . Here, −
X
ris (t)psi (t)]}
ā denotes the time averaged expectation of variable a(t). s∈[1,S]
Based on the above derivations of the optimization problem
X X X
≤B + V · E{[ βi (t)nm∗
i (t) + Dis∗ (t)ξis
(40) and its solution in Alg. 2, we know that Algorithm 2 i∈[1,F ] m∈[1,M ] s∈[1,S]
minimizes the right-hand-side of the drift-plus-penalty (drift- X
− ris (t)psi (t)]}
minus-welfare) inequality in Eqn. (37) at each slot t, with s∈[1,S]
social welfare maximization as the utility, over all possible F
algorithms. Then, we can have that
X X X
+ [Qsi (t)E{[ris (t) − µs∗ s∗
ij (t) − Di (t)]}
i∈[1,F ] s∈[1,S] j=1
X X X
∆(Θ(t)) + V · [ [βi (t)nm
i (t)] + Dis (t)ξis F
X
i∈[1,F ] m∈[1,M ] s∈[1,S] + Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
X j=1
− ris (t)psi (t)]
s∈[1,S]
X X X By summing over the T slots on both sides of the inequality,
≤B + [ [Qsi (t)ris (t) + Zis (t)ǫs ] − V ris (t)psi (t)] we have that
i∈[1,F ] s∈[1,S] s∈[1,S]
−1
X X T
+V [βi (t)nm∗
i (t)]
X X X
i∈[1,F ] m∈[1,M ]
E{L(Θ(T ))} − E{L(Θ(0))} − V · E{[ βi (t)nm
i (t)
X X X t=0 i∈[1,F ] m∈[1,M ]
− µs∗ s s
ij (t)[Qi (t) + Zi (t)]
X X
i∈[1,F ] s=∈[1,S] j∈[1,F ]
+ Dis (t)ξis − ris (t)psi (t)]}
X X s∈[1,S] s∈[1,S]
− Dis∗ (t)[Qsi (t) + Zis (t) −V · ξis ] T −1
X X X X
i∈[1,F ] s∈[1,S]
X X X ≤T · B + V · E{[ βi (t)nm∗
i (t) + Dis∗ (t)ξis
=B + V · [ [βi (t)nm∗
i (t)] + Dis∗ (t)ξis t=0 i∈[1,F ] m∈[1,M ] s∈[1,S]
X
X
i∈[1,F ] m∈[1,M ] s∈[1,S] − ris (t)psi (t)]}
− ris (t)psi (t)] s∈[1,S]

s∈[1,S] T
X −1 X X F
X
X X F
X + [Qsi (t)E{[ris (t) − µs∗ s∗
ij (t) − Di (t)]}
+ [Qsi (t)[ris (t) − µs∗ s∗
ij (t) − Di (t)]
t=0 i∈[1,F ] s∈[1,S] j=1

i∈[1,F ] s∈[1,S] j=1 F


X
F
X + Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
+ Zis (t)[ǫs − µs∗
ij (t) − Dis∗ (t)]]. j=1

j=1
Since E{L(Θ(T ))} ≥ 0 and E{L(Θ(0))} = 0 according to
Taking conditional expectations over queue status Θ(t) on the definition of the Lyapunov function, we have that
both sides the inequality, we have that
T
X −1 X X X
X X −V · E{[ βi (t)nm
i (t) + Dis (t)ξis
E{∆(Θ(t))|Θ(t)} + V · E{[ βi (t)nm
i (t) t=0 i∈[1,F ] m∈[1,M ] s∈[1,S]
i∈[1,F ] m∈[1,M ] X
X X − ris (t)psi (t)]}
+ Dis (t)ξis − ris (t)psi (t)]|Θ(t)} s∈[1,S]
s∈[1,S] s∈[1,S]
X X X T
X −1 X X X
≤B + V · E{[ βi (t)nm∗
i (t) + Dis∗ (t)ξis ≤T · B + V · E{[ βi (t)nm∗
i (t) + Dis∗ (t)ξis
i∈[1,F ] m∈[1,M ] s∈[1,S] t=0 i∈[1,F ] m∈[1,M ] s∈[1,S]
X X
− ris (t)psi (t)]|Θ(t)} − ris (t)psi (t)]}
s∈[1,S] s∈[1,S]

X X F
X T −1 F
[Qsi (t)E{[ris (t) − µs∗ s∗
X X X X
+ ij (t) − Di (t)]|Θ(t)} + [Qsi (t)E{[ris (t) − µs∗ s∗
ij (t) − Di (t)]}
i∈[1,F ] s∈[1,S] j=1 t=0 i∈[1,F ] s∈[1,S] j=1
F
X F
+ Zis (t)E{[ǫs − µs∗ s∗
X
ij (t) − Di (t)]|Θ(t)}]. + Zis (t)E{[ǫs − µs∗ s∗
ij (t) − Di (t)]}].
j=1 j=1

Next, we take expectations on both sides the inequality, we Dividing T · V on both sides and taking limitation on T to
24

infinity, we have that maximum weight among all jobs at this cloud demanding type-
−Π ≤B/V − Π∗ m VMs; and ii) the per-VM operational price βi (t)/Cim at
X X F
X cloud i. With the winner determination of our double auction
+ [Q̄si [r̄is − µ̄s∗ s∗
ij − D̄i ] mechanism, ϑm j (t) is the j
th
lowest price of sell-bids from all
i∈[1,F ] s∈[1,S] j=1
clouds for type-m VMs.
F
X If the maximum buy-bid price θ1m (t) is larger than the j th
+ Z̄is [ǫs − µ̄s∗ s∗
ij − D̄i ]]
lowest sell-bid price ϑm j (t), we have that i) with an idealized
j=1

≤B/V − Π∗ .
double auction, cloud ím has a higher buy-bid price than the
sell-bid such that it can buy all VMs of type m from the
PThe second inequality is based Pon the fact that r̄is − cloud proposing ϑm
F j (t); ii) with the job scheduling decision in
s∗ s∗
j=1 µ̄ij − D̄i ≤ 0 and ǫs − F s∗ s∗
j=1 µ̄ij − D̄i ≤ 0. Eqn. (44), all VMs of type m are allocated for job scheduling
Rearranging the two sides, we have that at cloud ím for service type śm . Hence, the job scheduling
Π ≥ Π∗ − B/V, decision in Algorithm 2 is equivalent to the idealized double
auction that, the bidder with highest buy-bid price can buy all
A PPENDIX K VMs from those sellers with a lower sell-bid price. Fig. 5 gives
P ROOF TO T HEOREM 8 an illustration for the case. In Fig. 5, the buy-bids are sorted
We have shown that, Algorithm 2 achieves a social welfare in descending order while the sell-bids are sorted in ascending
with a constant gap to the offline optimum, by minimizing the order. Let there are k sell-bids with lower price than that of
RHS of drift-plus-penalty inequality in Eqn. (37) according to the highest buy-bid θ1m (t). Here, k is the maximum number
the Lyapunov optimization theory [19]. Hence, if we can prove of sell-bids, whose prices ϑm j (t) (j ∈ [1, k]) are lower than
that, Algorithm 1 can also minimize the RHS of Eqn. (37), that of the highest buy-bid θ1m (t), i.e.,
i.e., maximizing problem (38) and (39), we can also prove its
k = arg max {ϑm m
j (t) < θ1 (t)|∀j ∈ [1, i]}.
social welfare optimality. Our intuition of the proof is that, i∈[1,F ]

when the number of clouds in the federation grows to infinity, We know that all the k sellers sell all VMs of type m to the
the gap to the minimum of RHS of Eqn. (37), i.e., the gap cloud with θ1m (t), i.e., cloud ím .
to the maximum of problem (38) and (39), by Algorithm 1 is However, the idealized cloud cannot give truthfulness guar-
infinitely close to zero. antee. With our double auction mechanism, in Fig. 5, only
– Gap to the minimum of RHS of Eqn. (37) with Algorithm 1: the (j ′ − 1) sellers, whose sell-bid prices are no larger than
As discussed above, problem (39) is only controlled by the second highest buy-bid price θ2m (t), will sell their VMs
the job drop decisions, i.e., Dis (t). Since Algorithm 1 and to cloud ím . Here, j ′ is the maximum number of sellers with
Algorithm 2 have the same decision on job dropping as in sell-bid prices no larger than θ2m (t), as defined in Eqn. (31).
Eqn. (30) and Eqn. (46), the maximum of problem (39) is also Hence, the gap to the maximum of problem (38) by Algorithm
achieved by Algorithm 1. Hence, the gap to the minimum of 1 is determined by the VMs that are not sold to cloud ím by
RHS of Eqn. (37), by Algorithm 1 only depends on its gap sellers between j ′ and k.
to the maximum of problem (38), which is determined by the If these VMs of type m are allocated to cloud ím with
job scheduling and server provisioning decisions. Algorithm 2, their utility gain in problem (38) is that
We first map the job scheduling and server provisioning X Qíśm (t) + Zíśm (t)
decisions in Algorithm 2 to an equivalent VM allocation based [ m m
− V βj /Cjm ] · Cjm Njm
gśm
on an idealized double auction scenario. Let each cloud still j=[j ′ ,k]
X
proposes its buy-bid and sell-bid based on the true valuations = [θ1m (t) − βj /Cjm ] · V · Lm
j (t).
given in Eqn. (21), (22), (25) and (26). j=[j ′ ,k]
With Eqn. (21), we have that the price of buy-bid for VM Here, the server provisioning decisions, i.e., nm i (t), are re-
type m at cloud i is V1 of the maximum weight among all placed by job scheduling decisions, i.e., µsij (t), according to
jobs at this cloud demanding type-m VMs. With the winner Eqn. (43) in Algorithm 2.
determination of our double auction mechanism, θ1m (t) is the If these VMs of type m of sellers j ∈ [j ′ , k] are not traded to
maximum price of buy-bids from all clouds for type-m VMs. cloud ím based on our double auction mechanism, these VMs
Hence, the cloud with buy-bid θ1m (t) has the maximum weight are either scheduled to serve the jobs with maximum weight
among all jobs demanding type-m VMs at all clouds. at its own cloud, if the maximum weight is higher than the
According to the definition of < ím , śm > in Eqn. (45), per-VM operational price, or inactivated otherwise, according
we know that jobs of service type śm at cloud ím has the to the job scheduling decision in Eqn. (28) of Algorithm 1.
maximum weight for VM type m over all service types at Hence, the utility gain of these VMs for problem (38) with
each cloud demanding for the same VMs. Hence, cloud ím Algorithm 1 is that
proposes the maximum buy-bid price θ1m (t), which is V1 of
X
[ϑm m m
j (t) − βj /Cj ] · V · Lj (t).
the weight of type-śm jobs at cloud ím . j=[j ′ ,k]
With Eqn. (22), we have that the price of sell-bid for VM So, the gap to the maximum of problem (38) by Algorithm
type m at cloud i is the larger one between i) V1 of the 1 is the difference between the above utility gains, as follows,
25

that Qsi (t) and Zis (t) have finite upperbounds, we can then
V ·
X
[θ1m (t) − ϑm m have that the state space S is also finite. In conclusion, the
j (t)] · Lj (t), (56)

j=[j ,k]
Markov chain is irreducible with an aperiodic state and finite
which is equivalent to the size of the shadow area in Fig. 5, state space. Hence, the Markov chain is ergodic.
multiplied by V . We know that the prices of buy-bid and sell-bid for each VM
′ m at cloud i are calculated with its current status Θi (t), as
Since ϑm j (t) > θ m
2 (t) for each j ∈ [j + 1, k], we can give type
an upperbound to the gap as follows, well as the current operational price βi (t) (only for sell-bid),
V ·
X m
[θ1 (t) − ϑm m according Alg. 1. Since the cloud’s status follows an ergodic
j (t)] · Lj (t),

j=[j ,k]
process and the operational price is also ergodic according
m m m
X m m m to our problem model, we know that the prices of buy-bid
=V · [[θ1 (t) − ϑj ′ (t)] · Lj ′ (t) + [θ1 (t) − ϑj (t)] · Lj (t)],
j=[j ′ +1,k]
and sell-bid are also ergodic. Recall that we are proving the
m m m m m asymptotic optimality in social welfare by Algorithm 1 under
≤V · [[θ1 (t) − θ2 (t) + ϑj ′ +1 (t) − ϑj ′ (t)] · Lj ′ (t)
X homogenous system settings. Hence, we can have that the
+ [θ1m (t) − θ2m (t)] · Lm j (t)] prices of buy-bids and sell-bids at different clouds follow the
j=[j ′ +1,k]
X same ergodic process.
=V · [[ϑm m m
j ′ +1 (t) − ϑj ′ (t)] · Lj ′ (t) + [θ1m (t) − θ2m (t)] · Lm
j (t)]. Let the price of buy-bid for VM type m follow a distribution
j=[j ′ ,k] E with continuous density e on the compact interval [0, b̄].
(57) Qi
s̄(max)
+Zi
s̄(max)

Since the system is homogenous with the same number of Here, b̄ = V ·gs̄ , where s̄ is the service type with
s(max) s(max)
servers for each VM type m at each cloud, the value of Lm j (t) maximum value of
Qi +Zi
all types in [1, S]
among
V ·gs
at each cloud j ∈ [1, F ] is also the same. We use Lm to denote with sm = m. Let the price of sell-bid for VM type m follow
that value. Hence, the gap in Eqn. (57) can be rewritten as a distribution H with continuous density h on the compact
′ (min)
V · Lm [[ϑm m m m
j ′ +1 (t) − ϑj ′ (t)] + [k − j ][θ1 (t) − θ2 (t)]]. (58) interval [b, b̄]. Here, b = βi /Cim . Denote the maximum
¯ ¯
and minimum of e and h as follows,
1
m Buy-bids: emin = min e(x) > 0, emax = max e(x) > 0,
descending order x∈[0,b̄] x∈[0,b̄]
m min max
2 h = min h(x) > 0, h = max h(x) > 0.
!j'm
x∈[b,b̄] x∈[b,b̄]
¯ ¯
Then, we can have the following lemma according to
Sell-bids: Lemma 1 in [23],
ascending order Lemma 4:
1 1
≤E{θj − θj+1 } ≤ min , ∀j ∈ [1, F − 1],
emax (F + 1) e (F + 1)
1 1
j'-1 j' k ≤E{ϑj+1 − ϑj } ≤ min , ∀j ∈ [1, F − 1].
hmax (F + 1) h (F + 1)
Here, E{·} denotes the expectation.
Fig. 5. Illustration of the auction.
– Asymptotic Optimality in Minimizing the RHS of Eqn. (37)
We next show that, when the number Buy-bids:of clouds scales to with Algorithm 1:
infinity, the gap in Eqn. (58) is infinitely closeorder
descending to zero, by With Lemma 4, we can further bound the gap in Eqn. (58)
analyzing the distribution of bidding prices based on the cloud to the maximum of problem (38) by Algorithm 1 as follows,
number Fj'. ′
V · Lm [[ϑm m m m
j ′ +1 (t) − ϑj ′ (t)] + [k − j ][θ1 (t) − θ2 (t)]]
– Distribution of bidding prices: ′
1 k−j
Sell-bids:
The distribution of the bidding prices should be analyzed in ≤V · Lm [ min + min ]
ascending ordersize of the gap h (F + 1) e (F + 1)
order to find an analytical result between the
in Eqn. (58) and the number of clouds F . Since each seller between j ′ and k has a sell-bid price
Let Θi (t) be the status of cloud i at time slot t. We see between θ1m (t) and θ2m (t), the sell-bid prices of all these
that the status Θi (t) is a Markov chain with Algorithm 1. sellers resides in an interval which has an expectation no larger
j'-1 j' 1
Define S = {ρ : Pr(Θi (t) = ρ|Θi (0) = 0) for some t}, then than emin (F +1) . On the other hand, since the expected interval
Θi (t) is an irreducible Markov chain on state space S with between each sell-bid is no smaller than hmax1(F +1) , we know
Θi (0) = 0. This claim is true because i) any state in S is that the expected interval between the j ′ seller and the k seller
k−j ′
reachable from 0 and ii) since Pr(ris (t) = 0) > 0, ∀s ∈ [1, S], should be no smaller than hmax (F +1) , which should be still
1
the Markov chain can move from Θi (t) to 0 in finite time with no larger than emin (F +1) . Hence, we have that
a positive probability. (Qsi (t) can be cleared by job scheduling k − j′ 1
≤ min
or dropping while virtual queue Zis (t) can also be cleared after hmax (F + 1) e (F + 1)
Qsi (t) is zero for a constant time, according to the queueing hmax
⇒k − j ′ ≤ min .
laws Eqn. (2) and (4)) Based on the same reason as above, e
the state 0 is an aperiodic state. With Lemma 1 we know
26

Finally, we can bound the gap to the maximum of problem


(38) by Algorithm 1 as follows,
1 hmax /emin
V · Lm [ + ].
hmin (F + 1) emin (F + 1)
It is clear that this gap is infinitely close to zero when the
number of cloud in the federation F grows to infinity.
– Asymptotic Optimality in Social Welfare of Algorithm 1:
When the number of clouds in the federation scales to
infinite large, i.e., F → ∞, the RHS of Eqn. (37) is minimized
in each time slot t with our Algorithm 1 and our double
auction mechanism. Thus, following the same steps, as above,
to prove the social welfare optimality of Algorithm 2, which
also minimizes the RHS of Eqn. (37) in each time slot t, we
can prove that the time-averaged social welfare achieved with
our Algorithm 1 is within a constant gap B/V from the offline
optimum Π∗ , when F → ∞, i.e.,
Π ≥ Π∗ − B/V,

You might also like