Do OS abstractions make sense on FPGAs?
Dario Korolija, Timothy Roscoe, Gustavo Alonso
Abstract
Hybrid computing systems, consisting of a CPU server coupled with a Field-Programmable Gate Array (FPGA) for application acceleration, are today a common facility in datacenters and clouds. FPGAs can deliver tremendous improvements in performance and energy efficiency for a range or workloads, but development and deployment of FPGA-based applications remains cumbersome, leading to recent work which replicates subsets of the traditional OS execution environment (virtual memory, processes, etc.) on the FPGA.
In this paper we ask a different question: to what extent do traditional OS abstractions make sense in the context of an FPGA as part of a hybrid system, particularly when taken as a complete package, as they would be in an OS? To answer this, we built and evaluated Coyote, an open source, portable, configurable "shell" for FPGAs which provides a full suite of OS abstractions, working with the host OS. Coyote supports secure spatial and temporal multiplexing of the FPGA between tenants, virtual memory, communication, and memory management inside a uniform execution environment. The overhead of Coyote is small and the performance benefit is significant, but more importantly it allows us to reflect on whether importing OS abstractions wholesale to FPGAs is the best way forward.
Local FPGA DRAM Channel 0 Local FPGA DRAM Channel 0
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 3e489534-0d56-455a-816a-33b6832a26d4Cited by top-tier papers25
- Serverless computing on heterogeneous computersDong Du, Qingyuan Liu, Xueqiang Jiang, Yubin Xia et al.ASPLOS 2022 · 68 citations
- FpgaNIC: An FPGA-based Versatile 100Gb SmartNIC for GPUsZeke Wang, Hongjing Huang, Jie Zhang, Fei Wu et al.USENIX ATC 2022 · 58 citations
- ShEF: shielded enclaves for cloud FPGAsMark Zhao, Mingyu Gao, Christos KozyrakisASPLOS 2022 · 53 citations
- Enzian: an open, general, CPU/FPGA platform for systems software researchDavid A. Cock, Abishek Ramdas, Daniel Schwyn, Michael Giardino et al.ASPLOS 2022 · 42 citations
- Compiler-driven FPGA virtualization with SYNERGYJoshua Landgraf, Tiffany Yang, Will Lin, Christopher J. Rossbach et al.ASPLOS 2021 · 22 citations
Builds on3
- Virtualizing FPGAs in the CloudYue Zha, Jing LiASPLOS 2020 · 92 citations
- StRoM: smart remote memoryDavid Sidler, Zeke Wang, Monica Chiosa, Amit Kulkarni et al.EuroSys 2020 · 83 citations
- A Hypervisor for Shared-Memory FPGA PlatformsJiacheng Ma, Gefei Zuo, Kevin Loughlin, Xiaohe Cheng et al.ASPLOS 2020 · 64 citations
Related papers
- 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
- vFPIO: A Virtual I/O Abstraction for FPGA-accelerated I/O DevicesJiyang Chen, Harshavardhan Unnibhavi, Atsushi Koshiba, Pramod BhatotiaUSENIX ATC 2024 · 4 citations
- Duet: Creating Harmony between Processors and Embedded FPGAsAng Li, August Ning, David WentzlaffHPCA 2023 · 7 citations
- Reconfigurable Virtual Memory for FPGA-Driven I/OJoshua Landgraf, Matthew Giordano, Esther Yoon, Christopher J. RossbachASPLOS 2023 · 11 citations
