• No se han encontrado resultados

6. RESULTADOS DE LA INVESTIGACIÓN

6.3. Visión de conjunto: armonía y disonancia discursivas en la literatura

6.3.1. La jaula que el pájaro se inventa: el escritor y su entorno

The three example tasks in the demo application are executed 30 times each and plotted an average for both the completion time in seconds and energy consumption in Joules. The Maximum Local Executions (MaxLE) and Maximum

4http://www.gnu.org/software/grep/ 5http://www.gnu.org/software/coreutils/

6.2 Offloading Decision Algorithm Evaluation 133

(a) Text search completion time (b) Text search energy consumption

(c) Quick sort completion time (d) Quick sort energy consumption

(e) N-Queens completion time (f) N-Queens energy consumption Fig. 6.2 The demo application task execution results in the offloading decision algorithm evaluation

Remote Executions (MaxRE) execution checkpoint variables are key points in deciding to perform a remote execution or fall back to local execution as shown in Algorithm 4.1. The gains in response time and energy obtained by using MAMoC are shown in Figure 6.2. The proposed multi-criteria solver algorithm then selects the offloading site after performing the AHP and fuzzy TOPSIS methods listed in Algorithm 4.4. A detailed MCDM evaluation is left for the next set of evaluation where both the single decision making that is used for this evaluation and group decision making tests will be conducted.

6.2.3.1 Completion Time

Completion time of the offloading task to a remote node contains communication time in the wireless network and computation time in the offloading site. As the task data size (DTTi) increases, the communication time and computation time are

increasing. From Figure 6.2a, it can be observed that in terms of total completion time, the local execution is preferable for a small text file but not in the case of medium or large text files. The minimum completion time for medium and large text file scenarios was when the task was offloaded to the nearby mobile device due to low transmission overhead and higher computation capabilities. As shown earlier in Algorithm 4.1, MAMoC checks if the task has been executed previously from the database entries of that task and its configurations. In this step, a simple heuristic is applied to check if the task has been executed for 5 times in a row in the same location (MaxLE%5 == 0), e.g. edge, then MAMoC decides to run it on the other site, e.g. locally. By doing this, there is a mechanism to compare the executions and figure out if the task performs better locally for small input values and if for larger input values it is more convenient to offload its execution to the remote site. Similarly, in the Quicksort example in Figure 6.2c, it can be noted that the edge server and public cloud instance have shorter completion times. A similar pattern can be concluded in the N-Queens example in Figure 6.2e.

6.2.3.2 Energy Consumption

This represents the energy consumed by the host mobile device when the task is executed locally or remotely. Power estimation is dependent on the frequency and the load of each CPU core, the Graphics Processing Unit, and the brightness of the screen. Energy consumption for both computation and communication [16] are recorded during the execution of the task.

The two methodologies for measuring the energy consumption of mobile devices are hardware and software solutions [55]. Monsoon [94] is a well-known

6.2 Offloading Decision Algorithm Evaluation 135

power monitor used in many mobile computation offloading systems. There are a good deal of software-based mobile device power modelling and analysis tools [52][160][100] that are used in the mobile computation offloading literature. Trepn Profiler [98] is an on-device standalone profiling tool that displays an overlay UI with real-time graphs for CPU loads and battery data. App-specific power consumption and utilization can be saved in a CSV file in the mobile device. The file can then be exported to a desktop computer for offline analysis. The energy consumption figures are generated using this approach. One of the concerns of this profiler is that it only works on Snapdragon chipset-based Android devices powered with special component-wise sense resistors and power management IC. In a survey on software energy profilers [57], it is shown that Trepn profiler can achieve up to 99% accuracy against the power measurement results with the external devices.

Figure 6.2b, Figure 6.2d, and Figure 6.2f depict the energy consumption variance with the task size. It is observed that the proposed scheme outperforms local computing and full offloading to the public cloud server. In the meantime, the offloading method gets a better result, especially when the task size becomes larger. Therefore, for large computing tasks, the algorithm prefers to offload large partial computation tasks to the more powerful sites to reduce mobile consumption. The full offloading method is expected to have better performance than local computing on energy consumption. Since the proposed approach considers the trade-off between the advantages of local computing and full offloading methods, it reduces energy consumption in total.

It can also be noted that in some scenario executions, MAMoC has a longer average completion time and energy consumption than a particular offloading site. Nonetheless, in the long run, it can adapt to the dynamic environment changes and make better decision making than always selecting local execution or full offloading to a single site.