Programming abstractions for preemptive scheduling in FPGAs using partial reconfiguration

Gabriel Rodríguez Canal, Nick Brown, Yuri Torres, Arturo Gonzalez-Escribano

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

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 4.04% when using two RRs, whilst presenting a significant performance improvement over the traditional non-preemptive full reconfiguration approach.
Original languageEnglish
Title of host publicationLNCS Euro-Par HeteroPar workshop proceedings
PublisherSpringer Nature
Publication statusAccepted/In press - 30 Jun 2022
EventTwentieth International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms - Glasgow, United Kingdom
Duration: 23 Aug 202223 Aug 2022
https://heteropar2022.inesc-id.pt/

Conference

ConferenceTwentieth International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms
Abbreviated titleHeteroPar
Country/TerritoryUnited Kingdom
CityGlasgow
Period23/08/2223/08/22
Internet address

Fingerprint

Dive into the research topics of 'Programming abstractions for preemptive scheduling in FPGAs using partial reconfiguration'. Together they form a unique fingerprint.

Cite this