EPOCH: Enabling Preemption Operation for Context Saving in Heterogeneous FPGA Systems
Arsalan Ali Malik, Emre Karabulut, and Aydin Aysu

TL;DR
EPOCH is a framework that enables seamless preemption and context saving for tasks running on multi-tenant FPGA systems, improving flexibility and efficiency.
Contribution
It introduces the first out-of-the-box solution for preserving and restoring FPGA task states during preemption in cloud environments.
Findings
Achieves context save in 62.2 microseconds on real hardware.
Supports fine-grain context capture of FPGA elements.
Ensures seamless task resumption without restart.
Abstract
FPGAs are increasingly used in multi-tenant cloud environments to offload compute-intensive tasks from the main CPU. The operating system (OS) plays a vital role in identifying tasks suitable for offloading and coordinating between the CPU and FPGA for seamless task execution. The OS leverages preemption to manage CPU efficiently and balance CPU time; however, preempting tasks running on FPGAs without context loss remains challenging. Despite growing reliance on FPGAs, vendors have yet to deliver a solution that fully preserves and restores task context. This paper presents EPOCH, the first out-of-the-box framework to seamlessly preserve the state of tasks running on multi-tenant cloud FPGAs. EPOCH enables interrupting a tenant's execution at any arbitrary clock cycle, capturing its state, and saving this 'state snapshot' in off-chip memory with fine-grain granularity. Subsequently,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Parallel Computing and Optimization Techniques · Real-Time Systems Scheduling
