Programming abstractions for preemptive scheduling in FPGAs using partial reconfiguration

08/26/2022
by   Gabriel Rodriguez-Canal, et al.
0

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 when using two RRs, whilst presenting a significant performance improvement over the traditional non-preemptive full reconfiguration approach.

READ FULL TEXT
research
01/18/2023

Task-based preemptive scheduling on FPGAs leveraging partial reconfiguration

FPGAs are an attractive type of accelerator for all-purpose HPC computin...
research
02/25/2022

On The Design of a Light-weight FPGA Programming Framework for Graph Applications

FPGA accelerators designed for graph processing are gaining popularity. ...
research
01/26/2020

FOS: A Modular FPGA Operating System for Dynamic Workloads

With FPGAs now being deployed in the cloud and at the edge, there is a n...
research
08/25/2023

Fortran High-Level Synthesis: Reducing the barriers to accelerating HPC codes on FPGAs

In recent years the use of FPGAs to accelerate scientific applications h...
research
04/10/2021

Application specific dataflow machine construction for programming FPGAs via Lucent

Field Programmable Gate Arrays (FPGAs) have the potential to accelerate ...
research
08/21/2023

GSA to HDL: Towards principled generation of dynamically scheduled circuits

High-level synthesis (HLS) refers to the automatic translation of a soft...
research
04/03/2021

High-Level Synthesis of Security Properties via Software-Level Abstractions

High-level synthesis (HLS) is a key component for the hardware accelerat...

Please sign up or login with your details

Forgot password? Click here to reset