Application Offloading Schemas for Cloud Robotics
thesisposted on 18.04.2021, 02:02 authored by Manoj R PenmetchaManoj R Penmetcha
For the first algorithm, we evaluate the architecture performance with respect to a full offloading schema that offloads the whole computation onto the cloud service provider. For the full offloading schema, we deploy the application completely on the cloud without considering the local capabilities of the robot. We validated this schema with machine learning and navigation applications. We evaluated the performance of the architecture both with complete offloading and with no offloading in terms of CPU usage, latency, and security.
The key to effectively offloading tasks is an application solution that does not underutilize the robot’s own computational capabilities and makes decisions based on crucial cost parameters such as latency and CPU availability. Hence for the second algorithm, we formulate the application offloading problem as a Markovian decision process and propose a deep reinforcement learning-based deep Q-network (DQN) approach. The state-space is formulated with the assumption that input data size directly impacts application execution time. The proposed algorithm is designed as a continuous task problem with discrete action space; i.e., we apply a choice of action at each time step and use the corresponding outcome to train the DQN to acquire the maximum rewards possible. To validate the proposed algorithm, we designed and implemented a robot navigation testbed. The results demonstrated that for the given state-space values, the proposed algorithm learned to take appropriate actions to reduce application latency and also learned a policy that takes actions based on input data size. Finally, we compared the proposed DQN algorithm with a long short-term memory (LSTM) algorithm in terms of accuracy. When trained and validated on the same dataset, the proposed DQN algorithm obtained at least 9 percentage points greater accuracy than the LSTM algorithm.
Another key factor to enabling robot use of cloud computing is designing an efficient offloading algorithm that forms a quick consensus on when to offload without any prior knowledge or information about the application. The third algorithm is designed to be trained quickly after the application has been initiated. We propose a predictive algorithm to anticipate the time needed to execute an application for a given application data input size with the help of a small number of previous observations. To validate the algorithm, we train it on the previous N observations, which include independent (input data size) and dependent (execution time) variables. To understand how algorithm performance varies in terms of prediction accuracy and error, we tested various N values using linear regression and a mobile robot path planning application. From our experiments and analysis, we determined the algorithm to have acceptable error and prediction accuracy when N>40.