FPGA-Augmented Intelligent Devices for the Internet of Things
The Internet of Things (IoT) is constantly expanding with more complex applications being developed. This depends on increased artificial intelligence (AI) both to compute the application logic and manage the vast numbers of devices. To avoid being dependent on a constant connection to the cloud, groups of local devices can be augmented with additional computational abilities through hardware acceleration using e.g. field programmable gate arrays (FPGAs). Allowing these devices to cooperate by offloading tasks to each other should create highly adaptive and efficient deployments.
This work introduces the Elastic Node, an FPGA-augmented smart IoT device focussed on increasing local AI on the device. It offers a hardware platform to assist experimentation with local hardware acceleration in IoT deployments, as well as a runtime in the form of a middleware that facilitates software development through a stub-skeleton abstraction. This provides an easy-to-use runtime that functions without a local OS, offering convenient embedded hardware acceleration on a platform that operates under 200 mW and can switch between arbitrary accelerators within 100 ms.
Due to the limited configurable resources available on embedded FPGAs, design optimisations are required to allow more sophisticated AI to be deployed. Complex machine learning algorithms such as convolutional neural networks (CNNs) and incremental principle component analysis (IPCA) can be computed directly on the embedded IoT device.
The presented novel IPCA hardware accelerator design reduces DSP slice resource usage by 84% when compared to conventional CORDIC-based implementations. Since manually optimising dynamic and adaptive systems like these is not feasible, a reinforcement learning approach is used to create a local device agent. It optimises the device behaviour by addressing the augmented offloading problem that considers local hardware acceleration and peer-to-peer offloading. Using Q-learning and shallow neural networks, various agents are developed that perform up to 150% more jobs than an agent acting randomly.