μShell: A Microkernel-based FPGA Shell Architecture
Jiyang Chen, Anubhav Panda, Harshavardhan Unnibhavi, Atsushi Koshiba, Pramod Bhatotia
Abstract
FPGAs are widely adopted in cloud environments to meet the growing demand for high-performance, energy-efficient computing, thanks to their unique reconfigurability and programmability. However, the state-of-the-art design of FPGA shells is built for monolithic applications, creating a fundamental architectural mismatch with real-world applications that are highly modular and composable. Modern applications consist of diverse, independent tasks that are often instantiated as standalone hardware modules on FPGAs. The current FPGA shell design statically connects these modules to compose an application-specific, monolithic accelerator on a single virtual FPGA (vFPGA), leading to fundamental challenges such as limited flexibility, poor scalability, resource inefficiency, high scheduling overheads, and programmability issues. To bridge this research gap, we introduce μShell, a new hardware-OS co-design that addresses these challenges by applying microkernel principles to FPGA acceleration. μShell treats accelerators as a collection of shareable, composable hardware modules, deploying them into distinct vFPGAs and dynamically linking them with a novel inter-process communication (IPC) mechanism. This approach is further supported by capability-enforced isolation and a component-aware task scheduler. Our implementation of a μShell prototype and its evaluation against a state-of-the-art monolithic shell demonstrate that it effectively deploys real-world applications with improved performance, flexibility, and resource efficiency.
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 de03ad7c-dee0-4d54-b24a-6de899dd8fb7Builds on16
- Do OS abstractions make sense on FPGAs?Dario Korolija, Timothy Roscoe, Gustavo AlonsoOSDI 2020 · 114 citations
- Virtualizing FPGAs in the CloudYue Zha, Jing LiASPLOS 2020 · 92 citations
- A Hypervisor for Shared-Memory FPGA PlatformsJiacheng Ma, Gefei Zuo, Kevin Loughlin, Xiaohe Cheng et al.ASPLOS 2020 · 64 citations
- Optimus Prime: Accelerating Data Transformation in ServersArash Pourhabibi Zarandi, Siddharth Gupta, Hussein Kassir, Mark Sutherland et al.ASPLOS 2020 · 43 citations
- A Hardware Accelerator for Protocol BuffersSagar Karandikar, Chris Leary, Chris Kennelly, Jerry Zhao et al.MICRO 2021 · 42 citations
Related papers
- Harmonia: A Unified Framework for Heterogeneous FPGA Acceleration in the CloudLuyang Li, Heng Pan, Xinchen Wan, Kai Lv et al.ASPLOS 2025 · 3 citations
- PLD: fast FPGA compilation to make reconfigurable acceleration compatible with modern incremental refinement software developmentYuanlong Xiao, Eric Micallef, Andrew Butt, Matthew Hofmann et al.ASPLOS 2022 · 17 citations
- When application-specific ISA meets FPGAs: a multi-layer virtualization framework for heterogeneous cloud FPGAsYue Zha, Jing LiASPLOS 2021 · 24 citations
- 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
- F3: An FPGA-accelerated FaaS FrameworkCharalampos Mainas, Martin Lambeck, Bruno Scheufler, Laurent Bindschaedler et al.HPDC 2025 · 1 citation
