Offloading computation with a minimized OpenCL runtime from a nano drone
Uitto, Jyry (2022)
Uitto, Jyry
2022
Master's Programme in Computing Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-11-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202210257842
https://urn.fi/URN:NBN:fi:tuni-202210257842
Tiivistelmä
The amount of resource-restricted devices is increasing rapidly with the common adoption of mobile phones and other small microcontrollers residing on battery-powered platforms. This number is only going to increase in the future with more devices being created and connected to the internet of things. Devices with limited resources cause energy efficiency to become a key limiting factor for their computational capabilities. This creates the incentive to save resources on computation that has to be done for applications running on resource-restricted devices. In this thesis, computation offloading is researched as a solution for preserving resources on a resource-restricted device by computing resource-intensive computation on a remote server. Being able to offload computation can aid the resource-restricted platform by saving resources locally and it can also enable more complex computation tasks to be run with the remote server hardware. Furthermore, offloading computation can enable running more complex algorithms in real-time that the resource-restricted would not be capable of. The key challenges in offloading computation over a wireless network are the transmission cost of the data to and from the edge server and the latency that is caused by offloading.
This thesis provides a proof of concept for wireless computation offloading on a nano drone with a minimized OpenCL runtime. The proof of concept attempts to improve the energy available for other functions on the drone and to enable more complex computation by offloading computation onto heterogeneous servers. In this thesis, the Portable Computing Language implementation of OpenCL with Remote extension capable of offloading computation was ported onto the AI-deck extension of the Crazyflie 2.1 nano drone. Then the platform was used to offload computing onto an edge server capable of running OpenCL kernels. This solution was then benchmarked to search for the minimum memory requirements to enable the platform. Furthermore, the proof of concept implementation for offloading computation through OpenCL API provides a latency overhead caused by offloading computation.
This thesis provides a proof of concept for wireless computation offloading on a nano drone with a minimized OpenCL runtime. The proof of concept attempts to improve the energy available for other functions on the drone and to enable more complex computation by offloading computation onto heterogeneous servers. In this thesis, the Portable Computing Language implementation of OpenCL with Remote extension capable of offloading computation was ported onto the AI-deck extension of the Crazyflie 2.1 nano drone. Then the platform was used to offload computing onto an edge server capable of running OpenCL kernels. This solution was then benchmarked to search for the minimum memory requirements to enable the platform. Furthermore, the proof of concept implementation for offloading computation through OpenCL API provides a latency overhead caused by offloading computation.