Computer Networks 151 (2019) 42–51
Contents lists available at ScienceDirect
Computer Networks journal homepage: www.elsevier.com/locate/comnet
Online task allocation in mobile cloud computing with budget constraintsR Yu He a, Lin Ma a, Ruiting Zhou b,∗, Chuanhe Huang a,∗, Zongpeng Li a a
School of Computer Science, Wuhan University, Wuhan, China Key Laboratory of Aerospace Information Security and Trusted Computing, Ministry of Education, School of Cyber Science and Engineering, Wuhan University, Wuhan, China
b
a r t i c l e
i n f o
Article history: Received 18 June 2018 Revised 23 October 2018 Accepted 3 January 2019 Available online 9 January 2019 Keywords: Mobile cloud computing Cloudlets Mobile offloading Online algorithms
a b s t r a c t Cloud computing offers task offloading opportunities for resource-constrained mobile devices. Such offloading comes with a round-trip communication delay that may be impractical for mobile applications. For controlling such delay, mobile cloud computing offloads user tasks to cloudlets at the edge of the Internet, which are close by. This work studies the allocation and scheduling of user applications for offloading to cloudlets. We first consider an offline scenario where a one-shot decision is made, towards maximizing revenue of the cloud provider. We employ a tailored rounding technique to design an efficient and effective approximation algorithm, for offline offloading. Then we further tackle the more practical and challenging online scenario, where users arrive stochastically, each subject to an overall offloading budget. We employ the one-round approximation algorithm as a building block in a primal-dual online optimization framework, and design an efficient online offloading algorithm that respects user budgets, while providing provable competitiveness in provider revenue. © 2019 Elsevier B.V. All rights reserved.
1. Introduction Mobile devices, as exemplified by smartphones and tablets, have proliferated through the past two decades. Their capacity of transmitting, sharing, and processing information have led to an era of mobile computing [1,2], which underlies many applications in Information and Communications Technologies (ICT). Mobile devices are often resource-constrained, and offer limited supply of storage, battery capacity and network bandwidth. Such limitations represent a major hurdle in the further development of mobile computing. A potential amelioration lies in the recent paradigm of cloud computing. Cloud computing enables elastic, on-demand access to computing infrastructures and resources. Computing resources such as CPU, RAM, disk storage and bandwidth can be leased and accessed by clients remotely and dynamically. Such a principle of flexible resource leasing has been engrafted into the mobile computing domain, known as mobile cloud computing (MCC). Mobile cloud computing applications, such as Apple iCloud
R This project was supported in part by NSFC (61571335, 61628209), by Hubei Science Foundation (2016CFA030, 2017AAA125). ∗ Corresponding authors. E-mail addresses:
[email protected] (Y. He),
[email protected] (L. Ma),
[email protected] (R. Zhou),
[email protected] (C. Huang),
[email protected] (Z. Li).
https://doi.org/10.1016/j.comnet.2019.01.003 1389-1286/© 2019 Elsevier B.V. All rights reserved.
[3] and Microsoft LiveNfesh, combine the convenience of mobile computing with the agility of cloud computing, for better serving mobile users and applications. Mobile cloud computing has potential to substantially mitigate resource constraints faced by mobile devices, by offloading computation-extensive tasks to the cloud for remote execution [4]. However, such task offloading and remote execution inevitably lead to a round-trip delay between the mobile device who initiates the offloading, and the remote datacenter who accepts the offloading. Depending on the physical distance and the level of delaytolerance of the mobile application, such offloading latency may or may not be acceptable in practice. To address this problem, a latest trend is to deploy and employ cloudlets, mobility enhanced small scale cloud datacenters located at the edge of the Internet [5]. Cloudlets aim to better support communication-intensive and delay-sensitive applications. Many user tasks, such as traffic monitoring, price checking, epidemic monitoring and video capturing, could be satisfied by cloudlets in their proximity. Cloudlets exhibit natural diversity in their location and resource offerings; consequently, mobile cloud users have different preferences over cloudlets [6], as shown in Fig. 1. While enabling short offloading delays, cloudlets come with their own challenges. First, resources available at cloudlets are often heterogeneous and dynamic [7]. Optimal resource allocation strategies for maximizing social welfare or provider revenue is a
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
more general problem of the classic knapsack problem [8,9], and is NP-hard in nature. Efficient and effective algorithm design is challenging. A satisfactory solution involves carefully scheduling user tasks for offloading, based on realtime availability of resources in nearby cloudlets. Second, in realworld offloading scenarios, offloading requirements arrive on the fly, and available resource capacity at cloudlets fluctuates over time [10]. Early offloading solutions in the literature are of an offline nature, which makes oneshot offloading decision for matching user tasks with cloudlets. Such solutions are inefficient in the online setting. An online solution, instead, responds to each arriving offloading request based on current MCC system state. Third, mobile users are often subject to a practical budget for task offloading, over a given time period. Optimization over the long run thus requires judiciously taking into account a user’s remaining budget, upon making offloading decisions for its tasks. Many existing studies on mobile task offloading focus on offline task allocation only [11]. Budgetconstrained offloading requires joint optimization over correlated operation rounds. Besides an explicit model of offloading budget at mobile users, this work further considers the practical constraint of task threshold at mobile users, i.e., the number of tasks each cloudlet can handle simultaneously. We aim to design effective task allocation mechanisms for MCC. In the offline setting, we have access to full knowledge of mobile cloudlets and user tasks for offloading. In the online setting, users arrive stochastically in sequential order, and offloading decisions are to be made immediately, without information on future tasks. The online model involves task allocation over multiple rounds that are coupled by user budgets. Our task allocation mechanisms are designed with the following goals: (i) Computational efficiency: We require the task allocation to be computationally efficient, executing in polynomial time. (ii) Revenue maximization: The mechanism should maximize the revenue of the resource provider, which is the total payment collected from mobile users. We formulate the revenue maximization problem in MCC into an integer linear program (ILP), which is proven NP-hard to solve. We design an efficient approximation algorithm based on dependent rounding, to compute a near-optimal solution in polynomial time. There is a rich body of work that studies task offloading in MCC through dynamic programming algorithms [12]. They often resort to recursion for solving subproblems, and cannot be realized in polynomial time. Our algorithm employs instead dependent rounding [13], a classic technique for efficient approximation algorithm design for ILPs, witnessing an ongoing round of renaissance in theoretical computer science. We start by designing a near-optimal approximation algorithm to solve the offline task allocation problem in MCC, in which all tasks are known. After obtaining the ILP formulation of the revenue maximization problem, we first compute an optimal fractional solution in polynomial time. A tailored rounding algorithm is leveraged to extract an approximate integer solution, ensuring a small integrality gap. With limitation of user budget considered, we conduct a worst case analysis on the approximation ratio, and prove its upper-bound. We next consider the more practical online scenario, where offloading requests from mobile users may arrive at any time in a given time window, and any task ordering is possible. A key idea here is to avoid prematurely depleting a user’s budget, by giving higher priority to mobile users with high remaining budgets. We design a round by round algorithm that iteratively adjusts a scaling factor based on users’ realtime budget, helping adjusting user bids into virtual bids. A series of one round combinatorial task allocations are then executed, each under a fixed virtual price vector. For one-round optimization, we reuse the rounding algorithm designed for the offline setting. Finally, we prove that the competi-
43
3ξ tive ratio of our online algorithm is bounded by 4(1+ . Here ξ is a U) non-negative parameter bounded as ξ ≤ 1. U is the maximum ratio of a user’s valuation over its budget, which is bounded as U 1. In the rest of the paper, we review related literature in Section 2. The main task allocation mechanism in MCC is defined in Section 3. The offline and online task allocation schemes are presented and analyzed in Section 4 and Section 5, respectively. Simulation studies are presented in Section 6, and Section 7 concludes the paper.
2. Related work The literature of mobile cloud computing has witnessed a series of studies on resource allocation mechanisms. Bidoura et al. [14] study the offloading of resource-famished tasks in MCC, which sparked new research directions in this field. Wang et al. [12] propose a chain structure task allocation scheme, aiming to minimize the total number of mobile devices participating in task execution. Chen et al. [15] investigate the offloading of multiple independent tasks, targeting system-wide cost minimization. Chakroun et al. [16] study an approach for optimizing MCC resource allocation, and target minimizing response time while improving resource availability. None of the above studies explicitly model both mobile users’ budget constraint and the resource restriction at mobile cloudlets. The problem of resource allocation was also studied in the literature with different focuses. Kalaitzis [17] proposes a classic maximum budgeted allocation mechanism, which deals with the problem of assigning indivisible items to players with budget constraints. Shi et al. [18] study the problem of running independent tasks and maximizing social welfare in the cloud through a budgetbound model. Yi et al. [19] solve the budget optimized joint resource allocation problem, with the goal of minimizing the rental cost for users. Wang et al. [20] study energy minimization and resource allocation in cloud radio access networks supported by mobile cloud computing, under deadline constraints of user tasks. Different from these studies, this work considers the total revenue of the cloud resource provider. We also consider resource allocation over a relatively long period of time. In addition to the offline setting, we also serve mobile users in an online manner. We show how one-shot solutions in a traditional round-by-round model can be extended to solve the online task allocation problem in MCC. The primal-dual method has proven effective for designing online algorithms in the cloud computing paradigm, including for solving packing-type resource allocation problems [8]. Recently, Zhou et al. further develop the general primal-dual framework into a compact exponential optimization framework [9], which can handle non-traditional constraints such as job deadlines and job dependence, whose corresponding dual variables are hard to interpret and update. Departing from the recently popular primaldual framework, we resort to the LP rounding technique to solve our task allocation problem. Our work was partially inspired by Kalaitzis et al. [21], who make new developments of the wellknown ST rounding algorithms. Their work is implicitly confined to the offline domain, and does not apply to online MCC task allocation that includes a non-trivial temporal dimension in decision making. 3. System model We consider an MCC system that includes: (a) a number of cloudlets acting as computing service providers, and (b) a large number of resource-limited mobile users issuing task offloading requests. Mobile users have functional interfaces for initiating offloading to a resource provider, through base stations. The resource provider develops an allocation strategy between the users and the
44
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
cloudlets. Remote cloudlets provide heterogeneous resources that constitute a geographically distributed resource pool, and are remutated for providing computing services. There are I mobile users with a set of tasks in the MCC task allocation problem. The resource provider allocates each user’s task to M cloudlets, and each task is performed by at most one cloudlet. Resources in a cloudlet are of limited supply [22,23]; this is modelled by a vector of capacity thresholds {S1 , . . . , Sm , . . . , SM }. Let [X] denote the set of integers {1,2,...,X}. In our task allocation mechanism, mobile device users each submits a requirement i , which is a 3-tuple:
i = (Ni , Vin , Bi ).
Table 1 List of Notations.
θinm =
1 0
if user i’s task n is accepted by cloudlet m. otherwise.
# of mobile users
M Ni T X Sm Vin ϑin (t) Bi Gi
# of cloudlets in MCC # of tasks of user i # of time slots integer set {1,2,... X} a collection of cloudlet m’s task threshold. valuation of user i’s task n the scaled valuation of i’s n-th task at round t total budget of user i total payment of winner i accept user i’s task n by cloudlet m (1) or not (0) # of mobile users at round t scaling factor for user i’s valuation at round t optimal fractional solution of LP (2) value of each edge in bipartite graph (θ ) accept user i’s task n by cloudlet m (1) at round t or not (0) bipartite graph of tasks and cloudlets # of cloudlet nodes in bipartite graph (θ )
θ inm
(1)
It
κ i (t) θinm ∗ θinm θ inm (t) (θ )
Here Ni is the number of tasks submitted by mobile user i, and Vin is the valuation of user i’s task n, i.e., use i’s willingness to pay for completion of task n, ∀n ∈ [Ni ]. Bi is the total budget of user i. Bi indicates the total sum of money user i can pay for its task offloading. A binary variable θ inm indicates:
I
Lm
subject to:
The objective of MCC resource allocation is to compute the optimal combinations of tasks that can be supported, such that the revenue of the resource provider is maximized. An example is illustrated in Fig. 2. When the resource provider receives a user’s request, it computes allocation decisions for communication to both the users and the cloudlets. It also needs to calculate the payment to charge each user. Given a coalition of resource provider and the optimal resource allocation to mobile users, the payment from user i cannot exceeds use i’s budget Bi , and equals the minimal of its budget and its willingness to pay, i.e., min(Bi , n∈N Vin θinm ), i which is denoted by Gi . The reason can be explained as follows: On one hand, it is possible that user i cannot afford to offload the accepted tasks, although it is willing to pay n∈N Vin θinm . The rei source provider will still accept its request, because it can earn more money by doing this. The payment to charge user i equals user i’s budget. On the other hand, if user i can afford to offload selected tasks, the payment is just n∈N Vin θinm .
Gi ≤ Bi , ∀i ∈ [I],
Definition 1. Provider Revenue. The objective of MCC task allocation is to maximize the cloud provider’s revenue, which is the sum of payments received from mobile users, limited by their re spective budgets: i∈I min(Bi , n∈N Vin θinm ).
4.2. Dependent rounding for MCC task allocation
Gi ≤
Vin θinm , ∀i ∈ [I],
(2a) (2b)
n∈[Ni ] m∈[M]
θinm ≤ Sm , ∀m ∈ [M],
(2c)
i∈[I] n∈[Ni ]
θinm ≤ 1, ∀i ∈ [I], n ∈ [Ni ],
(2d)
m∈[M]
θinm ∈ {0, 1}, ∀i ∈ [I], ∀n ∈ [Ni ], ∀m ∈ [M].
(2e)
Constraints (2a) and (2b) limit the revenue from accepted users with user budget and payments. (2c) models processing capacity of cloudlets. (2d) ensures that a task m is accepted by at most one cloudlet.
i
i
In the following sections, we first design an approximation algorithm for the offline revenue maximization problem by employing a dependent rounding technique, with a priori knowledge on all offloading requests. Besides its own merit, this offline algorithm further serves as a building block in the design of our online task allocation mechanism in Section 4, which targets long term revenue optimization in MCC. 4. Offline task allocation for revenue maximization In this section, we focus on the offline setting where all tasks are known a priori. We first formulate the revenue maximization problem into an ILP in Section 4.1. Then we design an approximation algorithm in Section 4.2, and conduct theoretical analysis in Section 4.3. 4.1. Revenue maximization problem With known information of user tasks, the revenue maximization problem with budget constraints in our MCC task allocation problem can be formulated into the following ILP:
maximize
i∈[I]
Gi
(2)
ILP (2) is a special case of the multi-dimensional multiplechoice 0–1 knapsack problem, which is known to be NP-hard [24]. Towards efficient algorithm design, we first relax the integrality constraint θ inm ∈ {0, 1}, to
0 ≤ θinm ≤ 1, ∀i ∈ [I], ∀n ∈ [Ni ], ∀m ∈ [M].
(2f )
We then employ dependent rounding to solve the ILP by rounding its fractional solutions, aiming at a theoretically guaranteed approximation ratio. , by solvFirst, we compute the optimal fractional solution θinm ing the LP relaxation of the ILP. Next, we round the fractional solu tion θinm into integer solution θ inm . For preparation of the rounding procedure, we construct a weighted bipartite graph (θ ) = (A, B, W ). One side of the graph (θ ) includes user tasks:
A = {ain |i = 1, 2, ., I, n = 1, 2, . . . , Ni }. The other side contains cloudlet nodes:
B = {bml |m = 1, 2, . . . , M, l = 1, 2, . . . , Lm }.
. The L nodes in graph (θ ) correLet Lm = i∈I n∈N θinm m i spond to cloudlet node m (each node lm denotes an accepted task at cloudlet m). Since each user submits multiple tasks, we let ni represent user i’s n-th task for simplicity. Edges in the bipartite graph correspond to cloudlet-task pairs > 0. Let θ ∗ (a , b ) denote the weight of edges in such that θinm in ml graph (θ ). We construct graph (θ ) in the following way:
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
(i) Sort task nodes by valuation, in non-increasing order. ≤ 1, ∀m ∈ [M], we put edge (a , b ) into (ii) If i∈I n∈N θinm in ml i . We ensure that the tothe edge set W, and set θ ∗ (ain , bml ) = θinm tal weight of edges corresponding to one cloudlet node lm is at most 1. (iii) If i∈I n∈Ni θinm > lm , ∀m ∈ [M], for each node lm = 1, 2, . . . , Lm , we find the first index nilm that i∈I n∈Ni θinm ≥ lm (such as a cut point), then put these edges (ain , bml ) where the index {inm} is within the (ni(lm −1 ) , nilm ) into the edge set W, and set θ ∗ (ain , bml ) = θinm for each of these edges. (iv) For each cut point, we put the edge (ain , bml ) where the index {inm} is nilm into W, and let θ ∗ (ain , bmlm ) = lm − , θ ∗ (a , b θinm in m (lm +1 ) ) = i∈I n∈N /n i∈I n∈N θinm − lm . i
ilm
i
(v) Repeat the above steps until the collection W contains all edges, and the bipartite graph is constructed. Based on the bipartite graph constructed, we introduce a ∗ matching scheme that rounds θinml (i.e. θ ∗ (ain , bml )) to an integer . In this bipartite graph, the following properties hold. variable θinm Theorem 1. In the bipartite graph (θ ) = (A, B, W ), the weight of edges is θ ∗ (ain , bmlm ). The matching scheme generates an integer solution that satisfies two properties: (1) For every edge (ain , bml ) in the . (2) Let s be the subset of W for all the graph, P r[θinm = 1] = θinm edges w ∈ W, then we have P r[ w∈W (θw = 1 )] ≤ w∈W P r[θw = 1] [13]. The proof of Theorem 1 is in Appendix A. The main idea of our matching scheme is that tasks with greater value should be assigned as early as possible. We will prob∗ abilistically modify θinml to the integer solution θ inm ∈ {0, 1} in several iterations. The initial step of our algorithm is to remove all ∗ the integer weighted edges from the edge set W, i.e., θinml = 1. We ∗ first process the θinml value so that for each vertex in the bipartite graph, the value i∈I n∈Ni θinm is preserved. Because our graph (θ ) is bipartite and contains only even cycles, all cycles disappear after a certain number of iterations. Our goal is to obtain integral values, thus the values accord with matchings and the sums of edge values are conserved in expectation. We divide a path or cycle into two matching sets, and the edges’ value restrict how much the other edges’ value can be modified. After a number of iterations, an integer solution θ inm will be obtained. Algorithm 1 is our dependent rounding algorithm running at all users. We first compute the optimal fractional allocation solution θinm of the ILP’s LP relaxation. Next, line 1 defines variable Lm . In preparation for the rounding procedure, line 2 constructs a bipartite graph. Lines 3–22 describe the rounding process and compute which tasks are accepted. We first divide a path or cycle into two matching sets in line 8, and the modification of each edge value will not affect the total value of the bipartite graph (lines 9–11). After a number of iterations, integer solutions will be obtained (lines 12–22). No matter whether to accept the task m of user i, we update the binary variable θ inm in line 23 accordingly. 4.3. Theoretical analysis Theorem 2. Algorithm 1 computes a feasible solution to ILP (2). is finally updated to 1 or 0 (line Proof. Our fractional solution θinm 24 in Algorithm 1), so the solution is binary valued, and satisfies constraint (IV-B). when constructing the bipartite graph, we set i∈I n∈Ni θinm nodes for one cloudlet, which is below its task capacity. The matching scheme selects at most one task to each node, and guarantees constraint (2c). During the matching process (lines 11–23), we have P r[θinm = 1] = θinm (Theorem 1), which implies constraint (2d) is also satisfied. In conclusion, we obtain a feasible solution to ILP (2).
45
Algorithm 1 A rounding algorithm. Input: Optimal fractional solutions; Output: Integral solutions; 1: Initialize Lm = i∈I n∈Ni θinm ; 2: Construct bipartite graph (θ ) = (A, B, W ) based on optimal ; fractional allocation θinm 3: while edge set W is not empty do ∗ if θinml = 1 then 4: move this edge from W into matching set S; 5: end if 6: 7: while there exists a cycle there is a longest path do Divide cycle/path into two matchings S1 and S2 ; 8: Let η = min{(θ ∗ + η = 1,in matching S1 ) or (θ ∗ − η = 0,in 9: matching S2 )}, and let ζ = min{(θ ∗ − ζ = 0, in matching S1 ) or (θ ∗ + ζ = 1, in matching S2 )}; Set θ ∗ = θ ∗ − η in S1 , and θ ∗ = θ ∗ + η in S2 with proba10: ζ bility η+ ζ; Set θ ∗ = θ ∗ + ζ in S1 , and θ ∗ = θ ∗ − ζ in S2 with probaη bility η+ ζ;
11:
12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
∗ if θinml = 1 then Put this edge into matching set S; end if ∗ if θinml = 0 then Remove this edge from W; end if end while if there is no cycle or longest path then Put remaining edges into matching set S; ∗ set θinml = 1; end if end while ∗ ; Update: Set θinm = θinml
Lemma 1. There exists a slightly weaker bound for each user’s payment: G∗i ≥ β Bi , ∀i ∈ [I]. G∗i is user i’s payment computed by Algorithm 1, and β ≤ 1 is a non-negative parameter. Proof. First we conduct a worst-case analysis of the algorithm. As we can see from the output of Algorithm 1, each user wins a set of tasks C to several cloudlets. Let denote the collection of tasks that may be assigned to cloudlets and xiC = C θ be the ∗ probability of selecting task set C. Gi is the revenue of user i. These results may over-spend a user’s budget, i.e., Gi is equal to min(Bi , n∈N Vin ), it is necessary to evaluate the unutilized value i UC , which is the valuation of allocated tasks minus the solution of our algorithm, UC = n∈N Vin − G∗i . In the worst case analysis, the i tasks’ maximum non-utilized value is smaller than the maximum utilized value, and that is the foundation of our proof. Definition 2. Let U be the collection of task sets in which the non-utilized value is non-negative, i.e., C Vin ≥ Bi . XU = C∈ U xiC is the probability of picking a task set with non-negative non utilized value. = C∈ U UC xiC /XU represents the average nonutilized value among the task set with non-negative non-utilized value. In addition, ω = C∈ \U UC xiC /(1 − XU ) is the average utilized value. When user i’s tasks are accepted and the non-utilized value is non-negative, i.e., C Vin ≥ Bi , ∀C ∈ U , the payment of each user is:
G∗i
≥
C∈ U
xiC Bi +
C∈ U
xiC UC
≥ XU Bi + (1 − XU )ω. We examine the above inequality from two different aspects: (i) We have Bi = ω, then G∗i ≥ Bi , it directly follows.
46
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
(ii) Bi > ω, we have:
xiC
Vin =
n∈
(Bi + UC ) +
C∈ U
Gi
C∈ /U
= XU (Bi + UC ) + (1 − XU )ω, ⇒ G∗i ≥ XU Bi + (1 − XU )ω = xiC Vin − XU .
n∈
By definition of the average non-utilized value , it is clear that ≤ xiC n∈ Vin − XU Bi . We define λ as xiC B n∈ Vin , and we i
have
G∗i
≥
xiC
Vin − XU
n∈
xiC
n∈
= (λ − λXU + XU2 )Bi . Define a parameter β to be (λ − λXU + XU2 ), thus the revenue of
2 user i has been bounded by G∗i ≥ β Bi . Given that λXU − XU2 ≤ λ4 , 2 ≥ λ − λ4 . According to the above definition of
we have β λ, λ ≥ 2 implies that the value of user i is always greater than its budget Bi ; and λ ∈ [1, 2] implies that 1 ≥ (λ − λXU + XU2 ) ≥ 34 . This will be used in the subsequent proof of Theorem 3. to LP (2) for all users, Theorem 3. Given a fractional solution θinm Algorithm 1 can compute a feasible solution with revenue at least 2 (4−λ ) OP T , in which β ≥ λ − λ4 and λ ∈ [1, 2]. 4β
Proof: Since the payment of users cannot their budget exceed x V expectations, based on the definition λ = iC B n∈ in , the ex-
E
Gi
i
= E min
i∈[I]
≥E
Vin θinm ,
i∈[I] n∈[Ni ]
1−
λ 4
Vin θinm
i∈[I] n∈[Ni ]
By Theorem 1, we have proven the property of the matching . It is worth noting that in each itscheme, i.e., P r[θ = 1] = θinm eration j of the rounding algorithm, E[θinm j ] = E[θinm( j+1 ) ], ∀ j ≥ 1. , thus When j = 1, we have E[θinm1 ] = θinm . P r[θinm = 1] = E[θinm j ] = E[θinm1 ] = θinm
However, at the final iteration, we round the remaining edges . Therefore, the to θinm = 1 directly, which implies E[θinm j ] ≥ θinm revenue of our Algorithm 1 is
E[Gi ] ≥ E[(1 −
λ ) Vin θinm ] 4
i∈[I] n∈[Ni ]
λ = (1 − ) Vin E[θinm ] 4
i∈[I] n∈[Ni ]
λ ≥ (1 − ) Vin θinm 4
= (1 −
λ 4
5.1. Online task allocation with revenue maximization We consider online task allocation in a time-slotted fashion, within a time span of {1, 2, ..., T}, where T is a potentially large number. We reuse symbols in the offline mechanism, with a superscript t to represent the time slot. Vin (t) is the valuation of user i’s n-th task at t. θ inm (t) is a binary variable, where θinm (t ) = 1 if cloudlet m accepts user i’s task n and 0 otherwise. The online revenue maximization problem is:
maximize
i∈[I] n∈[Ni ]
)OPT
From the discussion above, we can obtain a feasible solution at least (1 − λ4 )OP T . Recall that λ ∈ [1, 2], thus Algorithm 1 guarantees an approximation ratio of 1/2. Theorem 4. ILP 2 is (approximately) solved by Algorithm 1 in polynomial time.
Gi (t )
(3)
i∈[I] t∈[T ]
subject to:
Gi (t ) ≤ Bi , ∀i ∈ [I],
(3a)
t∈[T ]
Bi
i∈[I]
5. The online task allocation mechanism In this section, we study online task allocation in MCC. We first formulate the ILP for revenue maximization, and design an efficient algorithm in Section 5.1, to be analyzed in Section 5.2.
Vin − XU Bi
pected revenue of Algorithm 1 is:
Proof. In Algorithm 1, we first compute the fractional solution to the LP relaxation of ILP (2) in polynomial time (line 1). Lines 2–3 can be executed in linear time for the initialization of variables and bipartite graph. For each edge in set W, we first take O(1) steps to conduct a preliminary assignment (lines 5–10). Since at least one edge is processed per iteration, the while loop terminates in O(|W|) iterations. In each iteration, a simple cycle or maximal path can be found in O(INi + MLm ) steps via Depth First Search (lines 12–21). Thus the running time of the while loop in Algorithm 1 is O(|W |(INi + MLm )). Finally, line 24 takes O(1) steps to update variable θ . In summary, Algorithm 1 runs in polynomial time.
Gi (t ) ≤
Vin (t )θinm (t ), ∀i ∈ [I],
(3b)
n∈[Ni ] m∈[M] t∈[T ]
t∈[T ]
θinm (t ) ≤ Sm (t ), ∀m ∈ [M], ∀t ∈ [T ],
(3c)
i∈[I] n∈[Ni ]
θinm (t ) ≤ 1, ∀i ∈ [I], n ∈ [Ni ], ∀t ∈ [T ],
(3d)
θinm (t ) ∈ {0, 1}, ∀i ∈ [I], n ∈ [N], m ∈ [M], t ∈ [T ].
(3e)
m∈[M]
Constraints (3a) and (3b) ensure that the total payment of each user is within its budget. Constraint (3c) limits the number of tasks assigned to cloudlet m at t by its task threshold. (3d) ensures that each task is accepted by at most one cloudlet. During each round t, our online mechanism computes the maximal revenue of this round, and then enters the next round. Revenue maximization is achieved in a round-by-round fashion. The one-round task allocation ILP is:
maximize
Gi (t )
(4)
i∈[It ]
subject to:
Gi (t ) ≤
ϑin (t )θinm (t ), ∀i ∈ [It ],
(4a)
n∈Ni m∈M
t∈[T ]
θinm (t ) ≤ Sm (t ), ∀m ∈ [M],
(4b)
θinm (t ) ≤ 1, ∀i ∈ [It ], n ∈ [Ni ],
(4c)
i∈I n∈[N]
m∈[M]
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
47
5.2. Theoretical analysis of online task allocation
θinm (t ) ∈ {0, 1}, ∀i ∈ [It ], n ∈ [N], m ∈ [M].
(4d)
While some constraints are confined to a given time slot, the budget constitutes a coupling constraint across time slots. As a key idea of the online algorithm design, we scale down the valuation of user i’s n-th task according to its remaining budget level at t, into ϑin (t). The revenue maximization problem in ILP (4) is also a special case of the multidimensional multiple-choice 0–1 knapsack problem [24], which is known to be NP-hard. We can relax the integer constraint θ inm (t) ∈ {0, 1} to θ inm (t) ≥ 0, and resort to a classic dependent rounding [25] mechanism to design an efficient one-round polynomial-time algorithm, as shown in the previous section. Now, we design the scaled valuation ϑin (t) for each round. The budget limits the number of tasks a user can accept over the T rounds, resulting in different revenue when the budget is spent in different rounds. Prematurely exhausting a user’s budget leads to suboptimal revenue. We scale down the valuation of tasks to avoid this. Algorithm 2 is designed to associate the task allocation Algorithm 2 An online task allocation algorithm in MCC. 1:
2: 3: 4: 5: 6: 7: 8: 9:
U=
for all i ∈ [I] do if κi (t ) < 1 then Solve the optimal fractional solutions of LP relaxation of ILP 4. Run rounding Algorithm 1. And we put the accepted users into ψ . end if end for if i ∈ [ψ ] then
κi (t ) = κi (t − 1 ) ∗ (1 + VinB(i t ) ) + (ρVin−1(t))B , ∀i ∈ [ψ ]; i ϑin (t + 1 ) = Vin (t + 1 ) ∗ (1 − κi (t )), ∀i ∈ [ψ ], ∀n ∈ [Ni ];
10: 11: 12:
1
κi (0 ) = 0, ϑin (1 ) = Vin (1 ), ρ = (1 + U ) U , V (t ) maxi,n,t { inB }, ∀i ∈ [I], ∀n ∈ [Ni ], ∀t ∈ [T ]; i for all t ∈ {1, . . ., T } do Initialize
else
κi (t ) = κi (t − 1 ), ∀i ∈ [I/ψ ]; end if 15: end for
13: 14:
in each round with remaining user budgets. We introduce a reduction factor κ i (t) for each user at round t:
ϑin (t ) = Vin (t ) ∗ (1 − κi (t − 1 ))
Theorem 5. The online task allocation mechanism in Algorithm 2 computes a feasible solution to ILP (3). Proof. In our one-round algorithm (lines 3–7), the fractional solution is rounded to integral, thus the solution of our algorithm is binary valued, satisfying constraint (3e). Algorithm 1 further guarantees that the number of tasks accepted by each cloudlet is within its capacity and a user’s task m is accepted by at most one cloudlet, as we can see in Theorem 2, thus constraints (3c) and (3d) are satisfied. Lines 3–13 accept tasks within remaining budget. Hence constraints (3a) and (3b) are guaranteed. In summary, the solution computed by Algorithm 2 is feasible for ILP (3). Lemma 2. Assuming that there is an optimal fractional solution ∗ (t ) of LP relaxation of ILP (3). The payment of round t is bounded θinm ∗ (t ). as E[ i∈It n∈N Vin (t )θinm (t )] ≥ δξ i∈It n∈N Vin (t )θinm i
Proof. Assume there is a one-round task allocation mechanism that produces fractional solutions θinm (t ) to the LP relaxation of (4) and has an approximation ratio δ in each round. We know the expectation of the optimal solution in round t is bounded as E[ i∈It n∈N Vin (t )θinm (t )] ≥ δ i∈It n∈N Vin (t )θinm (t ). Without i i knowing the order of the It users, we consider selecting one of the It users uniformly at random as the It -th user. We can It ∗ obtain i∈It n∈N Vin (t )θinm (t ) ≥ I i∈It n∈N Vin (t )θinm (t ). Let ξ i
i
Theorem 6. The online task allocation Algorithm 2 is competitive for ILP (3), in which U 1.
1
i
one user’s valuation and its budget. The reduction factor is:
κi (t ) = κi (t − 1 ) ∗ (1 +
Vin (t ) Vin (t ) )+ Bi ( ρ − 1 )Bi
Algorithm 2 first defines the budget scaling factor κ i (t) and initializes variables in line 1. Then for each round t and users with remaining budget, we compute solutions to the LP relaxation of (4) and round them into integral solutions (lines 3–7). If a user’s task is allocated to a cloudlet, the budget reduction factor and valuation for the next round ϑin (t) are updated in lines 8–10. The increment is carefully computed, thus the budget constraint is valid over the T rounds of online Algorithm 1; otherwise κ i (t) remains intact (lines 11–13).
δξ
1+U -
Proof. Since the valuation of tasks have been scaled down, we first show a slightly weaker property, where Vin (t) are feasible solutions computed by Algorithm 2:
Vin (t )θinm (t ) ≤ Bi (1 + U ), ∀i ∈ [I].
t∈[T ] n∈[Ni ]
To prove this property, we first show the following:
1 κi (t ) ≥ ρ −1
ρ
t∈[T ] n∈[Ni ]
Vin (t )θinm (t ) Bi
− 1 , ∀t ∈ [T ].
The inequality apparently holds for t = 0. Assuming that it holds for round (t − 1 ), we prove it at round t. Let = n∈[Ni ] Vin (t )θinm (t )
Bi
(1 + U ) U , in which U = maxi,n,t { VinB(t ) } is the maximum ratio of
i
denote the minimum ratio among T rounds, i.e., ξ = mint∈[T ] IIt . While a user’s budget can last for a long period, the value of ξ is close to 1. Consequently, the payment of round t is more than ∗ (t ). δξ i∈It n∈N Vin (t )θinm
t ∈[t −1]
This scaled valuation is updated after each round of allocation. We aim at a good competitive ratio. We define a parameter ρ =
i
:
V (t ) Vin (t ) κi (t ) = κi (t − 1 ) ∗ 1 + in + Bi ( ρ − 1 )Bi
Bi + Vin (t ) Vin (t ) ≥ (ρ − 1 ) ∗ + ( ρ − 1 )Bi ( ρ − 1 )Bi
1 Bi + Vin (t ) = −1 ρ ∗ ρ −1 Bi Because
Vin (t ) Bi
≤ U, ∀i, n, t, we have ln(1 + Vin (t )/Bi ) ≥ (Vin (t )/Bi ) ∗
(ln(1 + U )/U ) = Vin (t )/Bi ∗ lnρ ⇒
κi (t ) ≥
1 ρ −1
Bi +Vin (t ) Bi
V (t )θ (t ) inm t ∈[t ] n∈[Ni ] in Bi −1 . ρ
≥ ρ Vin (t )/Bi . Thus,
As we can see in Algorithm 2, whenever the payment of a mobile user exceeds its budget, by the above inequality κ i (t) > 1, we stop
48
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
accepting this user’s task. Assuming user i cannot participate in the mechanism at t, user i is charged more than Vin (t). The payment of user i is:
...
Vin (t )θinm (t )
Epidemic monitoring
Price checking
t∈[T ] n∈Ni
=
Vin (t )θinm (t ) +
t ∈[t −1] n∈Ni
Traffic monitoring Resource demand & Payment
Vin (t )θinm (t )
n∈Ni
Cloudlet
Cloudlet
≤ Bi + maxnt {Vin (t )}, ∀i ∈ [I]
Cloudlet Fig. 1. Task allocation in mobile cloud computing.
≤ Bi ( 1 + U ) Combining this result with each user’s payment in one-round allocation in Lemma 2, we have:
Gi = min{
i∈[I]
Vin (t )θinm (t ),
i∈[I] t∈[T ] n∈[Ni ]
≥
≥ ≥
δ 1+U
…
Cloudlet B
Bi }
Allocation strategy
δ 1+U
Resource Controller
} ∗ Vin (t )θinm (t )
Submit tasks
…
Vin (t )θinm (t )
i∈[I] t∈[T ] n∈[Ni ]
δξ 1+U
Cloudlet A
i∈[I]
min{δ,
i∈[I] t∈[T ] n∈[Ni ]
Vin (t )θ
∗ inm
(t ) =
i∈[I] t∈[T ] n∈[Ni ]
δξ 1+U
OP T
From the above, we finish our proof and establish a 1+U competitive ratio for our online task allocation mechanism in MCC, in which U 1. We note that δ = 1 − λ4 , and the valuation price in each round cannot exceed the budget, we have λ ≤ 1, thus δ ≥ 3/4. The com3ξ petitive ratio tends to 4(1+ . When U is close to 0 and ξ is close U) as illustrated in Fig. 3.
Time slots
Theorem 7. Algorithm 2 computes a feasible solution in polynomial time. Proof. In Algorithm 2, the initialization process in line 1 runs in linear time. By Theorem 4, Algorithm 1 in line 5 executes in O(|W |(INi + MLm )) time. Lines 8–13 take linear time to update variables κ i (t) and ϑin (t + 1 ). Thus the For loop (lines 2–14) can be done in O(IT |W |(INi + MLm )) time. In summary, Algorithm 2 runs in polynomial time.
Fig. 2. Online task allocation in MCC.
1
Competitive Rato
3 4,
N4=5 B4=10
N3=3 B3=6
Users arrive along with the time δξ
to 1, the competitive ratio is close to
N2=4 B2=12
N1=3 B1=5
0.8 0.6 0.4 0.2 0 0 0.2
0.5
0.4
U
6. Simulations
0.6 1
0.8 1
Fig. 3. Theoretical Competitive Ratio.
We evaluate our offline and online multiple task allocation Algorithms 1 and 2 through simulation studies in Matlab under different parameter setting, similar to that in [15,26]. We investigate a variety of cloudlets, with mobile users arriving sequentially coupled with several tasks, and task valuation uniformly distributed over [10, 50]. The number of users varies from 100 to 10 0 0, and the default value is 500. The default number of per-user tasks is 8 and that of cloudlet is 8, i.e., Ni = 4 and M = 8. For convenience, we translate the resource capacity of each cloudlet into task threshold [27], which is uniformly distributed in the range of [5, 15]. In each round of the online allocation mechanism, there is no specific requirement of which cloudlet can accept each user’s task. User i’s total budget Bi is decided by multiplying the sum of valuations in all the tasks the user may submit in the T rounds by a random coefficient in [0.5, 1]. Each allocation round corresponds to one time slot, which is 30 minutes. The system runs for T = 16 hours.
6.1. Performance of offline MCC task allocation Revenue: We first compare the algorithms with the number of mobile device users I varying from 500 to 10 0 0. Then we compare the revenue of the MCC platform with the fractional optimum. As illustrated in Fig. 4, the gap between the fractional optimum and the approximate solution is slightly affected by user density. The revenue fluctuates with the increase of the number of users. Next we compare the revenue with M varying from 4 to 8, still under different user population. As shown in Fig. 5, our offline algorithm achieves a higher social welfare when a large number of users participate in the mechanism. Approximation Ratio: We evaluate the approximation ratio of the offline multiple task allocation algorithm under 500 to 1000
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
7000 6000
7
5000
6
4000
5
Revenue
Revenue
10
Fractional Optimal solution Offline Solution
3000 2000
5
Number of task=2 Number of task=3 Number of task=4
4 3 2
1000 0
49
1 500
600
700
800
900
1000
100
Number of Users
200
300
400
500
600
Number of rounds
Fig. 4. Revenue, Integral solution vs. Fractional solution. Fig. 7. Revenue achieved by Algorithm 2 under different round number.
User tasks sastisfaction
Revenue
3000
0.35
M=4 M=6 M=8
2000
M = 10 M = 15 M = 20 M = 25
0.3
0.25
1000
0
500
600
700
800
900
1000
Number of Users Fig. 5. Revenue achieved by Algorithm 1 with different cloudlet number.
0.2
0.15 100
200
300
400
500
600
700
Number of users Fig. 8. User tasks satisfaction with different cloudlet number.
Approximation ratio
1 =0.5 =1.0 =1.5 MUMTO
0.8 0.6
We also implement Chen at al.s offline algorithm [15], MUMTO, which is based on separable semidefinite relaxation, for comparison with Algorithm 1. In Fig. 6, we can observe that Algorithm 1 has a better performance than MUMTO even when λ is relatively large.
0.4 6.2. Performance of online MCC task allocation
0.2 0 500
600
700 800 900 Number of users
1000
Fig. 6. Offline approximation ratio of Algorithm 1 and MUMTO [15] with different λ.
users, based on three levels of λ, the maximum ratio between the valuation and the budget. The ratio sightly decreases when the number of user grows. This is because when a large number of users participate, the rounding process becomes more complex. Furthermore, with a smaller λ, the algorithm can achieve a better approximate ratio. This can be explained as follows: When the ratio between the valuation and the budget is small, the revenue is closeer to user’s valuation. Therefore, our offline task allocation mechanism can compute a near-optimal solution. Meanwhile, Fig. 6 validates our theoretical approximation ratio in Theorem 3.
Revenue: We further evaluate the performance of our online multiple task allocation algorithm. While the number of per-user tasks Ni , and the number of rounds T vary, Fig. 7 shows the fluctuation of revenue. Both Ni and T affect total revenue. Algorithm 2 is able to keep a user’s budget for a long period; while the length of the system increases, our algorithm could allocate more tasks to cloudlets. Satisfaction of users: Fig. 8 plots user tasks satisfaction, the percentage of allocated user tasks among all tasks have been submitted. When the number of users rises, a decreasing trend is observed, because the finite amount of resources can only serve a limited number of tasks. At the same time, having more cloudlets results in better overall user satisfaction. This is because more cloudlets bring a larger total volume of resource into the MCC, which can serve a larger number of user tasks. User budget utilization: Fig. 9 illustrates the user budget utilization of all users with different user task number. It slightly increases when the number of task increases. The reason is that when user task number increase, the number of allocated tasks is
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
10
0.9 0.8
8
0.7 0.6 Number of task = 2 Number of task = 4 Number of task = 6
0.5 0.4
10
5
Rounding algorithm Primal-dual algorithm
6 4 2
0.3
100
200
300
400
500
600
Number of users
500
600
700
800
900
1000
Number of users
Fig. 9. User budget utilization with different task number.
Fig. 11. Revenue, Algorithm 2 with rounding algorithm VS. primal-dual algorithm.
7. Conclusion
1
Competitive ratio
Revenue
User Budget Utilization
50
0.8 0.6 0.4
U=0.3 U=0.6 U=0.9 Zhou
0.2 0 100
200
300 400 Number of users
500
600
Fig. 10. Competitive ratio of Algorithm 2 and Zhou et al.’s algorithm [26] with different U.
We studied the problem of online task offloading in mobile cloud computing, for maximizing the revenue of the cloud provider. The main challenges include the NP-hard nature of task assignment to cloudlets, and the online nature of user task arrivals. We also explicitly modelled the finite offloading budget of mobile users, which implies inter-round coupling in offloading decision making. Two main techniques were employed towards addressing these challenges: (i) a tailored rounding technique for translating optimal fractional (infeasible) job assignment solutions into integral (feasible) ones, and (2) a primal dual online optimization framework for decomposing online decision making over the system lifespan into round by round decision making. As future directions, it is interesting to study joint optimization of social welfare and provider revenue, and to more accurately model communication delays between mobile users and cloudlets, for mobile task offloading. Appendix A. PROOF OF THEROREM 1
close to its total task number and the utilization of user budget is more fully. Competitive ratio: Fig. 10 depicts the competitive ratio of Algorithm 2 with the following quantities varying: (i) the number of users and (ii) the maximum ratio of user valuation and user budget U. The observed competitive ratio is better than the theoretical bound proven in the previous section, and remains at a high level. It fluctuates with the increase of the number of users, and slightly decreases when the U grows. This is because when user budget is much higher than his tasks valuation, the payment of allocated tasks is close to its valuation and the resource controller would not make a loss. Therefore, the revenue of our mechanisms verge on the optimal solution. Comparison: We further compare our online algorithm with Zhou et al.s online algorithm [26], which also conducts online task offloading. Fig. 10 shows that Algorithm 2 consistently outperforms Zhou et al.s online algorithm over a wide range I with a smaller U. Fig. 11 is the accepted revenue from online rounding algorithm and primal-dual algorithm. Primal-dual algorithm is a classic solution to the packing-type allocation problems. The integer solution of original ILP is obtained by updating the dual variables. It can be seen clearly from the picture, dependent rounding algorithm can achieve a higher revenue than the classic primal-dual method. The gap between the two algorithms widens as the number of users grows, which means that rounding algorithm can be more efficient for a larger user population.
Proof: We first prove that property (1) holds. Let Θinm j be the value of θinm before iteration j. If the property holds, we will have E[Θinm j ] = E[Θinm( j+1 ) ], ∀ j ≥ 1. We prove by way of induction. When j = 1 (induction base), P r[θinm = 1] = E [Θinm j ] = E [Θinm1 ] = , property (1) holds. We next consider the case k > 1 (induction θinm step). Case 1: If the edge is not part of a cycle or path, its value remains intact and the property is satisfied. Case 2: If the value of the edge has been modified after iterations, there are two possibilities: 1) Θinm j = Θinm j − η with probη ζ ability η+ ζ ; 2) Θinm j = Θinm j + ζ with probability η+ζ . Thus we have:
E [Θinm( j+1) ] = =
ζ η (E [Θinm j ] − η ) + (E[Θinm j ] + ζ ) η+ζ η+ζ ζ η E[Θinm j ] + E[Θinm j ] = E[Θinm j ] η+ζ η+ζ
Thus we finished our proof of property (1). We next show the feasibility of property (2). We reuse the no tation Lm for simplicity, thus the Lmj represents the i∈I n∈N θinm i before iteration j. We conduct a case by case examination. Case 1: If the edge is not part of a cycle or path, its value will not be changed, hence E[ w∈S Lm( j+1 ) ] ≤ E[ w∈S Lm j ]. Case 2: If one of the edges’ values is modified, there are two ζ possibilities: 1) Lm j = Lm j − η with probability η+ ζ ; 2) Lm j = Lm j +
Y. He, L. Ma and R. Zhou et al. / Computer Networks 151 (2019) 42–51
ζ with probability
η η+ζ . As we can see from the result above,
E[Lm( j+1 ) ] = E[Lm j ]. Case 3: Two edges’ values are changed, i.e., Lm1 j in S1 and Lm2 j in S2 , and due to the lines 13–15 in Algorithm 1, we have:
ζ (L − η )(Lm2 j η + ζ m1 j η +η ) + (Lm1 j + ζ )(Lm2 j − ζ ) η+ζ ηζ 2 ζ η2 = E Lm1 j ∗ Lm2 j − − η+ζ η+ζ
E[Lm1 ( j+1) ∗ Lm2 ( j+1) ] = E
≤ E[Lm1 j ∗ Lm2 j ].
Thus for all cases, E[ w∈W Lm( j+1 ) ] ≤ E[ w∈W Lm j ] is true. We have P r[ w∈W (θw = 1 )] = E[ w∈W LmJ ] ≤ E[ w∈W Lm1 ] = w∈W P r[θw = 1].
51
[23] L. Zhang, Z. Li, C. Wu, Dynamic Resource Provisioning in Cloud Computing: A Randomized Auction Approach, in: Proc. of IEEE INFOCOM, 2014. [24] N. Cherfi, M. Hifi, A column generation method for the multiple-choice multidimensional knapsack problem, Comput. Optim. Appl. 46 (1) (2010) 51–73. [25] D.B. Shmoys, E. Tardos, An approximation algorithm for the generalized assignment problem, Math. Program 62 (1) (1993) 461–474. [26] B. Zhou, A.V. Dastjerdi, R.N. Calheiros, R. Buyya, An online algorithm for task offloading in heterogeneous mobile clouds, ACM Trans. Internet Technol. (TOIT) 18 (2) (2018) 23. [27] S. Luo, Y. Sun, Z. Wen, Y. Ji, C2: Truthful incentive mechanism for multiple cooperative tasks in mobile cloud, in: Proc. of IEEE International Conference on Communications, 2016. Yu He received his B.E. in CS from Yichun University, China, in 2010, and his M.S. in Software Engineering from University of Electronic Science and Technology of China, Chengdu, China, in 2013. He is currently a PhD candidate at the School of Computer Science, Wuhan University. Since 2016, he has been a Visiting Ph.D. Student at the Department of Computer Science in the University of Calgary. His research interests include computer networks and cloud computing.
References [1] H.T. Dinh, C. Lee, D. Niyato, P. Wang, A survey of mobile cloud computing: architecture, applications, and approaches, Wireless Commun. Mobile Comput. 13 (18) (2013) 1587–1611. [2] M. Satyanarayanan, Mobile computing: the next decade, Acm Sigmobile Mobile Comput. Commun. Rev. 15 (2) (2011) 2–10. [3] Apple iCloud, https://support.apple.com/icloud. [4] S. Abolfazli, Z. Sanaei, E. Ahmed, A. Gani, R. Buyya, Cloud-Based augmentation for mobile devices: motivation, taxonomies, and open challenges, IEEE Commun. Surv. Tutorials 16 (1) (2013) 337–368. [5] cloudlet, https://en.wikipedia.org/wiki/Cloudlet. [6] S. Clinch, J. Harkes, A. Friday, N. Davies, M. Satyanarayanan, How close is close cnough? Understanding the role of cloudlets in supporting display appropriation by mobile users, in: Proc. of PerCom, 2012. [7] A.T. Akinola, M.O. Adigun, A.O. Akingbesote, QoS-aware single service selection mechanism for ad-hoc mobile cloud computing, in: Proc. of International Conference on Computing, Communication and Security, 2015. [8] X. Zhang, Z. Huang, C. Wu, Z. Li, F.C.M. Lau, Online auctions in IAAS clouds: welfare and profit maximization with server costs, ACM Sigmetrics Perform. Eval. Rev. PP (99) (2015) 1–14. [9] R. Zhou, Z. Li, C. Wu, Z. Huang, An efficient cloud market mechanism for computing jobs with soft deadlines PP (99) (2016) 1–13. [10] D. Meilander, F. Glinka, S. Gorlatch, L. Lin, W. Zhang, X. Liao, Using mobile cloud computing for real-Time online applications, Proc. of IEEE International Conference on Mobile Cloud Computing, Services, and Engineering, 2014. [11] Y. Gong, C. Zhang, Y. Fang, J. Sun, Protecting location privacy for task allocation in ad hoc mobile cloud computing, IEEE Trans. Emerg. Top Comput. (2015). 1–1 [12] X. Wang, Y. Sui, C. Yuen, X. Chen, C. Wang, Traffic-aware Task Allocation for Cooperative Execution in Mobile Cloud Computing, in: Proc. of IEEE/CIC International Conference on Communications, 2016. [13] Rajiv, Khuller, Samir, Parthasarathy, Srinivasan, Srinivasan, Aravind, Dependent rounding and its applications to approximation algorithms, J. ACM 53 (3) (2006) 324–360. [14] B.A. Hridita, M. Irfan, M.S. Islam, Task allocation for mobile cloud computing: State-of-the-art and open challenges, in: Proc.of ICIEV, 2016. [15] M.H. Chen, B. Liang, M. Dong, Joint offloading decision and resource allocation for multi-user multi-task mobile cloud, in: Proc.of IEEE International Conference on Communications, 2016. [16] O. Chakroun, S. Cherkaoui, Resource allocation for delay sensitive applications in mobile cloud computing, in: Local Computer Networks, 2016, pp. 615–618. [17] C. Kalaitzis, An Improved Approximation Guarantee for the Maximum Budgeted Allocation Problem, in: Proc. of Acm-Siam SODA, 2015. [18] W. Shi, B. Hong, Resource Allocation with a Budget Constraint for Computing Independent Tasks in the Cloud, in: Proc. of IEEE Second International Conference on Cloud Computing Technology and Science, 2010. [19] P. Yi, H. Ding, B. Ramamurthy, Budget-optimized network-aware joint resource allocation in grids/clouds over optical networks, J. Lightwave Technol. 34 (16) (2016). 1–1 [20] K. Wang, K. Yang, C. Magurawalage, Joint energy minimization and resource allocation in C-RAN with mobile cloud, Comput. Sci. PP (99) (2015). 1–1 [21] C. Kalaitzis, A. Madry, A. Newman, Pol, L. ek, O. Svensson, On the configuration LP for maximum budgeted allocation, Math. Program 154 (1) (2015) 427–462. [22] W. Shi, L. Zhang, C. Wu, Z. Li, An online auction framework for dynamic resource provisioning in cloud computing, Acm Sigmetrics Performance Evaluation Review 42 (1) (2015) 71–83.
Lin Ma received her BSc and MSc, both in Computer Science, from School of Computer Science at Wuhan University, in Wuhan, China, in 2015 and 2018, respectively. Her research interests include computer networks and cloud computing.
Ruiting Zhou has been an Associate Professor in the School of Cyber Science and Engineering at Wuhan University since June 2018. She received a M.S. degree in telecommunications from Hong Kong University of Science and Technology, Hong Kong, in 2008, a M.S. degree in computer science from University of Calgary, Canada, in 2012 and her Ph.D. degree in 2018 from the Department of Computer Science, University of Calgary, Canada. Her research interests include cloud computing, machine learning and mobile network optimization.
Chuanhe Huang received his B.Sc., M.Sc., and Ph.D. degrees, all in Computer Science, from Wuhan University, Wuhan, China, in 1985, 1988, and 2002, respectively. He is currently a Professor at the School of Computer Science, Wuhan University. His research interests include computer networks, VANETs, Internet of Things, and Distributed Computing.
Zongpeng Li received his B.E. in Computer Science from Tsinghua University in 1999, his M.S. in Computer Science from University of Toronto in 2001, and his Ph.D. in Electrical and Computer Engineering from University of Toronto in 2005. He has been affiliated with the University of Calgary, and then Wuhan University. In 2011–2012, Zongpeng was a visitor at the Institute of Network Coding, Chinese University of Hong Kong. His research interests are in computer networks and cloud computing.