# Mobility- and Energy-Aware Cooperative Edge Offloading for Dependent Computation Tasks +
## 5 Solution of Dynamic Computation Offloading Optimization Problem
### Energy-Efficient Task Offloading (EETO) Algorithm
The left part of Table 2 indicates that for computation-intensive tasks with \(c_{k}\geq 20\) cycles/bit, ALO fails to finish the task execution within the deadline \(T_{d}^{\max}\) (marked in red), which clearly demonstrates the need for a task offloading method. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Input. Cycles \(c_{k}\) Per Bit**} & \multirow{2}{*}{**Finish Time of Last Task (s) \(FT_{K}\)**} & \multirow{2}{*}{**Data Size \(b_{k}\) in KB**} & \multicolumn{2}{c}{**Finish Time \(FT_{K}\) of Last Task (s)**} \\ \cline{1-1} \cline{3-4} \cline{6-5} \cline{5-5}



Figure 5a indicates that the ASO battery energy consumption is nearly constant with a slight increase. In the ASO case, the UE consumes battery energy for transmitting the data directly to the server. When the computations \(c_{k}\) per bit increase, the UE consumes slightly more energy for waiting for the server (however, the energy consumption for waiting is far lower compared to the transmission energy). For simple tasks (with small \(c_{k}\)), the task transmission to the MEC server (directly, ASO, or indirectly via helper relays, CMCO) consumes more UE and UH battery energy than executing the simple tasks locally (ALO) or on nearby helpers (CPCO). However, as tasks become more complicated (i.e., as \(c_{k}\) increases), the battery energy consumption for task execution on nearby helpers (CPCO) starts to exceed the battery energy consumption for transmitting the tasks via helpers (CMCO) to the MEC server. We observe from Figure 5a that our proposed EETO method achieves the lowest average battery energy consumption compared to the other approaches. EETO trades optimally between the computation cooperation (CPCO) and the communication cooperation (CMCO) functionalities of the helper nodes, i.e., optimally trades off between all task execution options in Section 3.4, and thus achieves the minimal average battery energy consumption across the full range of task complexities, i.e., required computation cycles \(c_{k}\) per bit for task \(k\). Importantly, in typically heterogeneous operating scenarios with a wide range of task complexities \(c_{k}\) (as further examined in Figure 8), our proposed EETO approach makes the optimal decision for each task \(k\) depending on the individual characteristics of each task \(k\) and thus can extract substantial energy consumption reductions compared to the CPCO or CMCO benchmarks, which could exploit only one type of cooperation. Figure 5b shows that when the task data size \(b_{k}\) increases, more battery energy is required to offload the tasks to the helper or server, and more computation resources are required to complete the execution process. Therefore, the average battery energy consumption of all approaches increases as \(b_{k}\) increases. However, the EETO energy consumption is lower compared to the other methods for each data size \(b_{k}\). The right part of Table 2 indicates that for increasing task data size \(b_{k}\), ALO cannot satisfy the latency requirements, thus demonstrating again the need for an offloading method. #### 6.2.2 Impact of Transmission Power \(P_{k}^{t}\) and UE Speed

Figure 6a shows the average battery energy consumption as a function of the transmit power \(P_{k}^{tr}\), indicting an overall growing trend of the average battery energy consumption with increasing \(P_{k}^{tr}\). This is mainly because \(P_{k}^{tr}\) influences the transmission data rate logarithmically (see Equation (3)) and the battery energy consumption for task offloading linearly (see Equations (7), (10), and (13)). We observe from Figure 6a that for low \(P_{k}^{tr}=45\) mW, CMCO and EETO consume only about two-thirds of the battery energy of CPCO and less than half of ASO, mainly due to the energy-efficient relay task transmission to the MEC servers (however, a low \(P_{k}^{tr}\) reduces the offloading speed and makes it harder to meet the task deadlines).