Joint Service Caching and Task Offloading for Mobile Edge Computing in Dense Networks

by   Jie Xu, et al.

Mobile Edge Computing (MEC) pushes computing functionalities away from the centralized cloud to the network edge, thereby meeting the latency requirements of many emerging mobile applications and saving backhaul network bandwidth. Although many existing works have studied computation offloading policies, service caching is an equally, if not more important, design topic of MEC, yet receives much less attention. Service caching refers to caching application services and their related databases/libraries in the edge server (e.g. MEC-enabled BS), thereby enabling corresponding computation tasks to be executed. Because only a small number of application services can be cached in resource-limited edge server at the same time, which services to cache has to be judiciously decided to maximize the edge computing performance. In this paper, we investigate the extremely compelling but much less studied problem of dynamic service caching in MEC-enabled dense cellular networks. We propose an efficient online algorithm, called OREO, which jointly optimizes dynamic service caching and task offloading to address a number of key challenges in MEC systems, including service heterogeneity, unknown system dynamics, spatial demand coupling and decentralized coordination. Our algorithm is developed based on Lyapunov optimization and Gibbs sampling, works online without requiring future information, and achieves provable close-to-optimal performance. Simulation results show that our algorithm can effectively reduce computation latency for end users while keeping energy consumption low.



There are no comments yet.


page 1

page 2

page 3

page 4

page 12

page 15


Collaborative Service Caching for Edge Computing in Dense Small Cell Networks

Mobile Edge Computing (MEC) pushes computing functionalities away from t...

Pricing-Driven Service Caching and Task Offloading in Mobile Edge Computing

Provided with mobile edge computing (MEC) services, wireless devices (WD...

Cooperative Service Caching and Workload Scheduling in Mobile Edge Computing

Mobile edge computing is beneficial to reduce service response time and ...

Monetizing Edge Service in Mobile Internet Ecosystem

In mobile Internet ecosystem, Mobile Users (MUs) purchase wireless data ...

Peer Offloading in Mobile Edge Computing with Worst-Case Response Time Guarantees

Mobile edge computing (MEC) is a new paradigm that provides cloud comput...

Adaptive Fog Configuration for the Industrial Internet of Things

Industrial Fog computing deploys various industrial services, such as au...

RetroRenting: An Online Policy for Service Caching at the Edge

The rapid proliferation of shared edge computing platforms has enabled a...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Pervasive mobile computing and the Internet of Things are driving the development of many new compute-demanding and latency-sensitive applications, such as cognitive assistance, mobile gaming and virtual/augmented reality (VR/AR). Due to the often unpredictable network latency and expensive bandwidth, cloud computing becomes unable to meet the stringent requirements of latency-sensitive applications. The ever growing distributed data also renders it impractical to transport all the data over today’s already-congested backbone networks to the remote cloud. To overcome these limitations, mobile edge computing (MEC) (a.k.a. fog computing) [1, 2] has recently emerged as a new computing paradigm to push the frontier of computing applications, data and services away from centralized cloud computing infrastructures to the logical edge of a network, thereby enabling analytics and knowledge generation to occur closer to the data source.

Fig. 1: System illustration. Each BS can only cache a subset of services. Only user tasks requesting services cached in the BS can be executed by the BS. BSs have to jointly optimize service caching and task offloading.

Considered as a major form of MEC, mobile base stations (BSs) endowed with cloud-like computing and storage capability, are able to serve end-users’ computation requests as a substitute of the cloud [3]. Extra tasks exceeding the BS’s computing capacity are further offloaded to the cloud, resulting in a hierarchical offloading structure among end-users, BSs and the cloud. While computation offloading has been the central theme of most recent works studying MEC, what is often ignored is the heterogeneity of mobile services and how these services are cached on BSs in the first place. Precisely, service caching (or service placement) refers to caching application services and their related databases/libraries in the edge server co-located with the BS, thereby enabling user tasks requiring these services to be executed. However, unlike the cloud which has huge and diverse resources, the limited computing and storage resources of BS allow only a small set of services to be cached at the same time. As a result, which services are cached on the BS determines which tasks can be offloaded, thereby significantly affecting the edge computing performance. Figure 1 provides a system illustration.

Optimal service caching faces many challenges. First, mobile services are heterogeneous in terms of not only required resources (e.g. online Matlab and AR services have different CPU and storage requirements [3]) but also popularity/demand among users. While the former is often fixed, the latter is changing both spatially and temporally. Therefore, service caching has to be adaptively updated in resource-limited BSs depending on the predicted service popularity.

Second, since the considered system operates in a highly stochastic environment with random demand arrivals, the long-term system performance is more relevant than the immediate short-term performance. However, the long-term resource constraint (e.g. energy consumption) couples the service caching decisions over time, and yet the decisions have to be made without foreseeing the future system dynamics.

Third, to accommodate the surging data demand of mobile users, the density of BSs in cellular networks has kept increasing since its birth to nowadays 4G networks, and is expected to reach about 40-50 BSs/km in the next generation 5G networks [4]. Dense cellular networks create a complex multi-cell environment where demand and resource are highly coupled in both spatial and temporal domains. Effective service caching and task offloading requires careful coordination among all BSs, and decentralized solutions are much favored in order to reduce complexity.

In this paper, we investigate the extremely compelling but much less studied problem of service caching in MEC-enabled cellular networks, and develop an efficient solution that jointly optimizes service caching and task offloading. The main contributions of this paper are summarized as follows.

(1) We formalize the joint service caching and task offloading problem in MEC-enabled dense cellular networks, for minimizing computation latency under a long-term energy consumption constraint. To our best knowledge, this is the first work that studies joint service caching and task offloading in multi-cell MEC systems.

(2) To solve this problem, we develop a novel online algorithm, called OREO (Online seRvice caching for mobile Edge cOmputing), to perform stochastic service caching in an online fashion without requiring future information. OREO is developed based on Lyapunov optimization, and we prove that it achieves close-to-optimal performance compared to the optimal algorithm with full future information, while bounding the potential violation of the energy consumption constraint.

(3) We develop a decentralized algorithm based on a variation of Gibbs sampling, which is a key subroutine of OREO, thereby enabling efficient decentralized coordination among the BSs. This makes our algorithm scalable to large networks.

(4) Extensive and practical simulations are carried out to evaluate the performance of the proposed algorithm.

The rest of this paper is organized as follows. Section II reviews related works. Section III presents the system model and formulates the problem. Section IV develops the OREO algorithm and analyzes its performance. Section V performs simulations, followed by the conclusion in Section VI.

Ii Related Work

Computation offloading is the central theme of many prior studies in both mobile cloud computing (MCC) [5, 6] and mobile edge computing (MEC) [1, 2], which concerns what/when/how to offload users’ workload from their devices to the edge servers or the cloud. Various works have studied different facets of this problem, considering e.g. stochastic task arrivals [7, 8], energy efficiency [9, 10, 11], collaboration [12, 13, 14] etc. However, the implicit assumption is that edge servers can process whatever types of computation tasks that are offloaded from users without considering the availability of services in edge servers, which in fact is crucial in MEC due to the limited resources of edge servers.

Similar service caching/placement problems, known as virtual machine (VM) placement, have been investigated in conventional cloud computing systems. VM placement over multiple clouds is studied in [15, 16, 17]

, where the goal is to reduce the deployment cost, maximize energy saving and improve user experience, given constraints on hardware configuration and load balancing. However, these works cannot be directly applied to design efficient service caching policies for MEC since mobile networks are much more complex and volatile, and optimization decisions are coupled both spatially and temporally. The most related work probably is

[18], which extends the idea to MCC systems and studied the joint optimization of service caching/placement over multiple cloudlets and load dispatching for end users’ requests. There are several significant differences of our work. First, while the coverage areas are assumed to be non-overlapping for different cloudlets in [18]

, BSs have overlapping coverage areas in our considered dense cellular network. Second, while only heuristic solutions are developed in

[18], we prove strong performance guarantee for our algorithm. Third, while the algorithm is centralized in [18], our algorithm enables decentralized coordination among BSs. We also note that the term “service placement” was used by some other literature [19, 20] in a different context. The concern there is to assign task instances to different clouds but there is no limitation on what types of services/applications that each cloud can run.

Service caching/placement is also related to content caching/placement in network edge devices [21]. For example, the authors of [22] aim to find optimal locations to cache the data that minimize packet transmissions in wireless sensor nodes. The concept of FemtoCaching is introduced in [21] which studies content placement in small cell networks to minimize content access delay. The idea of using caching to support mobility has been investigated in [23], where the goal is to reduce latency experienced by users moving between cells. Learning-based content caching policies are developed in [24] for wireless networks with a priori unknown content popularity. While content caching mainly concerns with storage capacity constraints, service caching has to take into account both computing and storage constraints, and has to be jointly optimized with task offloading to maximize the overall system performance.

Iii System Model

We divide time into discrete time slots each of which has a duration that matches the timescale at which service caching decisions can be updated. Although our model is not perfect, we believe that it is a reasonable and valuable first step towards studying dynamic service caching and task offloading in MEC systems. Future improvement directions are briefly discussed in the conclusion section.

Iii-a Network and Services

We consider a mobile network of base stations (BSs), indexed by . Each BS is endowed with edge computing functionalities and hence can provide computing services to end users in its radio range. The network is divided into disjoint small regions, indexed by . User in each region can reach a set of BSs in the radio range, denoted by , due to the dense deployment of BSs. We consider regions instead of individual users because service caching is a relatively long-term decision which cannot be updated very frequently, and region captures statistical information of user task requests. Each BS has a storage space , which can be used to store data (e.g. libraries and databases) associated with specific computing services, and a CPU of maximum frequency (cycles per second), which can be used to process tasks offloaded from end users.

Service is an abstraction of applications that is hosted by the BS and requested by mobile users. Example services include video streaming, social gaming, navigation, augmented reality. Running a particular service requires caching the associated data, such as required libraries and databases, on the BS. We assume that there is a set of computing services, indexed by . Each service requires a storage space . For service

, we assume that the workload (in terms of the required CPU cycles) of one corresponding task follows an exponential distribution with mean

. Therefore, services are heterogeneous in terms of both required storage and CPU.

The computation demand for service in time slot

is described by a vector

where is the demand intensity generated by users in region . Specifically, we consider that the task arrival follows a Poisson process at rate

. In practice, a demand predictor can estimate the instantaneous demand prior to the beginning of time slot

using some well-studied learning techniques (e.g. auto-regression analysis). Note that this prediction is short-term, only for the immediate next time slot, which is different from the long-term prediction required by an offline algorithm. Many prior studies show that such instantaneous workload can often be predicted with a high accuracy


Iii-B Service Caching and Task Offloading Decisions

At the beginning of each time slot , each BS makes two decisions: service caching and task offloading.

Iii-B1 Service Caching

Caching service allows tasks requiring service to be processed at the network edge, thereby reducing computation latency and improving user quality of experience. However, due to the limited storage space of a BS, not all services can be cached at the same time. Therefore, the BS has to judiciously decide which services to cache. Specifically, BS decides to cache a subset of services among . Let be a binary decision variable to denote whether service is cached or not on BS in time slot . The service caching decision of BS is collected in . Moreover, the service caching decisions are subject to the following capacity constraint


Let denote the set of BSs that have service cached in time slot and hence can provide the corresponding computing service to region . For analytical simplicity, we assume that demand in region is evenly distributed among BSs in . Nevertheless, other user-cell association rules (e.g. a user offloads task to the BS with the best channel condition among the ones who can provide the required service) can also be easily incorporated in our model. The demand for service to BS can be computed as . Note that if there is no BS in providing service , then all tasks demanding service will be offloaded to the remote cloud for processing via any nearby BS. Let denote the service caching decisions of all BSs in time slot .

Iii-B2 Task Offloading

Among the set of cached services, BS also has to decide the amount of tasks that are processed locally at the network edge. The remaining tasks will be offloaded to the remote cloud. Let be a continuous decision variable to denote the fraction of service tasks that are processed locally at BS . Hence, the amount of locally processed tasks is . We note that the actual task offloading actions are performed during the time slot when the tasks actually arrive and will depend on the specific task requirements. Nevertheless, the task offloading decisions in terms of the fraction of offloaded tasks can still be planned at a reasonably high granularity at the beginning of each time slot. Let denote the task offloading decisions of all BSs in time slot .

Iii-C Energy Consumption and Computation Delay Cost

Different service caching and task offloading decisions result in different computation latency performance and incurs different computing energy consumption.

Iii-C1 Energy consumption

The BS dynamically adjusts its CPU speed depending on the task workload. To simplify our analysis, we assume that the BS processes tasks at its maximum CPU speed while choosing the minimum CPU speed when it is idle. Assuming that the BS consumes a negligible energy under the minimum speed mode, the average computation energy consumption can be expressed as [26]:


where is the static power regardless of the workload as long as BS is turned on, and is the unit energy consumption when BS is processing tasks at its maximal speed . In the above equation, is the expected total number of CPU cycles required to process tasks at BSs.

In addition to computation energy consumption, the BS also incurs energy consumption due to load-independent operations. We denote it by which varies over time but can only be observed at the end of each time slot .

Iii-C2 Computation delay cost

To quantify the overall network performance, we introduce the notion of delay cost capturing the delay-induced revenue loss and/or user dis-satisfaction. The average computation delay for tasks processed by BS can be computed by modeling the service process as an M/G/1 queue and analyzing its sojourn time (i.e. service time plus waiting time). Since the task arrival of each service type is assumed to follow a Poisson process, the overall task arrival process (without differentiating the specific service types) is also Poisson. Let be the task processed at BS for service and be the total workload, which are results of the service caching and task offloading decisions of all BSs. Since there are possibly multiple types of services, the overall service time distribution is a random sampling among a number of exponential distributions. Specifically, the probability of the exponential distribution with mean being sampled is . Let

be the random variable representing the service time. Its first and second moments can be derived as

, . According to the Pollaczek-Khinchin formula for M/G/1 queuing system [27], the expected sojourn time is therefore


We assume that the remote cloud has ample computing power and hence, the computation delay for tasks offloaded to the cloud, denoted by , is mainly due to the transmission delay. Therefore, the total expected computation delay cost for tasks arriving at BS is


Iii-D Problem Formulation

The goal of the network operator is to make joint service caching and task offloading decisions to minimize computation latency while keeping the total computation energy consumption low. The problem is formulated as follows:

s.t. (5b)

where is the service delay for tasks whose service data is not cached in the BSs. The first constraint (5b) is the long-term energy constraint for the network of BSs, which requires that the long-term average total energy consumption does not exceed an upper limit . This constraint couples the BS decision making both spatially (i.e. across BSs) and temporally (i.e. across time slots). The second constraint (5c) is due to the individual BS’s storage space capacity. The third and fourth conditions (5d) and (5e) impose per-slot constraints on the maximum energy consumption and delay, respectively, for each BS.

The first major challenge that impedes the derivation of the optimal solution to the above problem is the lack of future information: optimally solving P1 requires complete offline information (distributions of task demands in all time slots) which is difficult to predict in advance, if not impossible. Moreover, P1 is a mixed integer nonlinear programming and is very difficult to solve even if the future information is known a priori. These challenges call for an online approach that can efficiently make service caching and offloading decisions on-the-fly without foreseeing the future.

Iv Online Service Caching and Task Offloading

In this section, we first develop our online algorithm, called OREO (Online seRvice caching for mobile Edge cOmputing), and then show that it is efficient in terms of latency minimization compared to the optimal offline algorithm. Our algorithm is developed under the Lyapunov optimization framework which converts the original long-term optimization problem P1 to per-slot optimization problems requiring only current slot information. Our algorithm also enables BSs to decide which services to cache and how much task workload to retain at the edge or to offload to the cloud in a distributed way.

Iv-a Lyapunov-based Online Algorithm

A major challenge of directly solving P1 is that the long-term energy constraint of BSs couples the service caching and task offloading decisions across different time slots. To address this challenge, we leverage the Lyapunov optimization technique and construct a (virtual) energy deficit queue to guide the service caching and task offloading decisions to follow the long-term energy constraint. Specifically, assuming , we construct an energy deficit queue whose dynamics evolves as follows


where is the queue backlog in time slot indicating the deviation of current energy consumption from the energy constraint. The Lyapunov function is defined as , representing the “congestion level” in energy deficit queue. A small value of implies that the queue backlog is small, which means that the virtual queue has strong stability. To keep the energy deficit queue stable, i.e., to enforce the energy consumption constraints by persistently pushing the Lyapunov function towards a lower value, we introduce one-slot Lyapunov drift, which is . Then we have


where and . The inequality () comes from .

Under the Lyapunov optimization framework, the underlying objective of our optimal control decision is to minimize a supremum bound on the following drift-plus-cost expression in each time slot:


where .

Our proposed algorithm OREO minimizes the right hand side of (11) (see Algorithm 1). The network determines the service caching and task offloading strategies in each time slot by solving the optimization problem P2 as follows

s.t. (12b)
1:Input: , , , , ,;
2:Output: service caching decision , offloading decisions ;
3:for  do
4:     Predict service demand ;
5:     Observe , , ;
6:     Choose , by solving P2:
7:     ;
8:end for
Algorithm 1 OREO algorithm

The positive parameter is used to adjust the tradeoff between computation latency minimization and the energy consumption minimization of BSs. Notice that solving P2 requires only currently available information as input. By considering the additional term , the network takes into account the energy deficit of BSs during current-slot service caching and task offloading. As a consequence, when is larger, minimizing the energy deficit is more critical. Thus, our algorithm works following the philosophy of “if violate the energy constraint, then use less energy”, and the energy deficit queue maintained without foreseeing the future guides the BSs towards meeting the energy constraint, thereby enabling online decision making. Now, to complete the algorithm, it remains to solve the optimization problem P2, which will be discussed in the next subsection.

Iv-B Distributed Optimization for P2

In this subsection, we focus on solving P2 which is a joint optimization problem aiming to find the optimal service caching and task offloading decisions for each time slot . Since service caching decisions are binary and task offloading decisions are continuous, P2 is a mixed-integer nonlinear programming. While there exist various centralized techniques (such as Generalized Benders Decomposition [28]) to solve it, these methods are usually computationally prohibitive and distributed solutions are much desired. In this paper, we present a distributed algorithm based on a variation of Gibbs sampling [29], which determines the optimal decision pair in an iterative manner at the beginning of a time slot.

The algorithm works as follows. In each iteration, a randomly selected BS virtually changes its current service caching decision to (Line 3) and then the optimal offloading scheme is derived by solving (12). However, when deriving , only neighboring BSs (i.e. BSs that have overlapping service areas with BS ) need to make the update since affects the traffic distribution only among the neighborhood of BS . Afterwards, the new delay cost restricted to the neighborhood of BS is obtained, and the service caching action of BS is updated to the new action with probability and keeps unchanged (i.e. ) with probability depending on the delay cost difference (Lines 9 and 10). Therefore, changing service caching decision is more likely to occur if the new action results in a lower delay cost. At the end of the iteration, BS broadcast its current service caching decision to its neighboring BSs.


: It is known that always choosing a better decision in combinatorial optimization can easily lead to a local optimality. To avoid being trapped in a local optimum, the proposed algorithm explores a new decision with a certain probability even though it may be worse than the current decision (i.e.

). The parameter , referred as the smooth parameter, is used to control exploration versus exploitation (i.e. the degree of randomness). When is small, the algorithm tends to keep a new decision with larger probability if it is better than the current decision. However, in this case, it takes more iterations to identify the global optimum since the algorithm may be stuck in a local optimum for a long time before exploring other solutions that lead to more efficient decisions. When , the algorithm tries to explore all possible solutions from time to time without convergence.

Remark: The convergence rate of this algorithm can be further improved by letting multiple BSs evolve their service caching decisions simultaneously in each iteration, provided that they are sufficiently apart. Specifically, if a set of BSs do not have common neighboring BSs between any pair, then their service caching decisions do not affect each other and hence, they are allowed to evolve simultaneously.

1:Input: service cache decision ; task offloading decision ; objective value ;
2:Predict the service demand ;
3:Randomly pick a BS and select service cache decision ;
4:if  is feasible then
5:     ;
6:     Observe computing demand ;
7:     Obtain by minimizing P2:
10:     With probability , BS sets ; with probability , BS keeps unchanged
11:     Broadcast to its neighboring BSs
12:end if
13:Return if the stopping criterion is satisfied, otherwise, go to Line 3
Algorithm 2 Distributed algorithm for OREO

Next, we formally prove the convergence of our algorithm.

Theorem 1.

As decreases, the algorithm converges with a higher probability to the global optimal solution of P2. When , the algorithm converges to the globally optimal solution with probability 1.


See Appendix -A

Iv-C Performance Analysis

This subsection presents the performance analysis of OREO using the Lyapunov optimization technique.

Theorem 2.

By applying OREO, the time-average system delay satisfies:

and the time-average energy consumption of BSs satisfies:

where is the optimal system delay to P2, is the largest system delay, and is a constant which represents the long-term energy surplus achieved by some stationary control strategy.


See Appendix -B. ∎

The above theorem demonstrates an delay-energy tradeoff. OREO asymptotically achieves the optimal performance of the offline problem P1 by letting . However, the optimal performance of P1 is achieved at the price of a higher energy consumption, as a larger energy deficit queue is required to stabilize the system and hence convergence is postponed. This also implies that the time-average energy consumption grows linearly with .

V Simulation

In this section, we carry out simulations to evaluate the performance of OREO. We simulate a 500m500m area served by 9 BSs regularly deployed on a grid network. The serving radius for each BS is set as 150m. The whole area is divided into 25 regions and the demand for service , , in region during slot

follows a uniform distribution

. The actual service demand in region is formulated as a Poisson process with arrival rate . Other main parameters are collected in Table I.

Parameters Value
Total service types, 10
BS service rate 10 GHz
BS communication distance 130m
CPU cycles requirement of service , GHz/task
BS storage space 200 GB
Storage space requirement of service GB
Unit energy consumption, 1 kWh
Computation delay for tasks offloaded to cloud, sec/task
Smooth factor,
Energy for cooling and communication traffic, kWh
TABLE I: Simulation setup: system parameters

We compare OREO with three benchmarks. Non-cooperative service caching: BSs cache services with the largest demand in the serving region. Each BS works independently without mutual communication and the long-term energy consumption constraint is ignored. Centralized delay-optimal service caching: A centralized service caching decision is found for all BSs to minimize the system delay. The decision is made regardless of the long-term energy consumption constraint. Myopic service caching: We impose a hard energy consumption constraint in each time slot and minimize the system delay. This method can also satisfy the long-term energy constraint without requiring future information. However, it is less adaptive and purely myopic.

V-a Performance comparison

Fig. 4 and Fig. 4 show the time average system delay and energy consumption, respectively. It shows that OREO achieves near-to-optimal delay performance while closely following the long-term energy constraint. The centralized optimal scheme achieves the lowest system delay as expected. However, it is achieved at a cost of large energy consumption. By contrast, OREO slightly sacrifices the delay performance to satisfy the energy consumption constraint. For the myopic service caching, because a hard energy constraint is imposed in every time slot, the long-term energy consumption constraint is also satisfied. However, because very little energy consumption is incurred due to very low task demand in some time slots, the time average energy consumption can be far below the long-term constraint, resulting in inefficient energy usage. In the non-cooperative case, BSs make decisions individually based on their predicted demand. This strategy neglects the interdependence among BSs and results in inferior performance in both system delay minimization and energy saving.

Fig. 2: Time average delay
Fig. 3: Time average energy consumption
Fig. 4: Convergence of distributed algorithm
Fig. 5: Time average delay with different
Fig. 6: Time average energy with different
Fig. 7: Time average delay with different
Fig. 8: Predicted service demand
Fig. 9: Cached service
Fig. 10: Energy deficit and workload at edge

V-B Convergence of the distributed algorithm

Fig. 4 shows the convergence process when running the distributed algorithm. We see that when , the algorithm converges quickly to superior decisions. However, it stays in several local optimal solutions for a while before identifying the global optimum. By increasing to , the algorithm can find the global optimum with much fewer iterations. However, keeping increasing the parameter impedes the identification of global optimum and results in the convergence to inferior solutions.

V-C Impact of storage capacity

Fig. 7 and 7 show the impact of storage capacity on the converged system delay and energy consumption after 150-slot simulation. It can be observed that the system delay decreases as the storage capacity increases since a larger number of services can be cached at BSs. Moreover, when the storage capacity is small, the system delay achieved by OREO is identical to the centralized delay-optimal scheme. This is due to the fact that few computing tasks are processed at BSs (most of them have to be offloaded to the cloud) and the energy deficit queue is zero in most time slots and hence, the problem P2 degenerates to the delay-optimal format. As the storage capacity increases, the system delay of OREO deviates from that of the delay-optimal scheme as a result of meeting the energy consumption constraint. Fig. 7 shows that the long-term energy consumption of OREO closely follows the energy consumption constraint for all levels of storage capacity, while other three benchmarks either overuse or underuse the predetermined energy budget.

V-D Impact of energy constraint

Fig. 7 presents the converged time average system delay and energy consumption of OREO under different energy consumption constraints . It is straightforward to see that the OREO converges to a lower system delay with a larger energy consumption constraint since more tasks are allowed to be processed at BSs. However, the performance gain by increasing the energy constraints become modest when the constraint is large. We also see that OREO successfully converges to the predetermined energy consumption constraint.

V-E Impact of demand patterns

Fig. 10 shows the predicted demands for different services of two geographical adjacent base stations, BS 1 and BS 2, in 20 time slots. Since BS 1 and BS 2 have overlapping regions, their demand patterns are correlated. Fig. 10 shows the corresponding service caching decision across these 20 time slots, where the length of color bar denotes the occupied storage space of services. As can be seen, even when the two BSs have similar demand patterns, their service caching decisions can be dramatically different (see slot 2 for an example). Such cooperation indeed helps to accommodate more types of services and hence more computation tasks, thereby improving the overall system efficiency. Since service caching decisions alone do not determine the system performance and its evolution, we show in Fig. 10 the total number of CPU cycles used to process computation tasks at these two BSs, which is a reflection of the joint service caching and offloading decisions as well as the demand. As can be observed, when the energy deficit is small, the BSs tend to keep more workload locally to minimize the computation delay (e.g. slot 16-18); when the energy deficit is large, BSs process less workload at the edge to reduce the energy consumption. In this way, the energy consumption can be pushed to satisfy the pre-determined constraint.

Vi Conclusion

In this paper, we studied joint service caching and task offloading for MEC-enabled dense cellular networks. We proposed an efficient online and decentralized algorithm that tailors service caching decisions to both temporal and spatial service popularity patterns. The proposed algorithm is easy to implement while providing provable performance guarantee. There are a few limitations in the current model that demand future research effort. First, user-cell association (load dispatching) decisions can be incorporated in the joint optimization framework. Second, task workload can be further balanced by allowing workload transfer among peer BSs.

-a Proof of Theorem 1


Let be the action space of service cache decision , where is given by the Bell number . At an arbitrary time slot, BS chooses a service caching decision .

For notational convenience, we drop the time index and denote the BSs’ service caching decision by . Following the iterations in Algorithm 2,

evolves as a N-dimensional Markov chain in which the

-th dimension corresponds to BS ’s service caching decision. For the ease of presentation, we begin with a 2-BS case and denote the state of the Markov chain as , where . Since only one BS is selected to explore a new service caching decision at each iteration with equal probability among all BSs, we have


where is the objective value in P2 given .

We then derive the stationary distribution for each state and examine the balanced equation as follows


By substituting (14) with (13), we have


Observing the symmetry of equation (15), we note that the set of equations in (15) are balanced if for arbitrary state in the strategy space , the stationary distribution is , where is a constant. By applying the probability conservation law, we obtain the stationary distribution for the Markov chain as


for arbitrary state . In addition, we observe that the Markov chain is irreducible and aperiodic. Therefore, the stationary distribution given in (16) is valid and unique.

Let be the optimal state which yields the minimum value in P2, i.e., . From (16), we have which substantiates that the algorithm converges to the optimal state in probability. Finally, the analogous analysis can be straightforwardly extended to an N-dimensional Markov chain, thereby completing the proof. ∎

-B Proof of Theorem 2


To prove the performance guarantee, we first introduce the following Lemma.

Lemma 1.

For any , there exists a stationary and randomized policy for P2, which decides independent of the current queue backlogs , such that the following inequalities are satisfied: .


The proof can be obtained by Theorem 4.5 in [30], which is omitted for brevity. ∎

Recall that the OREO seeks to choose strategies that minimizes P2 among feasible decisions including the policy in Lemma 1 in each time slot. By plugging Lemma 1 into the drift-plus-cost inequality (11), we obtain


The inequality is because that the policy is independent of the energy deficit queue. By letting go to zero, summing the inequality over and then dividing the result by , we have:


Rearranging the terms and considering the fact that and yields the time average system delay bound.

To obtain the energy consumption bound, we make following assumption: there are values and and an policy that satisfies:

Plugging above into inequality (11)

Summing the above over and rearranging terms as usual yields:

Considering yields the energy consumption bound. ∎


  • [1] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, “Mobile edge computing: Survey and research outlook,” arXiv preprint arXiv:1701.01090, 2017.
  • [2]

    W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Vision and challenges,”

    IEEE Internet of Things Journal, vol. 3, no. 5, pp. 637–646, 2016.
  • [3] Y. Mao, J. Zhang, and K. B. Letaief, “Dynamic computation offloading for mobile-edge computing with energy harvesting devices,” IEEE Journal on Selected Areas in Communications, vol. 34, no. 12, pp. 3590–3605, 2016.
  • [4] X. Ge, S. Tu, G. Mao, C.-X. Wang, and T. Han, “5g ultra-dense cellular networks,” IEEE Wireless Communications, vol. 23, no. 1, pp. 72–79, 2016.
  • [5] N. Fernando, S. W. Loke, and W. Rahayu, “Mobile cloud computing: A survey,” Future generation computer systems, vol. 29, no. 1, pp. 84–106, 2013.
  • [6] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloud computing and emerging it platforms: Vision, hype, and reality for delivering computing as the 5th utility,” Future Generation computer systems, vol. 25, no. 6, pp. 599–616, 2009.
  • [7] D. Huang, P. Wang, and D. Niyato, “A dynamic offloading algorithm for mobile computing,” IEEE Transactions on Wireless Communications, vol. 11, no. 6, pp. 1991–1995, 2012.
  • [8] J. Liu, Y. Mao, J. Zhang, and K. B. Letaief, “Delay-optimal computation task scheduling for mobile-edge computing systems,” in Information Theory (ISIT), 2016 IEEE International Symposium on.   IEEE, 2016, pp. 1451–1455.
  • [9] J. Xu, L. Chen, and S. Ren, “Online learning for offloading and autoscaling in energy harvesting mobile edge computing,” IEEE Transactions on Cognitive Communications and Networking, vol. PP, no. P, pp. 1–15, 2017.
  • [10] Y. Sun, S. Zhou, and J. Xu, “Emm: Energy-aware mobility management for mobile edge computing in ultra dense networks,” IEEE Journal on Selected Areas in Communications, vol. 35, no. 11, pp. 2637–2646, 2017.
  • [11] L. Chen, S. Zhou, and J. Xu, “Energy efficient mobile edge computing in dense cellular networks,” in 2017 IEEE International Conference on Communications (ICC), May 2017, pp. 1–6.
  • [12] L. Chen and J. Xu, “Socially trusted collaborative edge computing in ultra dense networks,” in Edge Computing (SEC), 2017 IEEE/ACM Symposium on, 2017.
  • [13] S. Tanzil, O. Gharehshiran, and V. Krishnamurthy, “A distributed coalition game approach to femto-cloud formation,” IEEE Transactions on Cloud Computing, 2016.
  • [14] C. Lixing, J. Xu, and S. Zhou, “Computation peer offloading in mobile edge computing with energy budgets,” in Proceedings of the IEEE Global Communications Conference.   IEEE, 2017.
  • [15] J. Tordsson, R. S. Montero, R. Moreno-Vozmediano, and I. M. Llorente, “Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers,” Future Generation Computer Systems, vol. 28, no. 2, pp. 358–367, 2012.
  • [16] B. Li, J. Li, J. Huai, T. Wo, Q. Li, and L. Zhong, “Enacloud: An energy-saving application live placement approach for cloud computing environments,” in Cloud Computing, 2009. CLOUD’09. IEEE International Conference on.   IEEE, 2009, pp. 17–24.
  • [17] Y. Gao, H. Guan, Z. Qi, Y. Hou, and L. Liu, “A multi-objective ant colony system algorithm for virtual machine placement in cloud computing,” Journal of Computer and System Sciences, vol. 79, no. 8, pp. 1230–1242, 2013.
  • [18] L. Yang, J. Cao, G. Liang, and X. Han, “Cost aware service placement and load dispatching in mobile cloud systems,” IEEE Transactions on Computers, vol. 65, no. 5, pp. 1440–1452, 2016.
  • [19] S. Wang, R. Urgaonkar, T. He, K. Chan, M. Zafer, and K. K. Leung, “Dynamic service placement for mobile micro-clouds with predicted future costs,” IEEE Transactions on Parallel and Distributed Systems, vol. 28, no. 4, pp. 1002–1016, 2017.
  • [20] Q. Zhang, Q. Zhu, M. F. Zhani, R. Boutaba, and J. L. Hellerstein, “Dynamic service placement in geographically distributed clouds,” IEEE Journal on Selected Areas in Communications, vol. 31, no. 12, pp. 762–772, 2013.
  • [21] K. Shanmugam, N. Golrezaei, A. G. Dimakis, A. F. Molisch, and G. Caire, “Femtocaching: Wireless content delivery through distributed caching helpers,” IEEE Transactions on Information Theory, vol. 59, no. 12, pp. 8402–8413, 2013.
  • [22] K. S. Prabh and T. F. Abdelzaher, “Energy-conserving data cache placement in sensor networks,” ACM Transactions on Sensor Networks (TOSN), vol. 1, no. 2, pp. 178–203, 2005.
  • [23] T. Wang, L. Song, and Z. Han, “Dynamic femtocaching for mobile users,” in Wireless Communications and Networking Conference (WCNC), 2015 IEEE.   IEEE, 2015, pp. 861–865.
  • [24] S. Müller, O. Atan, M. van der Schaar, and A. Klein, “Context-aware proactive content caching with service differentiation in wireless networks,” IEEE Transactions on Wireless Communications, vol. 16, no. 2, pp. 1024–1036, 2017.
  • [25] Z. Liu, Y. Chen, C. Bash, A. Wierman, D. Gmach, Z. Wang, M. Marwah, and C. Hyser, “Renewable and cooling aware workload management for sustainable data centers,” in ACM SIGMETRICS Performance Evaluation Review, vol. 40, no. 1.   ACM, 2012, pp. 175–186.
  • [26] S. Ren and Y. He, “Coca: Online distributed resource management for cost minimization and carbon neutrality in data centers,” in Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis.   ACM, 2013, p. 39.
  • [27] L. Kleinrock, Queueing systems, volume 2: Computer applications.   wiley New York, 1976, vol. 66.
  • [28] A. M. Geoffrion, “Generalized benders decomposition,” Journal of optimization theory and applications, vol. 10, no. 4, pp. 237–260, 1972.
  • [29] P. R. Christian and G. Casella, “Monte carlo statistical methods,” 1999.
  • [30] M. J. Neely, “Stochastic network optimization with application to communication and queueing systems,” Synthesis Lectures on Communication Networks, vol. 3, no. 1, pp. 1–211, 2010.