A Hypervisor for Shared-Memory FPGA Platforms

被引:34
|
作者
Ma, Jiacheng [1 ]
Zuo, Gefei [1 ]
Loughlin, Kevin [1 ]
Cheng, Xiaohe [2 ]
Liu, Yanqiang [3 ]
Eneyew, Abel Mulugeta [4 ]
Qi, Zhengwei [3 ]
Kasikci, Baris [1 ]
机构
[1] Univ Michigan, Ann Arbor, MI 48109 USA
[2] Hong Kong Univ Sci & Technol, Hong Kong, Peoples R China
[3] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
[4] Addis Ababa Inst Technol, Addis Ababa, Ethiopia
关键词
OPTIMUS; FPGA; Virtualization; ACCELERATORS;
D O I
10.1145/3373376.3378482
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:827 / 844
页数:18
相关论文
共 50 条
  • [1] On-the-fly adaptivity for process networks platforms over shared-memory platforms
    Tuveri, Giuseppe
    Meloni, Paolo
    Palumbo, Francesca
    Seu, Giovanni Pietro
    Loi, Igor
    Conti, Francesco
    Raffo, Luigi
    MICROPROCESSORS AND MICROSYSTEMS, 2016, 46 : 240 - 254
  • [2] OPTIMIZING SIMULATION ON SHARED-MEMORY PLATFORMS: THE SMART CITIES CASE
    Ianni, Mauro
    Marotta, Romolo
    Cingolani, Davide
    Pellegrini, Alessandro
    Quaglia, Francesco
    2018 WINTER SIMULATION CONFERENCE (WSC), 2018, : 1969 - 1980
  • [3] Revisiting dynamic DAG scheduling under memory constraints for shared-memory platforms
    Bathie, Gabriel
    Marchal, Loris
    Robert, Yves
    Thibault, Samuel
    2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2020), 2020, : 597 - 606
  • [4] Limiting the memory footprint when dynamically scheduling DAGs on shared-memory platforms
    Marchal, Loris
    Simon, Bertrand
    Vivien, Frederic
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2019, 128 : 30 - 42
  • [5] Exploring Optimizations on Shared-memory Platforms for Parallel Triangle Counting Algorithms
    Tom, Ancy Sarah
    Sundaram, Narayanan
    Ahmed, Nesreen K.
    Smith, Shaden
    Eyerman, Stijn
    Kodiyath, Midhunchandra
    Hur, Ibrahim
    Petrini, Fabrizio
    Karypis, George
    2017 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 2017,
  • [6] Shared-memory synchronization
    Scott, Michael L.
    Synthesis Lectures on Computer Architecture, 2013, 23 : 1 - 220
  • [7] Fast Parallel Graph Triad Census and Triangle Counting on Shared-memory Platforms
    Parimalarangan, Sindhuja
    Slota, George M.
    Madduri, Kamesh
    2017 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2017, : 1500 - 1509
  • [8] MEGATRON: Software-Managed Device TLB for Shared-Memory FPGA Virtualization
    Liu, Yanqiang
    Ma, Jiacheng
    Zhang, Zhengjun
    Li, Linsheng
    Qi, Zhengwei
    Guan, Haibing
    2021 58TH ACM/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2021, : 1213 - 1218
  • [9] The Topology of Shared-Memory Adversaries
    Herlihy, Maurice
    Rajsbaum, Sergio
    PODC 2010: PROCEEDINGS OF THE 2010 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2010, : 105 - 113
  • [10] SHARED-MEMORY AND PC SUPERCOMPUTING
    FRIED, S
    DR DOBBS JOURNAL, 1994, 19 (01): : 18 - &