Proteus: Heterogeneous FPGA Virtualization
Abstract
Cloud providers widely deploy FPGAs, but recent FPGA products are increasingly heterogeneous in vendor, capacity, off-chip memory, and performance, which makes applications incompatible across devices and causes performance disparities and resource inefficiency. Proteus is a heterogeneous FPGA virtualization framework that lets applications manage diverse FPGAs transparently through four contributions: an FPGA virtualization stack, a platform-agnostic management API, memory virtualization tuned to off-chip memory type, and a performance-aware scheduler that places applications on the best-suited FPGA. Implemented across AMD (U50, U280) and Intel (Stratix 10) devices, Proteus makes applications deployable on any FPGA with 4.9-6.8% overhead on AMD parts and delivers a 13.8% average throughput gain from its scheduler.
Resources
BibTeX
@inproceedings{gust2026proteus,
title={Proteus: Heterogeneous FPGA Virtualization},
author={Felix Gust and Shu Anzai and Charalampos Mainas and Atsushi Koshiba and Pramod Bhatotia},
booktitle={EuroSys},
year={2026},
pages={328-349},
doi={10.1145/3767295.3803577}
}