As mobile devices, such as smartphones, take on a larger role in our lives, they need to handle more complicated tasks and computations. Due to limited computational, storage and energy resources, ...