• No results found

The evaluation results of the first two experiments showed that in particular instances, multisite offloading can both reduce the overall completion time and energy consumption of running the tasks. Despite its advantages, the following limitations can be observed across both evaluations:

• The performed evaluation in a controlled and well-defined environment while performing different offloading scenarios. In more realistic scenarios, mobile users move around and the network signal strength changes, which affect the changes in RTT values. Moreover, the use of a strong signal Wi-Fi (CS network) for this evaluation clearly improves the results of the offloading, especially to the cloudlet and cloud nodes. Figuratively, using cellular networks would increase the RTT values of the offloading sites that result in lower task partitions allocated to them. A more dynamic network and updated RTT values can be used to showcase the differences in the results for better testing the decision engine.

• One more concern in the evaluations is the occurrence of offloading failures. With intermittent connectivities between the Self Node and offloading sites,

6.7 Discussion and Limitations 159

communication failures happen. This evaluation uses a timeout mechanism of 5 seconds to fall back the execution to the local device. For a more robust offloading system, a more intelligent failure recovery mechanism can be adapted similar to the works discussed in [163].

• Despite its benefits, our approach is not applicable to all applications. Some mobile applications are written in a monolithic style, in which functionality cross-cuts through traditional modularization program constructs such as classes and methods. Without clear offloading program points, our approach would be inapplicable.

• MAMoC only considers a single mobile user environment without considering other mobile users which increase the number of offloaded requests and adds more request loads on the service providers. The application is running a single-user environment so that the execution time for each offloading of the same task on the same computation node is generally close to their average. This cannot be guaranteed for a multi-user environment. Researchers in [20] use game-theoretic approaches to model this scenario and handle the load balancing in the sites. In addition, a few related studies can be introduced to enhance MAMoC, such as supporting multi-user cases via game-theoretic model [25] and supporting complex mobility models via other offloading decision algorithms [125].

• The complex mobility model of mobile devices is a remaining challenge. The network conditions between the mobile device and the same offloading site in the same location are usually close to their average. In a real-world environment, although the performance improvement may be marginally different.

• Regarding the energy consumption readings, not all devices support the Trepn profiler [98]. Alternative software or hardware power consumption measurement tools need to be explored for the modern devices.

AHP is easy to use, scalable, and the hierarchy structure can easily adjust to fit many sized problems. TOPSIS has a simple process, easy to use and program, and scalable in how the number of steps remains the same regardless of the number of alternatives (offloading sites).

The evaluation showed a simple and flexible method for generating the rankings of the nodes. It also demonstrated how DMs can analyze the elasticity of the final decision by applying the sensitivity weights to them. It is also possible to

measure the consistency of a decision maker’s judgements and refine their pairwise comparisons to reach a consistency below the threshold. However, as any other decision-making mechanisms, MCDM has its own limitations:

• Subjectivity is one of the major concerns of MCDM approaches. To reduce subjectivity in decision making one can use hybrid approaches comprising the method this work uses by introducing fuzzy range values as shown by the work in [165].

• Generality: nearby mobile devices are generally considered more secure than remote devices for processing and storing data [95]. However, there might be situations where nearby mobile devices cannot be trusted or a fake edge node are installed in the local network.

• Regarding the group decision making, a consensus needs to be reached between all the DMs to generate an aggregated decision matrix for evaluating and ranking the nodes. An application developer might not understand this and assign unrealistic pairwise comparison values that violate the judgements of other decision makers and disrupt the evaluation process.

The application refactoring evaluation demonstrated that the proposed utility can successfully parse and decompile APKs, annotate the offloadable classes and generate a signed copy of the APK file. It was also observed from the results that the elapsed time of the process was non-deterministic. Even though the tool was shown to generate results for the benchmarking apps, there are a number of limitations explained below:

• This utility requires a sizable amount of memory in order to perform classi- fication when operating in package mode. All the benchmarked applications are of small size APKs (less than 10 MB in size). For the bigger applications, multiple errors occurred which disrupted the decompilation process. For instance, all the top 10 applications on the Play Store were not capable of being used in the tool because of their large sizes.

• The Dex2Jar utility is considered being able to decompile the obfuscated applications which are encrypted by the developers before releasing them to the Play Store. In the evaluation, most of the classes were produced correctly but not all of them are investigated due to some high number of offloadable classes in some application refactoring results.

6.8 Summary 161

• Not all Android market applications are written in native Java. There are many modern applications written in Kotlin, hybrid applications written in Javascript with user interfaces built with HTML/CSS and games written in Android native structure using C++ or Unity engine. This cannot be easily discovered before starting the decompilation process and scanning the source files.

6.8 Summary

In this chapter, the proposed MAMoC framework is evaluated in real-world environments. Four sets of experiments are conducted to showcase the research hypotheses of this thesis. The offloading decision algorithm evaluation used three different tasks for the completion time and energy consumption and compared the results of full single-site offloading and our proposed multisite offloading as well as comparing it with an offloading framework in the literature. The task partitioning evaluation demonstrated running a data-intensive task in different offloading scenarios and the benefits of multisite offloading for the distributed subtasks. The MCDM evaluation expanded on the multi-criteria solver component by testing the group decision making concept. Finally, the application refactor evaluation presented the benchmarked applications and results of the decompilation process. The evaluation outcomes are then discussed with identifying the shortcomings and limitation in conducting them.

Chapter 7

Conclusion and Future Work

7.1 Summary of Thesis

Above all, as a solution to the problem of the limited battery capacity of the mobile device, computation offloading in mobile devices can be used to improve performances and save the energy of mobile devices. In order to fully utilise the computing and battery capacity of the idle or light load devices, an end- to-end mobile computation offloading framework has been proposed to enhance the performance and minimise the energy consumption in mobile devices while guaranteeing the performance requirements of the offloaded tasks.

• Chapter 1 presented the challenges facing the lower end mobile devices and motivations for conducting this study. It also listed the research hypotheses that this work is investigating and the objectives of solving the relevant research problems.

• Chapter 2 provided an overview of the most common mobile cloud archi- tectures, including MCC, MEC, and MFC. It also described the research interest in MCO and the two central aspects of it that derive the body of this work.

• Chapter 3 surveyed the existing work in the multisite MCO works and derived a taxonomy reflecting different aspects of the research in this area and listed current trends and future directions.

• Chapter 4 modelled the tasks of a mobile application in the Host Mobile Device and the heterogeneous computing nodes that act as offloading sites in this work. The offloading cost in terms of execution and energy were analysed. It then presented the offloading policy for partitioning parallalizable tasks

using the offloading scores of the sites. It then presented the multi-criteria solving algorithms based on AHP and fuzzy TOPSIS methods for evaluating the different offloading criteria and ranking the multiple available offloading sites.

• Chapter 5 presented the design and implementation of the framework which incorporated all the research presented in the previous chapter. The frame- work consisted of two main systems: MAMoC Client and MAMoC Server with each containing different loosely coupled services that communicated with each other.

Section 5.6, Section 5.7 presented the implementation details of both MAMoC Client and MAMoC Server components accordingly. In MAMoC client, the service discovery discussed both communications with the nearby mobile de- vices in the form of D2D and other offloading sites with MAMoC router. The process of code decompilation and context profiling were also presented for preparing the offloading decision making. Finally, the deployment controller discussed the different deployment scenarios for both local and remote exe- cutions. In MAMoC server, the implementation details of the three modules running on separate containers including MAMoC router, server manager, and MAMoC repository were explained with diagrams and code listings. • Chapter 6 presented a detailed evaluation of the research presented in this

thesis. Four sets of experiments were conducted in this chapter. The first evaluated the performance of the task partitioning algorithm based on offloading scores of the nodes. The second evaluated the performance of the offloading decision algorithm based on the checkpoint variables and MCDM. The third added the GDM method to the experiment and presented the results of the aggregated decision makers. Finally, the fourth experiment evaluated the application refactoring component performance in parsing and decompiling unmodified APKs. The chapter also included a discussion of the results and a set of limitations of the evaluations.