Nimblock: Scheduling for Fine-grained FPGA Sharing through Virtualization
Meghna Mandava, Paul Reckamp, Deming Chen
Abstract
As FPGAs become ubiquitous compute platforms, existing research has focused on enabling virtualization features to facilitate finegrained FPGA sharing. We employ an overlay architecture which enables arbitrary, independent user logic to share portions of a single FPGA by dividing the FPGA into independently reconfigurable slots. We then explore scheduling possibilities to effectively time- and space-multiplex the virtualized FPGA by introducing Nimblock. The Nimblock scheduling algorithm balances application priorities and performance degradation to improve response time and reduce deadline violations. Unlike other algorithms, Nimblock explores preemption as a scheduling parameter to dynamically change resource allocations, and automatically allocates resources to enable suitable parallelism for an application without additional user input. In our exploration, we evaluate five scheduling algorithms: a baseline, three existing algorithms, and our novel Nimblock algorithm. We demonstrate system feasibility by realizing the complete system on a Xilinx ZCU106 FPGA and evaluating on a set of real-world benchmarks. In our results, we achieve up to 5.7× lower average response times when compared to a no-sharing and no-virtualization scheduling algorithm and up to 2.1× average response time improvement over competitive scheduling algorithms that support sharing within our virtualization environment. We additionally demonstrate up to 49% fewer deadline violations and up to 2.6× lower tail response times when compared to other high-performance algorithms.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 3b998de9-7e3e-4738-9d67-6fb07c32b64fCited by top-tier papers3
- Coyote v2: Raising the Level of Abstraction for Data Center FPGAsBenjamin Ramhorst, Dario Korolija, Maximilian Jakob Heer, Jonas Dann et al.SOSP 2025 · 6 citations
- μShell: A Microkernel-based FPGA Shell ArchitectureJiyang Chen, Anubhav Panda, Harshavardhan Unnibhavi, Atsushi Koshiba et al.OSDI 2026 · 1 citation
- VersaSlot: Efficient Fine-grained FPGA Sharing with Big.Little Slots and Live Migration in FPGA ClusterJianfeng Gu, Hao Wang, Xiaorang Guo, Martin Schulz et al.DAC 2025
Related papers
- Nyx: Virtualizing dataflow execution on shared FPGA platformsPanagiotis Miliadis, Dimitris Theodoropoulos, Nectarios Koziris, Dionisios N. PnevmatikatosISCA 2025
- Virtualizing FPGAs in the CloudYue Zha, Jing LiASPLOS 2020 · 92 citations
- Compiler-driven FPGA virtualization with SYNERGYJoshua Landgraf, Tiffany Yang, Will Lin, Christopher J. Rossbach et al.ASPLOS 2021 · 22 citations
- DVFS-Based Scrubbing Scheduling for Reliability Maximization on Parallel Tasks in SRAM-based FPGAsRui Li, Heng Yu, Weixiong Jiang, Yajun HaDAC 2020 · 9 citations
- Hetero-ViTAL: A Virtualization Stack for Heterogeneous FPGA ClustersYue Zha, Jing LiISCA 2021 · 21 citations
