中文

基于编译器的 FPGA 虚拟化:SYNERGY 方法

分布式、并行与集群计算 2021-09-07 v1 硬件体系结构 编程语言

摘要

FPGA 在现代应用中日益普遍,云提供商现已在数据中心支持按需 FPGA 加速。数据中心中的应用运行于虚拟基础设施之上,其中整合、多租户和工作负载迁移实现了对提供商业务至关重要的规模经济。然而,虚拟化 FPGA 的通用策略尚未出现。当制造商致力于基于硬件的方法时,我们提出了一种称为 Synergy 的基于编译器/运行时的方法。我们展示了一种针对 Verilog 程序的编译器变换,其生成的代码能够根据原始程序语义在亚时钟周期粒度上将控制权交给软件。Synergy 利用该特性在现有硬件上高效支持核心虚拟化原语:挂起与恢复、程序迁移以及空间/时间复用。我们使用 Synergy 在 Amazon F1 上的 Altera SoC 与 Xilinx FPGA 集群间虚拟化 FPGA 工作负载。这些工作负载无需修改,运行性能在未被虚拟化性能的 3-4 倍以内,且仅带来 FPGA fabric 利用率的适度增加。

关键词

引用

@article{arxiv.2109.02484,
  title  = {Compiler-Driven FPGA Virtualization with SYNERGY},
  author = {Joshua Landgraf and Tiffany Yang and Will Lin and Christopher J. Rossbach and Eric Schkufza},
  journal= {arXiv preprint arXiv:2109.02484},
  year   = {2021}
}