  A large number of emerging IoT applications rely on machine learning routines
for analyzing data. Executing such tasks at the user devices improves response
time and economizes network resources. However, due to power and computing
limitations, the devices often cannot support such resource-intensive routines
and fail to accurately execute the analytics. In this work, we propose to
improve the performance of analytics by leveraging edge infrastructure. We
devise an algorithm that enables the IoT devices to execute their routines
locally; and then outsource them to cloudlet servers, only if they predict they
will gain a significant performance improvement. It uses an approximate dual
subgradient method, making minimal assumptions about the statistical properties
of the system's parameters. Our analysis demonstrates that our proposed
algorithm can intelligently leverage the cloudlet, adapting to the service
requirements.
