Scheduling Computing Tasks on Smartphones: Comparative Case Studies of Metaheuristic Algorithms on Real World Applications
摘要
Edge computing is a well known paradigm where sensing devices including smartphones and other IoT devices transmit data to powerful edge devices for processing instead of directly sending to the cloud, primarily to reduce latency. The recent years has seen an exponential growth in smartphones particularly, the processing power, RAM and storage. However, these devices are not being used to their fullest capability apart from games which are video intensive and hence demand resources. Most alarming thing is the number of smartphones that are being unused, due to hardware upgrades and new models in the market. This means an alternate source of computing power is underutilized. A few works have utilized smartphones for matrix computation tasks, but practical use of smartphone computation power is not studied yet.In this paper, we propose a distributed system of smartphones following a master–slave architecture. The master node employs optimization based scheduling algorithms to assign tasks to slaves (phones) that form clusters to create a local edge computing platform. We formulate the task assignment and scheduling problem based on constraints including CPU power, RAM, and battery capaacity. We implement and study the performance of particle swarm optimization (PSO) and mixed integer linear programming (MILP) algorithms on two compute intensive applications—video processing/rendering and indoor location estimation. The results of the implementation and optimization analysis motivate the design of an architecture that can leverage the computing power of smartphone CPU cores.