一句话:提出 ViTAL 全栈方案,通过虚拟化 FPGA 资源解耦编译与资源分配,支持细粒度共享与横向扩展加速。
云中 FPGA 虽可提供按需加速,但缺乏资源虚拟化,导致编译与资源分配紧耦合、运行时管理低效,并且横向扩展加速编程复杂。本文提出全栈方案 ViTAL:以同构抽象解耦编译与资源分配,应用离线编译到该抽象,资源在运行时动态分配;借助延迟不敏感通信接口,应用可灵活映射到一个或多个 FPGA,从而提升资源利用率与聚合吞吐,并向用户呈现单个大 FPGA 的假象。ViTAL 还虚拟化片上 DRAM、以太网等外设,并提供保护与隔离以支持多用户云环境。在由 Xilinx UltraScale+ XCVU37P 组成的 FPGA 集群上评估,相比现有管理方法平均降低 82% 响应时间且虚拟化开销轻微;相比 AmorphOS 高吞吐模式降低 25% 响应时间。
Field-Programmable Gate Arrays (FPGAs) have been integrated into the cloud infrastructure to enhance its computing performance by supporting on-demand acceleration. However, system support for FPGAs in the context of the cloud environment is still in its infancy with two major limitations, i.e., the inefficient runtime management due to the tight coupling between compilation and resource allocation, and the high programming complexity when exploiting scale-out acceleration. The root cause is that FPGA resources are not virtualized. In this paper, we propose a full-stack solution, namely ViTAL, to address the aforementioned limitations by virtualizing FPGA resources. Specifically, ViTAL provides a homogeneous abstraction to decouple the compilation and resource allocation. Applications are offline compiled onto the abstraction, while the resource allocation is dynamically determined at runtime. Enabled by a latency-insensitive communication interface, applications can be mapped flexibly onto either one FPGA or multiple FPGAs to maximize the resource utilization and the aggregated system throughput. Meanwhile, ViTAL creates an illusion of a single and large FPGA to users, thereby reducing the programming complexity and supporting scale-out acceleration. Moreover, ViTAL also provides virtualization support for peripheral components (e.g., on-board DRAM and Ethernet), as well as protection and isolation support to ensure a secure execution in the multi-user cloud environment. We evaluate ViTAL on a real system - an FPGA cluster composed of the latest Xilinx UltraScale+ FPGAs (XCVU37P). The results show that, compared with the existing management method, ViTAL enables fine-grained resource sharing and reduces the response time by 82% on average (improving Quality-of-Service) with a marginal virtualization overhead. Moreover, ViTAL also reduces the response time by 25% compared to AmorphOS (operating in high-throughput mode), a recently proposed FPGA virtualization method.
DOI 原文 ·
@inproceedings{paperbot5463,
title = {Virtualizing FPGAs in the Cloud},
author = {Yue Zha and Jing Li},
booktitle = {ASPLOS},
year = {2020},
doi = {10.1145/3373376.3378491}
}