A Hypervisor for Shared-Memory FPGA Platforms
A Hypervisor for Shared-Memory FPGA Platforms
复制标题
适用于共享内存 FPGA 平台的虚拟机管理程序
DOI:
10.1145/3373376.3378482
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Baris Kasikci
中科院分区:
文献类型:
--
作者:
Jiacheng Ma;Gefei Zuo;Kevin Loughlin;Xiao;Yanqiang Liu;Abel Mulugeta Eneyew;Zhengwei Qi;Baris Kasikci
Cloud providers widely deploy FPGAs as application-specific accelerators for customer use. These providers seek to multiplex their FPGAs among customers via virtualization, thereby reducing running costs. Unfortunately, most virtualization support is confined to FPGAs that expose a restrictive, host-centric programming model in which accelerators cannot issue direct memory accesses (DMAs). The host-centric model incurs high runtime overhead for workloads that exhibit pointer chasing. Thus, FPGAs are beginning to support a shared-memory programming model in which accelerators can issue DMAs. However, virtualization support for shared-memory FPGAs is limited. This paper presents Optimus, the first hypervisor that supports scalable shared-memory FPGA virtualization. Optimus offers both spatial multiplexing and temporal multiplexing to provide efficient and flexible sharing of each accelerator on an FPGA. To share the FPGA-CPU interconnect at a high clock frequency, Optimus implements a multiplexer tree. To isolate each guest's address space, Optimus introduces the technique of page table slicing as a hardware-software co-design. To support preemptive temporal multiplexing, Optimus provides an accelerator preemption interface. We show that Optimus supports eight physical accelerators on a single FPGA and improves the aggregate throughput of twelve real-world benchmarks by 1.98x-7x.
DOI:
10.1145/3297858.3304010
发表时间:
2019
期刊:
Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
作者:
Schkufza, Eric;Wei, Michael;Rossbach, Christopher J.
通讯作者:
Rossbach, Christopher J.