Task-based preemptive scheduling on FPGAs leveraging partial reconfiguration

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

Research output: Contribution to journalArticlepeer-review

Abstract

Field-programmable gate arrays (FPGAs) are an attractive type of accelerator for all purpose high performance computing 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, especially 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 synchronization mechanisms to use an FPGA as a multi-tasking server with preemptive scheduling and priority queues. This leads to an improved use of the FPGA resources, allowing the execution of several different kernels concurrently and deploying the most urgent ones as fast as possible. The results of our experimental study show that our approach incurs only a 10 (plus minus) 5% overhead in the worst case when using two reconfigurable regions, whilst providing a significant performance improvement of at least 24 (plus minus) 21% over the traditional full reconfiguration approach.
Original languageEnglish
Article numbere7867
JournalConcurrency and Computation: Practice and Experience
Volume35
Issue number25
DOIs
Publication statusPublished - 18 Oct 2023

Keywords / Materials (for Non-textual outputs)

  • FPGA
  • heterogeneous systems
  • partial reconfiguration
  • preemptive scheduling

Fingerprint

Dive into the research topics of 'Task-based preemptive scheduling on FPGAs leveraging partial reconfiguration'. Together they form a unique fingerprint.

Cite this