Next Article in Journal
Biogas Production from Oil Palm Empty Fruit Bunches and Palm Oil Decanter Cake using Solid-State Anaerobic co-Digestion
Next Article in Special Issue
A Novel Coding Metasurface for Wireless Power Transfer Applications
Previous Article in Journal
Online Remaining Useful Life Prediction for Lithium-Ion Batteries Using Partial Discharge Data Features
Previous Article in Special Issue
Energy Efficient Cooperative Computation Algorithm in Energy Harvesting Internet of Things
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Two-Stage Computation Offloading Scheduling Algorithm for Energy-Harvesting Mobile Edge Computing

1
Department of Computer Science and Engineering, Seoul National University of Science and Technology, Seoul 01811, Korea
2
School of Computer Science and Engineering, Chung-Ang University, 221 Heukseok, Dongjak, Seoul 156-756, Korea
3
Media Intellectualization Research Section, Electronics and Telecommunications Research Institute, 218 Gajeong-ro, Yuseong-gu, Daejeon 34129, Korea
4
School of Electrical Engineering, Korea University, 145 Anam-ro, Seongbuk-gu, Seoul 02841, Korea
*
Authors to whom correspondence should be addressed.
Energies 2019, 12(22), 4367; https://doi.org/10.3390/en12224367
Submission received: 6 September 2019 / Revised: 10 November 2019 / Accepted: 12 November 2019 / Published: 15 November 2019
(This article belongs to the Special Issue Energy-Efficient Computing and Communication )

Abstract

:
Recently, mobile edge computing (MEC) technology was developed to mitigate the overload problem in networks and cloud systems. An MEC system computes the offloading computation tasks from resource-constrained Internet of Things (IoT) devices. In addition, several convergence technologies with renewable energy resources (RERs) such as photovoltaics have been proposed to improve the survivability of IoT systems. This paper proposes an MEC integrated with RER system, which is referred to as energy-harvesting (EH) MEC. Since the energy supply of RERs is unstable due to various reasons, EH MEC needs to consider the state-of-charge (SoC) of the battery to ensure system stability. Therefore, in this paper, we propose an offloading scheduling algorithm considering the battery of EH MEC as well as the service quality of experience (QoE). The proposed scheduling algorithm consists of a two-stage operation, where the first stage consists of admission control of the offloading requests and the second stage consists of computation frequency scheduling of the MEC server. For the first stage, a non-convex optimization problem is designed considering the computation capability, SoC, and request deadline. To solve the non-convex problem, a greedy algorithm is proposed to obtain approximate optimal solutions. In the second stage, based on Lyapunov optimization, a low-complexity algorithm is proposed, which considers both the workload queue and battery stability. In addition, performance evaluations of the proposed algorithm were conducted via simulation. However, this paper has a limitation in terms of verifying in a real-world scenario.

Graphical Abstract

1. Introduction

In recent years, along with the development of the Internet of Things (IoT) technology, it has become easier to connect mobile devices to the Internet [1,2,3]. In particular, IoT-based sensor devices, which have low computing performance, can overcome their computational limitations with the help of cloud systems [4,5]. However, the explosive growth of IoT data has resulted in increased traffic load in networks and cloud systems. This overload reduces the quality of experience (QoE) of the services and can result in network blackout, which shuts down the network system [6,7]. To solve these problems, the mobile edge computing (MEC) technology, which is a type of radio access network (RAN) with cloud computing capabilities, has been developed to assist resource-constrained IoT devices [6,7]. In an MEC environment, the MEC server computes the offloaded workload from the IoT devices and charges the bill accordingly. This paper proposes an energy harvesting (EH) MEC system, which enhances the survivability of the MEC through energy harvesting if the MEC is installed in a remote area where grid power supply is not available. In the EH MEC system, the MEC server is powered by renewable energy resources (RER) such as photovoltaic or wind turbine resources. Therefore, it is possible to establish a system that deploys IoT sensor nodes and collects information in places where it is difficult to install electricity facilities such as deserts or unmanned islands. However, the EH MEC system has important challenges in terms of stability. On the one hand, since the energy supply from RERs is uncertain with respect to weather or time, the EH MEC system cannot achieve stable energy unlike conventional grid powered MEC. On the other hand, if EH MEC operation only considers maximization of the system performance, system black out will occur since the power supply of EH MEC is unstable, i.e., EH MEC has to consider battery stability [8]. Thus, EH MEC reduces the energy consumption when the amount of harvested energy is not sufficient even if the system performance is decreased.
This paper proposes an EH MEC scheduling algorithm that considers the battery stability. Figure 1 shows the proposed MEC system. As shown in the figure, the IoT devices transmit the offloading requests to the MEC system. Then, the MEC system determines the admission of requests (referred to as offloading scheduling). If the offloading request is accepted, it is executed by the MEC server. Otherwise, it is transferred to the cloud system. In addition, the MEC server determines its computation frequency based on the battery state-of-charge (SoC) (referred to as MEC scheduling). According to circuit theories, the CPU power is dominated by the dynamic power, which originates from the toggling activities of the logic gates inside the CPU [9]. Thus, in this paper, we assume that the power consumption of the computation offloading can be handled by CPU frequency scheduling such as dynamic voltage frequency scaling (DVFS) [9,10]. In the proposed system, if the SoC of the battery is sufficient, the MEC server raises the computation frequency for faster offloading service. Otherwise, the MEC server will lower the frequency to ensure system stability, i.e. to avoid blackout.
The contributions of this paper are summarized as follows:
  • EH MEC system: We propose an MEC integrated with RER to improve the survivability of the system through energy harvesting.The mathematical model of the MEC system includes a battery state, energy harvesting, offloading request and request deadline.
  • Real-time Scheduling: We propose a two-stage scheduling algorithm, consisting of offloading and MEC scheduling. The optimization problems of the two types of scheduling are modeled as NP-hard problems. Therefore, they cannot be solved in non-deterministic polynomial time. To solve this problem, we propose a greedy algorithm to find approximate solutions for offloading scheduling. For MEC scheduling, a Lyapunov optimization-based scheduling algorithm is proposed to find the optimal computation frequency in real time.
  • Battery Stability: As aforementioned, the EH MEC system has to consider the battery stability to ensure a stable operation. If the SoC is sufficient, the proposed offloading scheduler increases the number of permitted requests. Similarly, the MEC scheduler controls the frequency based on the battery SoC.
The rest of this paper is organized as follows. In Section 2, we review related works on EH MEC systems. In Section 3, the scheduling algorithms are proposed, and the corresponding optimization problem is presented. The design of the greedy algorithm, which can obtain approximate optimal solutions for offloading scheduling, and a low complexity MEC frequency scheduling algorithm based on Lyapunov optimization are provided in Section 4. Section 5 presents the performance evaluation. The conclusions of this paper are drawn in Section 6.

2. Related Work

In this section, we review the existing related works to clarify the motivation of the proposed algorithm. Over the past several years, MEC researchers have focused on maximizing computational efficiency and minimizing energy consumption of IoT devices [11,12,13,14,15,16]. In [11], the authors proposed joint offloading and computation energy efficiency maximization algorithm for MEC system. They proposed novel computation efficiency indicator and solved the problem by using iterative and gradient descent method. However, this algorithm did not consider energy harvesting. In [12], energy efficient task offloading algorithms for non-orthogonal multiple access (NOMA) MEC environment is presented. This algorithm determined the uplink power control solution, and then solved the task offloading partition and time allocation. However, this scheme also did not consider energy harvesting. The authors of [13] proposed the delay constraint offloading algorithm. This algorithm solved the problem of minimizing energy consumption, assuming that MEC server can charge IoT devices. In [14], the authors proposed a bound improving branch and bound approach to minimize energy consumption of IoT device in which orthogonal frequency division multiple access (OFDMA) was considered for uplink transmission. They focused on the energy consumption of the IoT device, under the consideration of computation offloading, subcarrier allocation, and computing resource allocation. In [15], an IoT device offloading scheduling algorithm in wireless power transfer environment is proposed. In this algorithm, the IoT device decides whether to compute the task itself or offload the task to MEC server. A cooperative partial computation offloading algorithm is proposed for MEC and cloud server environment in [16]. The authors proposed the branch and bound approach to solve the single MEC scenario, and then expanded it to multiple MEC and cloud scenario. For the multiple scenarios, an iterative heuristic MEC resource allocation algorithm was proposed. The authors of [9] proposed an algorithm for computation offloading scheduling of MEC server. They minimized the energy consumption of the MEC server as well as guaranteed the stability of the task buffer. However, it is difficult to apply this algorithm in EH environment since they did not consider energy harvesting. These previous studies [11,12,13,14,15,16] focused on the energy efficiency of IoT devices. However, this paper focuses on the energy efficiency scheduling of MEC server, i.e., MEC server has to provide stable offloading service. Due to the advancement in energy harvesting techniques, research about IoT systems with energy harvesting attracts significant attention [10,17,18,19]. In [17], reinforcement learning based offloading algorithm is proposed. In this algorithm, energy harvesting IoT devices decide their offloading rates according to battery levels. However, the target of this algorithm is not suitable to the proposed environment where MEC is harvesting energy. In [18], the authors proposed dynamic computation offloading algorithm with a special focus on computation capacity of MEC server. In this algorithm, the energy harvesting is not primarily considered in the offloading scheduling; it is only mentioned that it can extend network life time. A healthcare IoT system was proposed in energy harvesting environment by the authors of [19]. This algorithm is also not suitable for the EH MEC environments since it aims to protect user privacy. The authors of [10] proposed a Lyapunov optimization based algorithm for energy harvesting IoT devices. They assumed that the IoT device is equipped with an energy harvesting module and harvests electricity from the module. Each IoT devices schedules its computation frequency based on the energy harvesting status. All of the works in [10,17,18,19] assumed that IoT devices were equipped with energy harvesting modules and tried to solve the offloading scheduling problem under battery constraints. However, these algorithms are not suitable for the proposed EH MEC environment where the MEC server is equipped with energy harvesting module, i.e., our proposed scheme aims at the stable operation of MEC server in energy harvesting environment, but previous studies aimed at survivability of IoT devices. In [20], the authors proposed MEC scheduling algorithm in EH MEC environment. They modeled the MEC battery and harvested energy, and minimized the service delay and operation cost via reinforcement learning. The energy harvesting model is similar to the model of our proposed algorithm. However, they did not consider the deadline constraint in their problem formulation. In this paper, we consider the constraints of service deadline.

3. System Model

In this section, the mathematical modeling of the proposed EH MEC system is presented. To formulate the system model, this paper assumes that the time is divided into equal time slots indexed by t such that
t T where T = { 1 , 2 , 3 , , T } .
This paper also assumes that each IoT device requests multiple computation offloading tasks to the EH MEC server. Therefore, the scheduling is performed for each task, and we define the notations for the set of received tasks at time t as R t , i.e.,
R t = { r 1 t , r 2 t , r 3 t , , r R t } ,
where R is the number of tasks requested in the timeslot. R t is stored in the request buffer in the scheduler.
As shown in Figure 1, the energy of the EH MEC system is supplied from the RER and is stored in the ESS for the operation of the MEC system. Part of the energy is transferred to the small scale battery and used to operate the MEC server. The amount of energy received by the battery is denoted as e t , and it has a maximum value of E harv max , i.e.,
0 e t E harv max , t ,
where the e t s are i.i.d. in the different timeslots.
The battery level for computation offloading at the beginning of t is denoted as B t , and it is assumed that B 0 = 0 and B t < + , i.e., B t is consumed only for computation offloading. In addition, if we denote the energy consumed by computation offloading at t as E offload t , then the following equation holds [10]:
B t + 1 = B t E offload t + e t , t T .
Based on the defined notations, the optimization problems of the computation offloading scheduling are formulated as presented in the following subsections.

3.1. Computation Offloading Model

When an IoT device requests computation offloading to the EH MEC system, the EH MEC system can either allow offloading or pass the request to the cloud server. When the EH MEC system offloads all computation tasks, the service QoE will increase and the network overhead will be reduced. However, it is impossible to offload all the computation tasks due to the constraints of the EH MEC in terms of energy or computing performance. Therefore, the scheduler of the EH MEC system controls the admission of offloading requests, i.e., it determines whether it needs to be executed by the MEC or passed to the cloud server.
Figure 2 shows the proposed EH MEC scheduler. As shown in the figure, the proposed EH MEC scheduler consists of two sub-schedulers (offloading and MEC scheduler), three buffers (request, cloud, and MEC buffers), and two managers (battery and backhaul managers). At time t, the requests from the IoT devices are stored in the request buffer, and the request buffer is modeled as R t . Similarly, the MEC buffer can be modeled as
M t = { m 1 t , m 2 t , m 3 t , , m M t } ,
where M is the number of unexecuted tasks in the MEC buffer. Analogously, the cloud buffer can be modeled as
C t = { c 1 t , c 2 t , c 3 t , , c C t } ,
where C is the number of tasks in the cloud buffer.
Based on the SoC and MEC state, the offloading scheduler performs task scheduling (i.e., admission control) and updates the MEC buffer and cloud buffer.
For offloading scheduling, this paper introduces the following mathematical models. A request for computation offloading r i t is defined as follows:
r i t [ L i t , d i t ] ,
where L i t is the input bit size of the task and d i t is the execution deadline.
In this paper, we assume that d i t represents only the execution time in the MEC server. If we denote the number of CPU cycles required to process the bit input in the MEC server as X, then the number of CPU cycles required to execute r i t successfully can be obtained as
W R , i = L i t · X .
The CPU frequency of the MEC server at t and the delay for the execution of r i t are denoted as f t and D R , i t , respectively. Therefore, D R , i t can be obtained as
D R , i t = W R , i f t .
In addition, the offloading schedule of R t can be represented by
S t [ s 1 t , s 2 t , s 3 t , , s R t ] ,
where
s i t = 1 , if   r i t   is   allocated   to   the   MEC   server , 0 , if   r i t   is   allocated   to   the   cloud   server .
Based on the above definitions and notations, the execution delay can be computed as follows:
D s c h e d u l e t = m = 1 M D M , m t + r = 1 R s r t · D R , r t ,
where D M , i t is the execution delay of task m i t in the MEC buffer and can be computed similarly to Equation (9). Therefore, the scheduling constraint for the task deadline can be derived as follows:
s i t · D s c h e d u l e t d i t , i .
In addition, the energy consumed for executing the task r i t can be obtained as follows:
E R , i t = κ × W R , i × ( f t ) 2 ,
where κ is the effective switched capacitance, which depends on the chip architecture. Therefore, the scheduling constraint for energy consumption can be expressed as
E offload t = r = 0 R s r t · E R , r t + m = 1 M E M , m t B t ,
where E M , i t is the energy consumption for task m i k in the MEC buffer and can be computed similarly to Equation (13).
We assume that the MEC system charges the offloading bill according to the number of instruction executions, and the offloading pricing per instruction is denoted as p. Therefore, the computation offloading bill of r i t , denoted as P R , i t , can be obtained as
P R , i = p · W R , i .
This paper also assumes that the EH MEC system wishes to maximize the bill as well as satisfy the execution delay and energy constraints. Therefore, the objective function of the offloading scheduling can be derived as follows:
maximize S t r = 1 R s r t · P R , i t ,
subject to
s r t · D s c h e d u l e t d r t , r R ,
r = 0 R s r t · E R , r t + m = 1 M E M , m t B t .

3.2. MEC Computation Model

Based on the objective function in Equation (16) and constraints in Equations (17) and (18), the requests of the MEC buffer M t can be obtained. This section describes the mathematical models used for the computation of M t .
To compute more bits, the MEC server increases the CPU frequency f t according to Equation (9). However, an increase in the amount of computation results in increased energy consumption, which affects the battery life according to Equation (13).
To maximize the profit of the EH MEC system, it needs to offload more bits. However, it is impossible to maintain the maximum CPU frequency due to constraints on the battery in the EH MEC system. Therefore, the frequency scheduling of the MEC scheduler aims to maximize both the profit and battery stability.
To model the battery stability, a virtual queue Z t is introduced. Z t represents the amount of uncharged battery. Based on the definition of B t , Z t is greater than or equal to 0, i.e., 0 Z t < + . Based on Equation (4), the following equation is derived:
Z t + 1 = ( Z t + E offload t e t ) + , t T ,
where
α + max ( 0 , α ) .
Note that the battery should always be stable. Therefore, one constraint on the battery stability can be derived as follows:
lim t 1 t τ = 0 t 1 E [ Z τ ] < +
The number of CPU cycles needed to execute x i t successfully is denoted as W M , i , and it can be obtained in a similar manner as that in Equation (8). Accordingly, the required number of execution instructions at the MEC server at time t, which is denoted as I t , can be obtained as follows:
I t = i = 1 M W M , i ,
where 0 I t f max .
Based on the defined notations, the number of execution cycles from the MEC buffer at time t can be obtained as
Q t = min ( I t , f t ) .
A mathematical approach for maximizing the time-averaged expected number of execution cycles from the MEC buffer can be obtained as follows:
maximize lim t 1 t τ = 0 t 1 Q τ .
Assuming that the computation frequency of the MEC server can be changed dynamically, the frequency scheduling vector can be defined as
f t = [ f 1 t , f 2 t , · · · , f k t ] ,
where k is the number of frequency selections and f i t is an indicator function: if its frequency is selected, f i t = 1 ; otherwise, f i t = 0 . Since the MEC should select only one frequency at t, the following constraints are derived:
t { 0 , · · · , } ,
i = 1 k f i t = 1 ,
f i t { 0 , 1 } .
Moreover, the selected frequency should guarantee the request deadline. Therefore, the minimum frequency scheduling vector required to guarantee all the request deadlines is denoted as kth, and the following constraints can be derived:
i = 1 k t h 1 f i t = 0 ,
i = k t h k f i t = 1 ,
and Equation (27) can be replaced by Equations (29) and (30).
To change f t into a scalar value, this paper introduces the frequency selectable vector F , which is defined as follows:
F = [ F 1 , F 2 , F 3 , · · · , F k ] .
Then, f t can be calculated as
f t = f t · ( F ) T .
Accordingly, Equations (20) and (24) are, respectively, modified as follows:
Z t + 1 = Z t + E offload t [ f t ] e t , t T ,
maximize lim t 1 t τ = 0 t 1 Q τ [ f τ ] .
Finally, the objective function, considering both the MEC buffer and battery stability, can be obtained as follows:
maximize lim t 1 t τ = 0 t 1 Q τ [ f τ ] ,
subject to
lim t 1 t τ = 0 t 1 E [ Z τ ] < + .

4. Proposed Scheduling Algorithm

4.1. Computation Offloading Scheduling

In Section 3.1, the mathematical models and optimization problem are designed. As shown in Equation (11), D s c h e d u l e t is a function of s r t . The constraint of the task deadline in Equation (12) is non-convex since there exists a multiplication of the function D s c h e d u l e t by s r t . Therefore, the proposed optimization problem for offloading scheduling is NP-hard and cannot be solved in non-deterministic polynomial time. To solve this problem, this paper presents a novel greedy scheduling algorithm for obtaining approximate solutions.
Algorithm 1 presents the proposed greedy algorithm for offloading scheduling. The greedy algorithm consists of offloading request sorting and offloading request scheduling. First, the sequence of offloading request scheduling based on offloading request sorting is determined. The scheduling sequence is determined based on the deadline of the requests. From Equations (11) and (12), it is obvious that a computation request having a longer deadline in the MEC buffer will be satisfied if a request with a shorter deadline is satisfied. Therefore, the proposed algorithm sorts R t in the descending order of d i t (Line 1 in Algorithm 1). Second, the algorithm alternatively schedules each request by checking the following constraints. If r i t is scheduled to the MEC server, the constraints of the delay and the battery should be satisfied (Line 4 in Algorithm 1). To check the delay, the expected delay can be modified by Equation (11) and expressed as follows:
D s c h e d u l e t ^ = m = 1 M D M , m t + D R , i t ,
Of course, the expected delay should satisfy the execution deadline as follows:
D s c h e d u l e t ^ d i t .
To check the battery SoC, Equation (18) can be modified as follows:
E R , i t + m = 1 M E M , m t B t ,
i.e., the sum of energy consumption for the MEC tasks and the request should not be larger than the current battery capacity.
Algorithm 1 The Greedy Algorithm.
1:
Step 1: Offloading request sorting (descending order of d i t )
2:
Step 2: Offloading request scheduling
3:
for i = 1 N do
4:
  Determine if r i t satisfies both Equations (38) and (39).
5:
  if r i t satisfies the both Equations then
6:
    Update M t
7:
  else
8:
    Update C t
9:
  end if
10:
end for
If r i t is suitable for allocation to the MEC, it is transferred to the MEC buffer and M t is updated (Lines 5 and 6 in Algorithm 1). Otherwise, r i t is transferred to the cloud buffer and C t is updated (Lines 7 and 8 in Algorithm 1).

4.2. MEC Scheduling

In Section 3.2, the mathematical models and the corresponding optimization problem are designed. As shown in Equations (35) and (36), the proposed objective function and the constraints considered in this paper form an NP-hard problem. Our objective function is a time domain function; therefore, the Lyapunov drift optimization technique is suitable for solving this problem since we can observe the tradeoff between the performance and battery stability. Let Θ t denote the vector of the uncharged battery queues at time t, and the quadratic Lyapunov function is defined as
L t = 1 2 ( Θ t ) T Θ t = 1 2 ( Z t ) 2 ,
where ( Θ t ) T denotes the transpose of Θ t ; however, it should be noted that Θ t has only one queue vector, and therefore Equation (40) can be derived. Let Δ t be a conditional quadratic Lyapunov function, which can be formulated as E [ L t + 1 L t Θ t ] , i.e., the drift on t [21]. The dynamic policy is designed to solve the proposed optimization formulation by observing only the current uncharged battery queue Z t , which is maximized as follows:
Q t V Δ t ,
where V is a positive constant value parameter used to control the drift policy, which affects the reward–battery tradeoffs [21]. Next, we select a frequency at each time slot t. By selecting a frequency, we receive a reward. This selection can be represented as follows:
argmax f t F k Q t [ f t ] V · Z t · ( E offload t [ f t ] e t ) ,
where e t is the energy harvested at t and has a constant value. Since it does not impact the results, Equation (42) can be updated as follows:
argmax f t F k Q t [ f t ] V · Z t · ( E offload t [ f t ] ) .
Since Equation (43) is in the closed form, the proposed algorithm can dynamically control f t and find the optimal f t in polynomial time.

5. Performance Evaluation

The performance of the proposed scheduling algorithms was evaluated. Through intensive MATLAB-based simulations, the following performances were verified: (1) design of the proposed algorithms; and (2) adaptation of the EH MEC environments.

5.1. Design of the Proposed Algorithm

To verify the proposed greedy algorithm, small-scale topologies ( R = 25 ) were generated in a random manner. In addition, the following parameters were considered. Each request size ( L i t ) followed a uniform distribution ([5,000, 15,000] bits), and the request deadline ( d i t ) followed a uniform distribution ( [ 1 , 2 ] seconds). The battery size was assumed to be 100 Wh (=360,000 J), and the SoC of the battery followed a uniform distribution ( [ 30 , 95 ] % ). The value of κ was set to 7.4 × 10 27 , and it was derived using an Intel i7 Processor. X was set to 740, i.e., the MEC server required 740 cycles to compute 1 bit. To approximately measure the greedy algorithm, the small-scale topologies were simulated 10,000 times with the above mentioned parameters. In the small-scale topologies, the optimal solution can be computed using the brute-force method since there are only a few offloading requests.
Figure 3 shows the difference in offloading bit size between the optimal solution and the greedy algorithm. As shown in the figure, the proposed algorithm guarantees more than 96% of the optimal value. Moreover, more than 99% of the difference between the greedy algorithm and the optimal solution are less than 700 bytes.
This study also verified that the proposed MEC scheduling algorithm is well designed, i.e., the proposed Lyapunov drift optimization techniques can control the tradeoff between the performance and the battery stability according to V. For the verification of the MEC scheduling algorithms, the following simulation parameters were considered. The battery size of the MEC server was assumed to be 100 Wh (=360,000 J), and the SoC of the battery at the beginning of the simulation was assumed to be 50%.The number of IoT devices was 480, and each IoT device randomly generated the offloading request according to the Poisson distribution (the mean of the inter-arrival time was 1 s). The deadline of each request was randomly generated according to the uniform distribution using [1,2]. The number of timeslots was 86,400, and the time unit was 1 s, i.e., we simulated one day.
Figure 4 shows the changes in average battery amount and total bill according to V. As shown in the figure, the average battery amount increases with increasing V. On the other hand, the total bill decreases with increasing V. In the proposed optimization problem of MEC scheduling, there is a tradeoff between battery stability and the bill. Therefore, we can verify that the proposed Lyapunov-based MEC scheduling algorithm works well. In addition, the algorithm efficiently controls the priority between the battery stability and the bill.

5.2. Adaptation of the Proposed Scheduling

This study verified the performance of the proposed scheduling algorithm in EH MEC environments. For evaluating the energy harvesting, actual measurement parameters from renewable energy resources were used. These measurement parameters were the actual field data recorded at an industrial complex that has factories making mineral waters and relevant research facilities on Jeju Island of South Korea for spring, summer, and autumn of 2017. Through the performance evaluation, we can confirm how the proposed algorithm works according to the amount of energy harvested.
Figure 5 shows the accept ratio of offloading requests according to the timeslot. In the proposed offloading scheduling algorithm, which is presented in Section 4.1, the scheduler determines the admission of requests by considering the request deadline as well as the MEC battery stability. Therefore, the proposed scheduler increases the accept ratio if the battery is sufficiently stable. As shown in the figure, the accept ratio changes according to the amount of energy harvested. At the beginning of the simulation, the requests are constantly accepted. Then, the accept ratio rapidly increases at t = 40,000 where energy harvesting begins, and then it fluctuates according to the amount of energy harvested. In addition, a higher V indicates an increasing CPU frequency; hence, the scheduler can accept more requests. Therefore, the total bill of the MEC server increases with decreasing V, as shown in Figure 4.
Figure 6 shows the CPU cycles according to timeslot. As shown in the figure, the proposed scheduler efficiently controls the CPU frequency according to the amount of energy harvested. This is because the increase in energy harvesting stabilizes the battery, which results in greater battery stability. Consequently, it increases the CPU frequency to accept more requests. In addition, the figure shows the difference in number of CPU cycles with V, and a higher V relatively decreases the CPU frequency to stabilize the battery more. From t = 0 to t = 40,000, where the energy is not sufficiently harvested, the differences among different values of V are greater than the differences from t = 40,000 to t = 60,000, where the energy is sufficiently harvested. This is because, when the battery is not sufficiently stable, the offloading scheduler increases the number of rejected requests, and the MEC scheduler schedules the frequencies differently according to V. When the battery is sufficiently stable, however, the offloading scheduler increases the number of accepted requests and the MEC scheduler increases the CPU frequency to the maximum depending on the consumption of the battery, i.e., the CPU frequency is maximized depending on the boundaries that the battery can support.
Figure 6 shows the battery amount according to the timeslot. Similar to the previous plots, the battery amount changes according to the amount of energy harvested as shown in Figure 7. We can see that the battery amount with V = 2.6 × 10 2 more rapidly compared to decreases in the battery amount with other values of V. This is because the energy consumption is quadratic with respect to the increase in CPU frequency. As shown in Figure 6, the CPU frequencies among different Vs are similar at 40,000 < t < 60,000. However, their battery amounts are different since the number of accepted requests are different.
The evaluation measured the computation time of the proposed scheduling algorithm to verify its applicability. Figure 8 shows the computation time of the proposed algorithm against the number of IoT devices. As shown in the figure, the computation time is less than 0.4 ms when the number of IoT devices is 1000. In addition, the computation time increases linearly with the number of IoT devices. Thus, the complexity of the proposed scheduling algorithm is linear with the number of IoT devices. This is because the proposed scheduling algorithm is designed based on Lyapunov drift optimization, which can solve the problem in polynomial time. Therefore, the proposed algorithm can schedule the computation offloading sufficiently in real-time.

6. Conclusions

This paper proposes optimization formulations and their corresponding algorithms for computation offloading scheduling in an EH MEC system. For the admission control of the offloading requests, an offloading scheduling algorithm was designed to consider both the QoE of the offloading request and the system stability. The optimization problem of the offloading scheduling was formulated as a non-convex problem, and a greedy algorithm was proposed to solve the problem in polynomial time. The performance evaluation showed that the proposed greedy algorithm achieves a near-optimal performance, providing solutions that are close to the optimal solutions. To improve the survivability of the EH MEC, the proposed optimization problem of MEC scheduling considers the battery stability as well as the workload queue. Since the proposed problem of MEC scheduling is non-convex, a Lyapunov optimization-based algorithm was proposed for low-complexity scheduling. Through intensive simulations, we verified that the proposed two-stage algorithm efficiently controls the offloading requests and the CPU frequency in EH environments. However, this paper has a limitation in terms of verifying in a real-world scenario. Thus, it is essential to note that the proposed algorithm needs to be enhanced by conducting real-world testing in energy harvesting mobile edge computing. In addition, designing a scheduling algorithm by considering the offloading communication overhead is an interesting future research direction.

Author Contributions

Conceptualization, L.P.; methodology, L.P. and W.N.; software, L.P.; validation, L.P.; formal analysis, L.P.; investigation, L.P. and C.L.; resources, L.P. and S.C. (Sungyun Choi); data curation, C.L.; writing–original draft preparation, L.P.; writing–review and editing, S.C. (Sungyun Choi) and S.C. (Sungrae Cho); visualization, L.P.; supervision, S.C. (Sungrae Cho); project administration, W.N.; funding acquisition, S.C. (Sungrae Cho).

Funding

This work was supported by the National Research Foundation of Korea(NRF) grant funded by the Korea government(MSIT) (No. 2019R1F1A1064164).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kamilaris, A.; Pitsillides, A. Mobile Phone Computing and the Internet of Things: A Survey. IEEE Internet Things J. 2016, 3, 885–898. [Google Scholar] [CrossRef]
  2. Xu, L.D.; He, W.; Li, S. Internet of Things in Industries: A Survey. IEEE Trans. Ind. Inform. 2014, 10, 2233–2243. [Google Scholar] [CrossRef]
  3. Perera, C.; Liu, C.H.; Jayawardena, S.; Chen, M. A Survey on Internet of Things From Industrial Market Perspective. IEEE Access 2015, 2, 1660–1679. [Google Scholar] [CrossRef]
  4. Deng, S.; Huang, L.; Taheri, J.; Zomaya, A.Y. Computation Offloading for Service Workflow in Mobile Cloud Computing. IEEE Trans. Parallel Distrib. Syst. 2015, 26, 3317–3329. [Google Scholar] [CrossRef]
  5. You, C.; Huang, K.; Chae, H. Energy Efficient Mobile Cloud Computing Powered by Wireless Energy Transfer. IEEE J. Sel. Areas Commun. 2016, 34, 1757–1771. [Google Scholar] [CrossRef]
  6. Guo, H.; Liu, J.; Zhang, J.; Sun, W.; Kato, N. Mobile-Edge Computation Offloading for Ultra-Dense IoT Networks. IEEE Internet Things J. 2018, 5, 4977–4988. [Google Scholar] [CrossRef]
  7. Fan, Q.; Ansari, N. Application Aware Workload Allocation for Edge Computing-Based IoT. IEEE Internet Things J. 2018, 5, 2146–2153. [Google Scholar] [CrossRef]
  8. Zhang, D.; Chen, Z.; Ren, J.; Zhang, N.; Awad, M.K.; Zhou, H.; Shen, X.S. Energy-Harvesting-Aided Spectrum Sensing and Data Transmission in Heterogeneous Cognitive Radio Sensor Network. IEEE Trans. Veh. Technol. 2017, 66, 831–843. [Google Scholar] [CrossRef]
  9. Mao, Y.; Zhang, J.; Song, S.H.; Letaief, K.B. Stochastic Joint Radio and Computational Resource Management for Multi-User Mobile-Edge Computing Systems. IEEE Trans. Wirel. Commun. 2017, 16, 5994–6009. [Google Scholar] [CrossRef]
  10. Mao, Y.; Zhang, J.; Letaief, K.B. Dynamic Computation Offloading for Mobile-Edge Computing With Energy Harvesting Devices. IEEE J. Sel. Areas Commun. 2016, 34, 3590–3605. [Google Scholar] [CrossRef]
  11. Sun, H.; Zhou, F.; Hu, R.Q. Joint Offloading and Computation Energy Efficiency Maximization in a Mobile Edge Computing System. IEEE Trans. Veh. Technol. 2019, 68, 3052–3055. [Google Scholar] [CrossRef]
  12. Pan, Y.; Chen, M.; Yang, Z.; Huang, N.; Shikh-Bahaei, M. Energy-Efficient NOMA-Based Mobile Edge Computing Offloading. IEEE Commun. Lett. 2019, 23, 310–313. [Google Scholar] [CrossRef]
  13. Feng, J.; Pei, Q.; Yu, F.R.; Chu, X.; Shang, B. Computation Offloading and Resource Allocation for Wireless Powered Mobile Edge Computing with Latency Constraint. IEEE Wirel. Commun. Lett. 2019, 8, 1320–1323. [Google Scholar] [CrossRef]
  14. Yang, X.; Yu, X.; Huang, H.; Zhu, H. Energy Efficiency Based Joint Computation Offloading and Resource Allocation in Multi-Access MEC Systems. IEEE Access 2019, 7, 117054–117062. [Google Scholar] [CrossRef]
  15. Wang, F.; Xu, J.; Wang, X.; Cui, S. Joint Offloading and Computing Optimization in Wireless Powered Mobile-Edge Computing Systems. IEEE Trans. Wirel. Commun. 2018, 17, 1784–1797. [Google Scholar] [CrossRef]
  16. Ning, Z.; Dong, P.; Kong, X.; Xia, F. A Cooperative Partial Computation Offloading Scheme for Mobile Edge Computing Enabled Internet of Things. IEEE Internet Things J. 2019, 6, 4804–4814. [Google Scholar] [CrossRef]
  17. Min, M.; Xiao, L.; Chen, Y.; Cheng, P.; Wu, D.; Zhuang, W. Learning-Based Computation Offloading for IoT Devices With Energy Harvesting. IEEE Trans. Veh. Technol. 2019, 68, 1930–1941. [Google Scholar] [CrossRef]
  18. Wei, Z.; Zhao, B.; Su, J.; Lu, X. Dynamic Edge Computation Offloading for Internet of Things With Energy Harvesting: A Learning Method. IEEE Internet Things J. 2019, 6, 4436–4447. [Google Scholar] [CrossRef]
  19. Min, M.; Wan, X.; Xiao, L.; Chen, Y.; Xia, M.; Wu, D.; Dai, H. Learning-Based Privacy-Aware Offloading for Healthcare IoT With Energy Harvesting. IEEE Internet Things J. 2019, 6, 4307–4316. [Google Scholar] [CrossRef]
  20. Xu, J.; Chen, L.; Ren, S. Online Learning for Offloading and Autoscaling in Energy Harvesting Mobile Edge Computing. IEEE Trans. Cogn. Commun. Netw. 2017, 3, 361–373. [Google Scholar] [CrossRef]
  21. Neely, M.J. Stochastic Network Optimization with Application to Communication and Queueing Systems; Morgan & Claypool: San Rafael, CA, USA, 2010. [Google Scholar]
Figure 1. Architectural view of the proposed EH MEC system, consisting of RERs, energy storage system (ESS), a base station, MEC, etc. The IoT devices send their computational workloads to the base station. If the computation can be performed by the EH MEC system, it is offloaded to the MEC. Otherwise, it is offloaded to the cloud system.
Figure 1. Architectural view of the proposed EH MEC system, consisting of RERs, energy storage system (ESS), a base station, MEC, etc. The IoT devices send their computational workloads to the base station. If the computation can be performed by the EH MEC system, it is offloaded to the MEC. Otherwise, it is offloaded to the cloud system.
Energies 12 04367 g001
Figure 2. The proposed architecture of the EH MEC scheduler. The EH MEC scheduler includes two sub schedulers: (1) offloading scheduler; and (2) MEC scheduler.
Figure 2. The proposed architecture of the EH MEC scheduler. The EH MEC scheduler includes two sub schedulers: (1) offloading scheduler; and (2) MEC scheduler.
Energies 12 04367 g002
Figure 3. Difference vs. CDF.
Figure 3. Difference vs. CDF.
Energies 12 04367 g003
Figure 4. Average battery amount and total bill vs. V.
Figure 4. Average battery amount and total bill vs. V.
Energies 12 04367 g004
Figure 5. Request accept rate vs. timeslot.
Figure 5. Request accept rate vs. timeslot.
Energies 12 04367 g005
Figure 6. CPU cycles vs. timeslot.
Figure 6. CPU cycles vs. timeslot.
Energies 12 04367 g006
Figure 7. Battery amount vs. timeslot.
Figure 7. Battery amount vs. timeslot.
Energies 12 04367 g007
Figure 8. Computation time (ms) vs. number of IoT devices.
Figure 8. Computation time (ms) vs. number of IoT devices.
Energies 12 04367 g008

Share and Cite

MDPI and ACS Style

Park, L.; Lee, C.; Na, W.; Choi, S.; Cho, S. Two-Stage Computation Offloading Scheduling Algorithm for Energy-Harvesting Mobile Edge Computing. Energies 2019, 12, 4367. https://doi.org/10.3390/en12224367

AMA Style

Park L, Lee C, Na W, Choi S, Cho S. Two-Stage Computation Offloading Scheduling Algorithm for Energy-Harvesting Mobile Edge Computing. Energies. 2019; 12(22):4367. https://doi.org/10.3390/en12224367

Chicago/Turabian Style

Park, Laihyuk, Cheol Lee, Woongsoo Na, Sungyun Choi, and Sungrae Cho. 2019. "Two-Stage Computation Offloading Scheduling Algorithm for Energy-Harvesting Mobile Edge Computing" Energies 12, no. 22: 4367. https://doi.org/10.3390/en12224367

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop