Funky: Cloud-Native FPGA Virtualization and Orchestration

Atsushi Koshiba, Charalampos Mainas, Pramod Bhatotia

SoCC

2025

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}
}