Funky: Cloud-Native FPGA Virtualization and Orchestration
Abstract
FPGA adoption in cloud-native environments is hindered by FPGA limitations and the CPU-oriented design of orchestrators, which lack virtualization, isolation, and preemption for FPGAs, leaving providers without FPGA orchestration services. Funky is a full-stack FPGA-aware orchestration engine that provides high performance, utilization, scalability, and fault tolerance via three contributions: FPGA virtualization for lightweight sandboxes, FPGA state management for task preemption and checkpointing, and FPGA-aware orchestration components following CRI/OCI standards. Evaluated on four x86 servers with Alveo U50 cards, Funky ports 23 OpenCL applications with 3.4% source changes, keeps OCI images 28.7x smaller than AMD's FPGA Docker containers, and adds only 7.4% overhead versus native execution while providing hypervisor-enforced isolation; large-scale tests on Google production traces confirm its scalability and fault tolerance.
Resources
BibTeX
@inproceedings{koshiba2025funky,
title={Funky: Cloud-Native FPGA Virtualization and Orchestration},
author={Atsushi Koshiba and Charalampos Mainas and Pramod Bhatotia},
booktitle={SoCC},
year={2025},
pages={209-224},
doi={10.1145/3772052.3772226}
}