2.3 Tools and Technologies
3.3.4 Task Scheduling & Allocation
The task scheduling algorithm is the process of allocating the tasks to the respective available resources (to answer the question of “where to offload”). It calculates the optimal resource orchestration strategies according to task requirement, resource availability, and mobile device status from the monitoring and profiling modules. The task graph from the partitioning module and profiling information are inputs into the algorithm and translated into the solution space. Some multisite works in the literature follow an exact algorithm to schedule the tasks to the respective resources while others use a heuristic or a metaheuristic to find near-optimal solutions. The employed algorithms in the multisite works are listed in Table 3.3.
MCDM algorithms are used in two of the primary studies for selecting offloading destinations according to different criteria and user preferences. Ravi et al. [112]
3https://docs.oracle.com/javase/tutorial/reflect/index.html 4https://www.khronos.org/opencl/
Table 3.3 Task scheduling and allocation algorithms used in our primary studies
Work Exact HeuristicGS HC GA AC PSO SA SOMetaheuristic
MOCHA [133] 4 MuSIC [110] 4 ENDA [82] 4 EMSO [99] 4 Xia et al. [157] 4 MMRO [153] 4 Shih et al. [126] 4 Ravi et al. [112] 4 mCloud [164] 4 Cheng et al. [27] 4 EMOP [140] 4 Enzai et al. [41] 4 FHMCO [53] 4 4 Chen et al. [23] 4 Jin et al. [65] 4 MAGA [125] 4 CRMGA [161] 4 4
GS: Greedy Search, HC: Hill Climbing, GA: Genetic Algorithm, AC: Ant Colony, PSO: Particle Swarm Optimization, SA: Simulated Annealing, SO: Stochastic
Optimization
uses MCDM to choose the best possible resource to offload the computation tasks while using a handoff strategy for offloading tasks to different resources. Similarly, mCloud [164] uses multiple criteria of the wireless mediums such as the energy cost of the channel, the link speed, etc. to select the best interface under current context such as data rate, workload size to obtain the best data transfer performance and minimise energy consumption. It is worth noting that mCloud [164] also uses a Min-Min algorithm to select the resource with the minimum response time and energy consumption for offloading the tasks to Nearby Mobile Devices.
The scheduling problem to multiple providers is a typical constrained opti- mization problem. Because of the NP-completeness nature of assigning multiple tasks to multiple offloading sites, most of the studies consider a heuristic or a meta-heuristic for finding a “good enough” solution instead of an optimal one for the scheduling problem. Heuristics allow for solving scheduling problems faster than traditional and more formal closed-form models. Heuristics can normally lead to approximate solutions close to the optimal solution of a problem [110]. For
3.3 Taxonomy 47
searching algorithms, the heuristics rank the different alternatives and greedily perform a fundamental element when defining the convergence of the search. This is in contrast to the exhaustive searching [125] which is guaranteed to generate an optimal solution but could take a very large computation time when the problem size increases i.e., adding more application components and more candidates sites.
Xia et al. [157] use a greedy heuristic to determine whether the task be executed on the Host Mobile Device, or offloaded to the cloudlet or the remote cloud to minimize the residual energy ratio. The algorithm takes a set of wireless access points, a local cloudlet, and a remote cloud as an input. Having the weighted bipartite graph that we described in the previous subsection, it finds the maximum matching in the graph such that the weighted sum of all edges is minimized before offloading the tasks to different computing facilities. The time complexity of the proposed algorithm is O((n + na)3) where n is the maximum
number of mobile users at any time slot, and na is the maximum number of
channels at each access point.
Similarly, Shih et al. [126] use a 2-step greedy algorithm called Cost-Performance First (CPF) scheduling algorithm. The CP ratio is calculated according to the mobility state of a device (connected or disconnected). The average time complex- ity of the scheduling algorithm is O(NlogN) dominated by the second step. The first step for finding the subtask with maximum CP according to the constraints has a linear time complexity and the second step of recursively scheduling the subtasks to the processors has a complexity of O(NlogN).
The greedy search algorithm is also used in ENDA [82] to select the most energy- efficient network for offloading the application based on user track prediction, server loads and the network quality of the WiFi connection between the Host Mobile Device and Cloudlets or the cellular data connection with the Remote Clouds. Additionally, the algorithm also filters out the WiFi APs that cannot maintain connectivity along the predicted route of the user to avoid disconnection.
Enzai et al. [41] use a greedy Hill Climbing heuristic for solving a multi- objective combinatorial optimization problem. The heuristic develops an initial solution for the assignment of the tasks to the sites then greedily selects the optimal solution with the maximum target function value. The quality of the optimization results highly depends on the initial solution.
To tackle the issues of larger mobile application sizes and reduce the search space, many research works propose a metaheuristic, which is a high-level algorithm to select and guide a heuristic to generate near-optimal solutions. Metaheuristics usually adapt randomization and stochastic processes in their evolutionary searches to reduce the search space and generate solutions in a reasonable amount of time.
Cheng et al. [27] use a heuristic based on genetic algorithms. Given the weighted direct application graph, the algorithm decides how to offload each graph node among multiple services to approximate the optimal solution. MAGA [125] uses an improved genetic algorithm based algorithm that predicts the mobility of users for bringing resources closer to them. It enhances the efficiency of genetic algorithm reproduction operations by using integer encoding to envisage multiple mobile application components offloaded to multiple cloudlets scenarios. The offloading failure rate is also reduced with the mobility prediction model, resulting in higher service availability and lower energy consumption. Jin et al [65] uses a memory-based immigrants adaptive genetic algorithm for decision making of multisite computation offloading in dynamic mobile cloud environments, considering environmental changes.
MMRO [153] uses an ant colony based algorithm to calculate the offloading decision from application components to offloading sites according to a number of benefits (execution time and energy consumption) and risks (privacy and trust). The authors employ a fuzzy inference to aggregate the overall offloading benefits and compromises based on the importance levels provided by user preferences.
Rahimi et al. [110] proposes a simulated annealing based heuristic called MuSIC (Mobility-Aware Service AllocatIon on Cloud) by extending their preceding work MAPCloud [109] to support user mobility. They incorporate the capabilities of nearby local and remote cloud servers for offloading requests. The service with minimum performance based on cost, power and delay is selected as the optimal solution.
A multisite algorithm based on particle swarm optimization is proposed in FHMCO [53] which evaluates the near-optimal partitioning solution for large- scale applications. Before that, they present an optimal partitioning solution for smaller-scale applications based on an optimized Branch-and-Bound algorithm. The application cost is the sum of the cost of each application unit represented by the weighted object relation graph. While the energy cost is computed from the time cost of the energy consumption rate for the CPU and the network interface of the mobile device.
Finally, EMOP [140] uses a stochastic optimization approach by modelling the mobile wireless channels as Discrete Time Markov Chain (DTMC) and solving them with Value Iteration Algorithm (VIA) to determine the optimal offloading decision for energy-efficient multisite application execution. The algorithm finds the efficient offloading decision with a computational complexity of O(SA), where
3.3 Taxonomy 49