## 2 Related Works  
Computation offloading has attracted significant attention for both MCC [6; 7] and MEC [8; 9] in recent years. A lot of works has been done on the task offloading, meanwhile many strategies have been put forward. They can be divided into two classes: (i) latency-based offloading strategies [10; 11; 12; 13; 14] and (ii) energy-based offloading strategies [15; 16; 17; 18; 19].  
The goal of latency-based offloading strategies is to minimize execution time of tasks. [PERSON] et al. [10] formulated a latency minimization problem, then proposed a search algorithm to obtain the optimal task scheduling strategy. [PERSON] et al. [11] designed a distributed task offloading method based on game theory, which can achieve a Nash equilibrium. [PERSON] et al. [12] raised a novel technique based on compiler code analysis, which optimizes the execution time through offloading some of the code on the phone to the cloud dynamically. [PERSON] et al. [13] presented a dynamic offloading strategy based on Lyapunov optimization, in order that execution time can be reduced. [PERSON] et al. [14] designed a heuristic partitioning method to minimize the average execution time. However, these works do not consider energy consumption issues.  
The purpose of energy-based offloading policies is to decrease energy consumption of mobile devices. [PERSON] et al. [15] proposed a computation offloading strategy, in which the optimization problem is expressed as a Markov decision process. [PERSON] et al. [16] apply KKT conditions to solve the energy minimizing optimization problem, and further propose a request offloading method. [PERSON] et al. [17] developed a lightweight framework and then designed a selective offloading strategy to minimize the energy consumption of devices. In [18], [PERSON] et al. presented a dynamic offloading strategy through exploiting Lyapunov to reduce energy consumption. [PERSON] et al. [19] simultaneously optimized transmission time and data volume so as to minimize the mobile devices' energy consumption. However, these works only consider energy consumption and do not pay attention to the delay problem.  
Furthermore, few works have addressed the problem of computation offloading jointly considering energy consumption and task execution time. [PERSON] et al. in [20] introduced an online offloading strategy so as to minimize energy consumption while meeting low delay. [PERSON] et al. in [21] proposed a distributed computation offloading algorithm for MEC networks, in order that it can optimize energy consumption and time delay simultaneously. Neverless, they ignored that the computation capability of the edge cloud (details are provided in Sections 3.1 and 4.2.4) vary with the number of computation tasks for mobile edge computing. [PERSON] et al. [22] analyzed the energy efficiency of big data stream, and then the energy of batteries is measured through a power monitor. [PERSON] et al. in [23] presented a distributed architecture, which can manage dynamic IOT environments where edge nodes possible overload because of increased workloads. Although they take into account the situation when workloads changes over time, they cannot describe the load of the cloud relatively accurately.  
Various models have been applied to prediction of resource in the cloud environment. PRESS [24] adopts the Markov model and the signature-driven methods for resource prediction, which regards it as a linear time prediction problem. [PERSON] et al. [25] implemented a Recurrent Neural Network to estimate CPU utilization. In this paper, we consider the two aspects together. We develop an ARIMA-BP model to estimate the usage of the edge cloud and then calculate the computation capacity. Since the computation resources of the edge cloud can be obtained by ARIMA-BP in real time, the offloading strategy based on this is relatively accurate and effective.