چكيده به لاتين
Offloading computation from smart-phones to nearby resource-rich PCs (known as surrogates) has been recently re-discovered as a technique to address the limited processing power and battery life- time of the mobile phones, enabling the opportunity to provide computation-intensive applications to the user without high costs.
Intensive computation applications implementing video games or optical character recognition can be enhanced by offloading the heavy computational application parts to resourceful servers and receiving the results from these servers while reducing energy consumption and execution times at the smart-phone.
In this thesis, the different characteristics of the offloading systems will be studied, as well as the most relevant actual implemented offloading systems. As a result of the acquired knowledge, an offloading system will be implemented and presented: the offloading engine.
The offloading engine has a task execution time saving approach, offloads at the fine-grained granularity, and performs dynamic decisions that take into account the network conditions, the amount of data that needs to be transferred to the surrogate for the task’s execution, and the task’s input parameters. The consideration of the input parameters of the task is a feature that is relevant because, since different input parameters of a same task lead to different number of instructions to execute, the local or remote execution will be preferable.
The offloading engine is tested using 3G and Wi-Fi connections, linear costs methods, and a chess game. It is concluded that the offloading system can save significant amounts of time, saving up to 72 seconds in a mid-range Android smart-phone when determining the 20 next moves of the chess game.