Work

Nimblock: scheduling for fine-grained FPGA sharing through virtualization

Year: 2022
Type: dissertation
Abstract: As FPGAs become ubiquitous compute platforms, existing research has focused on enabling virtualization features to facilitate fine-grained 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-multiplex 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.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 9× lower median response times when compared to the baseline scheduling algorithms.We additionally demonstrate up to 21% fewer deadline violations and up to 2.1× lower tail response times when compared to other high-performance algorithms.
Language: English
Open Access status: green
OpenAlex ID: W7220785197
Cites: 11
Cited by:
Related to: 10