As the smart mobile devices are becoming an inevitable part of our daily life, the demand for running complex applications on such devices is increasing. However, the limitations of resources (e.g. battery life, computation power, bandwidth) of these devices are restricting the type of applications that can run on them. The restrictions can be overcome by allowing such devices to offload computation and run parts of an application in the powerful cloud servers. The greatest benefit from computation offloading can be obtained by optimally allocating the parts of an application to different devices (i.e. the mobile device and the cloud servers) that minimizes the total cost--the cost can be the response time of the application or the mobile battery usage, or both. Normally, different devices can have different number of processing cores. Unlike prior work in the modeling of computation offloading, this work models the effect of parallel execution of different parts of an application--on different devices (external parallelism) as well as on different cores of a single device (internal parallelism)--on offloading allocation. This work considers each device as a multi-server queueing station. It proposes a novel algorithm to evaluate the response time and energy consumption of an allocation while considering both the application workflow as well as the parallel execution across the cores of different devices. For finding the near-optimal altocation(s), it uses an existing genetic algorithm that invokes our proposed algorithm to determine the fitness of an allocation. This work is more advantageous for cases where a workflow has multiple tasks that can execute in parallel. The results show that modeling the effect of parallel execution yields better near-optimal solution(s) for the allocation problem compared to not modeling parallel execution at all.
展开▼