  An increasing number of mobile applications rely on Machine Learning (ML)
routines for analyzing data. Executing such tasks at the user devices saves the
energy spent on transmitting and processing large data volumes at distant
cloud-deployed servers. However, due to memory and computing limitations, the
devices often cannot support the required resource-intensive routines and fail
to accurately execute the tasks. In this work, we address the problem of
edge-assisted analytics in resource-constrained systems by proposing and
evaluating a rigorous selective offloading framework. The devices execute their
tasks locally and outsource them to cloudlet servers only when they predict a
significant performance improvement. We consider the practical scenario where
the offloading gain and resource costs are time-varying; and propose an online
optimization algorithm that maximizes the service performance without requiring
to know this information. Our approach relies on an approximate dual
subgradient method combined with a primal-averaging scheme, and works under
minimal assumptions about the system stochasticity. We fully implement the
proposed algorithm in a wireless testbed and evaluate its performance using a
state-of-the-art image recognition application, finding significant performance
gains and cost savings.
