6.3 Task Partitioning Evaluation
6.3.2 Offloading Scenarios
MAMoC enhances the offloading process by considering the parallel execution of the application’s independent tasks in the local device and offloading sites. In all the scenarios, the Nexus 7 device is the Self Node and the rest of the nodes are service providers (offloading sites) with the Pixel being the Mobile Node, the edge server acting as Edge Node and the public cloud instances as PNs. The offloading scenarios are described in the following subsections.
6.3.2.1 Full offloading
In full offloading mode, the execution is performed at the offloading site and the final result is returned to Host Mobile Device. Conversely, the partial offloading mode only sends a part of the execution over to the site and performs the rest of the execution itself as can be observed in the other two scenarios. After the results are received, they are merged and stored in the mobile device.
6.3 Task Partitioning Evaluation 141
Fig. 6.6 Full offloading: the whole computation and payload are offloaded to the offloading site
MAMoC is specifically designed to support partial offloading in a parallel multisite fashion. Nonetheless, we wanted to observe the completion times of full offloading executions and compare them to the decision engine results. The full offloading scenario is performed on each offloading site separately using the three text files. Figure 6.6 shows the total completion time of running the application with different text file sizes. As it can be observed later, most of the completion time is the communication overhead that occurs during the transmission of the necessary data (the text file content) from the mobile device to the offloading sites.
6.3.2.2 Partial offloading
The first set of partial offloading experiments are performed with no help from the MAMoC decision engine. The tasks are equally distributed among the connected nodes. In other words, if there is only one available offloading site, the workload is divided into two equivalent halves and distributed to them for local and remote executions. Both devices then execute the workload in a parallel fashion. The local result and the result returned from the site are then merged and stored locally. The results of running the same set of workloads as the previous experiment are displayed in Figure 6.7.
Fig. 6.7 Partial Offloading (equal task distribution) - Local mobile device executes 50% of the task while the remaining 50% is offloaded
6.3.2.3 Partial offloading with the decision engine support
The decision engine uses the offloading scores calculated in the models presented earlier to calculate the percentage of the task that should be offloaded to any particular offloading site. The offloading scores of the local device and the offloading sites are investigated by the decision engine for the task partitioning process. In the case of offloading score being less than zero, no computation is offloaded to that offloading site. The standardized and the process of calculating offloading scores are demonstrated in Table 6.3.
6.3 Task Partitioning Evaluation 143 Mobile Cloudlet Cloud Local AVG STD
B 2.448 3.245 3.657 1.543 2.723 0.933 St. B -0.295 0.559 1.001 -1.265 CP 8.600 9.600 19.200 2.600 10.000 6.868 St. CP -0.204 -0.058 1.339 -1.077 RTT-small 0.605 0.703 0.949 - 0.752 0.177 St. RTT-small -0.831 -0.278 1.110 - RTT-medium 2.860 3.040 5.490 - 2.848 2.246 St. RTT-medium 0.006 0.086 1.177 - RTT-large 4.730 5.460 11.240 - 5.358 4.608 St. RTT-large -0.136 0.022 1.276 - OS-small 0.333 0.779 1.230 -2.342 OS-medium -0.504 0.415 1.163 -2.342 OS-large -0.363 0.479 1.064 -2.342 OffPerc-small 14.19% 33.26% 52.53% 0% OffPerc-medium 0% 26.29% 73.71% 0% OffPerc-large 0% 31.03% 68.96% 0%
Table 6.3 Calculating offloading scores of the nodes for the task partitioning evaluation
The task partitioning percentage and completion times of partitioned tasks for multi-site offloading scenario are displayed in Figure 6.8a and Figure 6.8b accordingly. It is worth noting that only the large instance type of the public cloud node is used along with a cloudlet and a nearby mobile device as offloading sites in the multisite offloading scenario.
6.3.3 Results and Analysis
It is already shown in the literature that offloading does not always benefit the lower-end devices [77]. In the first execution scenario, the whole text file has to be transferred to the offloading destination to perform the search operation in the corresponding computation device. In the results shown in our work in [136] as shown in Figure 6.10, despite few millisecond performance gains in the case of the small text file, local execution was preferred to full offloading for medium and large text files. However, in this new testbed, full offloading is preferred in all the scenarios with offloading to the nearby mobile device being the best for small and large text files while the cloudlet performs the best for the medium text file.
In the results of [136], the partial offloading with equal partitioning of tasks among the local and external devices perform better in terms of reducing the overall network overhead occurrence in the previous execution scenario. However, because of the high local execution time of the host device in this testbed, the equal partitioning approach only increases the total completion time in all the scenarios. We also presented single-site partial offloading (where the task is meant to be executed locally and a single offloading site) that produced better results than equal task distribution scenario in all the offloading modes. In this evaluation, that was not performed since the offloading score of the host device was below zero so the results would be the same as full offloading to that particular offloading site.
(a) Multisite partial offloading - Task parti-
tion percentage (b) Multisite partial offloading - Total com-pletion time Fig. 6.8 Multisite partial offloading evaluation results
Finally, for the partial offloading with MAMoC decision engine support, it can be observed that no partitions are allocated to the host device due to its offloading score being below zero. For the small text file, the nearby mobile device, cloudlet, and the cloud nodes have distributively executed the task. The total completion time is not as good as some full offloading completion times but still performs better than the equal partitioning scenario. For the medium text file, the task is only partitioned to the cloudlet and cloud nodes, which similarly does not produce a lower completion time than the full offloading scenarios. However, for the large text file, the multisite approach performs better than all the full offloading scenarios including the minimum completion time on the nearby mobile device (6.616 vs 7.471).
6.3 Task Partitioning Evaluation 145
Fig. 6.9 The task partitioning evaluation results
For an overall reference of the results including the computation and commu- nication breakdowns of the remote executions, a complete set of results of all the experiments are shown in Figure 6.9. It should be noted that this evaluation set is also demonstrated in our published paper [136] and presented in Figure 6.10. The difference between them is in the mobile platform choice. While the framework in the paper was implemented for iOS mobile devices9. Similar environments and the
same offloading scenarios are performed again on the new MAMoC implementation for the Android platform. Because of the changes in the devices in the testbed, different results are generated with the results shown in the paper.
(a) Full offloading (b) Partial offloading with decision engine
(c) Multisite offloading completion times (d) Multisite task allocation percentage
(e) The task partitioning evaluation results Fig. 6.10 The reported results from [136]