Flexible Updating of Internet of Things Computing Functions through Optimizing Dynamic Partial Reconfiguration

George Kornaros,Svoronos Leivadaros,Filippos Kolimbianakis
DOI: https://doi.org/10.1145/3643825
2024-03-19
ACM Transactions on Embedded Computing Systems
Abstract:With applications to become increasingly compute- and data-intensive requiring more processing power, many internet-of-things (IoT) platforms in robots, drones, and autonomous vehicles which implement neural network inference, cryptographic functions or signal processing (e.g., multimedia, communication), employ field programmable gate arrays (FPGAs). At the same time, dynamic partial reconfiguration (DPR) in modern FPGAs enable changing the function of a part of the FPGA by dynamically loading new bitstreams to the logic regions without affecting the function of other parts of the FPGA. This is especially useful, to update functions of IoT devices while in operation, for bug fixing or functionality adjustments, and more importantly when these IoT devices integrate low-cost FPGAs that can hardly realize many hard accelerators. To deal with one of the major limitations of using partial reconfiguration in IoT devices, this work introduces techniques to flexibly use DPR, namely FLEXDPR, by sharing reconfigurable partitions among different accelerator functions and by supporting virtual relocation of these functions. Experimental results on the Xilinx ZYNQ-7000 platform reveal energy and latency efficiency improvements of, on average, about 20%. Overall, the suggested approach can reduce partial reconfiguration overhead while easing the scheduler’s decisions for the deployment of hardware functions throughout time and space in a performance-conscious manner.
computer science, software engineering, hardware & architecture
What problem does this paper attempt to address?
The paper aims to address the issue of updating computational functions in Internet of Things (IoT) devices during operation, particularly in the context of using low-cost Field Programmable Gate Arrays (FPGAs). Specifically, the paper proposes a method called FLEXDPR, which optimizes Dynamic Partial Reconfiguration (DPR) technology to flexibly update computational functions in IoT devices. The main objectives include: 1. **Resource Sharing**: By sharing reconfigurable partitions to support different accelerator functions and allowing these functions to have different interfaces. This improves resource utilization, enabling multiple applications to run on the same hardware resources. 2. **Virtual Relocation**: A spatial and temporal scheduling scheme is proposed to enable hardware functions to virtually relocate between multiple reconfigurable regions, thereby minimizing or hiding the overhead caused by partial reconfiguration. 3. **Energy and Performance Optimization**: The paper discusses whether it is reasonable to reconfigure blank bitstreams during long periods of inactivity, as the reconfiguration process itself introduces energy overhead, which needs to be carefully considered to ensure that the actual benefits outweigh the costs. In summary, the main contribution of the paper lies in overcoming the rigidity caused by interface incompatibility in traditional DPR methods through the FLEXDPR method, thereby improving the flexibility, energy efficiency, and performance of IoT devices when performing computationally intensive tasks.