Vidi: Record Replay for Reconfigurable Hardware
Gefei Zuo, Jiacheng Ma, Andrew Quinn, Baris Kasikci
Abstract
Developers are turning to heterogeneous computing devices, such as Field Programmable Gate Arrays (FPGAs), to accelerate data center workloads. FPGAs enable rapid prototyping and should facilitate an agile software-like development workflow to fix correctness bugs, performance issues, and security vulnerabilities. Unfortunately, hardware development still does not have a vast ecosystem of tools needed to support the agile hardware development vision. The capability to record and replay FPGA executions would constitute a key building block that will inspire the development of many tools, similar to what record/replay did for software. However, building a practical record/replay tool for FPGAs is challenging; existing approaches either record too much or too little information and cannot support real-world executions.
In this paper, we present Vidi, the first record/replay system for real-world FPGA applications running on hardware. Vidi is based on the observation that widely-used communication protocols have well-defined input/output transactions to hide cycle-specific information from developers, which enables a more efficient design than heavyweight cycle-accurate record/replay approaches. Vidi proposes (1) the transaction determinism insight to track and enforce only necessary orderings of transaction events across record and replay, and (2) the coarse-grained input recording mechanism to record transaction-level information. We evaluate Vidi on Amazon EC2 F1 instances with 10 applications and two use cases (debugging, testing) and find that it incurs on average low performance slowdown (1.98%) and resource overhead (5.48%), making it practical for real-world deployments.
• Hardware → Reconfigurable logic and FPGAs; • Software and its engineering → Software testing and debugging.
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 b36c272f-1b61-49dc-85b8-df0edbda8d32Cited by top-tier papers3
- Program Environment FuzzingRuijie Meng, Gregory J. Duck, Abhik RoychoudhuryCCS 2024 · 6 citations
- Expeditious High-Concurrency MicroVM SnapStart in Persistent Memory with an Augmented HypervisorXingguo Pang, Yanze Zhang, Liu Liu, Dazhao Cheng et al.USENIX ATC 2024 · 2 citations
- Zoomie: A Software-like Debugging Tool for FPGAsTianrui Wei, Kevin Laeufer, Katie Lim, Jerry Zhao et al.ASPLOS 2024 · 1 citation
Builds on9
- SAVIOR: Towards Bug-Driven Hybrid TestingYaohui Chen, Peng Li, Jun Xu, Shengjian Guo et al.S&P 2020 · 186 citations
- Do OS abstractions make sense on FPGAs?Dario Korolija, Timothy Roscoe, Gustavo AlonsoOSDI 2020 · 114 citations
- Clio: a hardware-software co-designed disaggregated memory systemZhiyuan Guo, Yizhou Shan, Xuhao Luo, Yutong Huang et al.ASPLOS 2022 · 110 citations
- A Hypervisor for Shared-Memory FPGA PlatformsJiacheng Ma, Gefei Zuo, Kevin Loughlin, Xiaohe Cheng et al.ASPLOS 2020 · 64 citations
- Execution reconstruction: harnessing failure reoccurrences for failure reproductionGefei Zuo, Jiacheng Ma, Andrew Quinn, Pramod Bhatotia et al.PLDI 2021 · 23 citations
Related papers
- Debugging in the brave new world of reconfigurable hardwareJiacheng Ma, Gefei Zuo, Kevin Loughlin, Haoyang Zhang et al.ASPLOS 2022 · 16 citations
- KRR: Efficient and Scalable Kernel Record ReplayTianren Zhang, Sishuai Gong, Pedro FonsecaOSDI 2025 · 1 citation
- Proteus: Heterogeneous FPGA VirtualizationFelix Gust, Shu Anzai, Charalampos Mainas, Atsushi Koshiba et al.EuroSys 2026
- HeteroFuzz: fuzz testing to detect platform dependent divergence for heterogeneous applicationsQian Zhang, Jiyuan Wang, Miryung KimFSE 2021 · 16 citations
- Rosebud: Making FPGA-Accelerated Middlebox Development More PleasantMoein Khazraee, Alex Forencich, George C. Papen, Alex C. Snoeren et al.ASPLOS 2023 · 8 citations
