Programming abstractions for preemptive scheduling in FPGAs using partial reconfiguration
Gabriel Rodriguez-Canal, Nick Brown, Yuri Torres, Arturo, Gonzalez-Escribano

TL;DR
This paper introduces a programming abstraction for FPGAs that enables preemptive multitasking and dynamic resource management, significantly improving efficiency and responsiveness in FPGA-based HPC systems.
Contribution
It presents a novel abstraction leveraging high-level synthesis and partial reconfiguration for preemptive scheduling on FPGAs, simplifying programming and enhancing resource utilization.
Findings
Overhead of 1.66% with one reconfigurable region
Overhead of 4.04% with two reconfigurable regions
Significant performance gains over non-preemptive approaches
Abstract
FPGAs are an attractive type of accelerator for all-purpose HPC computing systems due to the possibility of deploying tailored hardware on demand. However, the common tools for programming and operating FPGAs are still complex to use, specially in scenarios where diverse types of tasks should be dynamically executed. In this work we present a programming abstraction with a simple interface that internally leverages High-Level Synthesis, Dynamic Partial Reconfiguration and synchronisation mechanisms to use an FPGA as a multi-tasking server with preemptive scheduling and priority queues. This leads to a better use of the FPGA resources, allowing the execution of several kernels at the same time and deploying the most urgent ones as fast as possible. The results of our experimental study show that our approach incurs only a 1.66% overhead when using only one Reconfigurable Region (RR), and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
